इस कार्यक्रम में, आप जावा में लूप के लिए उपयोग करते समय एक संख्या का तथ्यात्मक पता लगाना सीखेंगे।
इस उदाहरण को समझने के लिए, आपको निम्नलिखित जावा प्रोग्रामिंग विषयों का ज्ञान होना चाहिए:
- लूप के लिए जावा
- जावा जबकि और करते हैं … जबकि लूप
एक सकारात्मक संख्या n का भाज्य इस प्रकार है:
n (n!) = 1 * 2 * 3 * 4 *… * n
उदाहरण 1: लूप के लिए किसी संख्या का गुणनखंड ज्ञात कीजिए
public class Factorial ( public static void main(String() args) ( int num = 10; long factorial = 1; for(int i = 1; i <= num; ++i) ( // factorial = factorial * i; factorial *= i; ) System.out.printf("Factorial of %d = %d", num, factorial); ) )
आउटपुट
10 = 3628800 का गुणनखंड
इस कार्यक्रम में, हमने 1 और दी गई संख्या संख्या (10) के बीच सभी संख्याओं के माध्यम से लूप के लिए लूप का उपयोग किया है, और प्रत्येक संख्या के उत्पाद को चर चर में संग्रहीत किया जाता है।
हमने फैक्टरियल के बड़े परिणामों को संग्रहीत करने के लिए इंट के बजाय लंबे समय का उपयोग किया है। हालांकि, यह अभी भी बड़ी संख्या के मान को संग्रहीत करने के लिए पर्याप्त नहीं है (100 का कहना है)।
उन परिणामों के लिए जिन्हें एक लंबे चर में संग्रहीत नहीं किया जा सकता है, हम पुस्तकालय BigInteger
में घोषित चर का उपयोग करते हैं java.math
।
उदाहरण 2: BigInteger का उपयोग करके किसी संख्या का गुणनखंड ज्ञात कीजिए
import java.math.BigInteger; public class Factorial ( public static void main(String() args) ( int num = 30; BigInteger factorial = BigInteger.ONE; for(int i = 1; i <= num; ++i) ( // factorial = factorial * i; factorial = factorial.multiply(BigInteger.valueOf(i)); ) System.out.printf("Factorial of %d = %d", num, factorial); ) )
आउटपुट
30 = 265252859812191058636308480000000 का गुणनखंड
यहाँ, इसके बजाय long
, हम BigInteger
परिवर्तनशील भाज्य का उपयोग करते हैं।
चूंकि, *
इसका BigInteger
उपयोग multiply()
उत्पाद के लिए नहीं किया जा सकता है । इसके अलावा, BigInteger
गुणन के लिए अंकों को डाला जाना चाहिए ।
इसी तरह, हम इस समस्या को हल करने के लिए थोड़ी देर के लूप का भी उपयोग कर सकते हैं।
उदाहरण 3: लूप का उपयोग करके संख्या का गुणनखंड ज्ञात कीजिए
public class Factorial ( public static void main(String() args) ( int num = 5, i = 1; long factorial = 1; while(i <= num) ( factorial *= i; i++; ) System.out.printf("Factorial of %d = %d", num, factorial); ) )
आउटपुट
5 = 120 का गुणनखंड
उपरोक्त कार्यक्रम में, लूप के विपरीत, हमें लूप के शरीर के अंदर i का मान बढ़ाना होगा।
यद्यपि दोनों कार्यक्रम तकनीकी रूप से सही हैं, इस मामले में लूप के लिए उपयोग करना बेहतर है। ऐसा इसलिए है क्योंकि पुनरावृत्ति (संख्या तक) ज्ञात है।
पुनरावृत्ति का उपयोग करके किसी संख्या का तथ्यात्मक पता लगाने के लिए इस पृष्ठ पर जाएं।