इस कार्यक्रम में, आप कोटलिन में लूप के लिए और प्रयोग करते समय एक संख्या का तथ्यात्मक पता लगाना सीखेंगे। आप इस समस्या को हल करने के लिए श्रेणियों का उपयोग करना भी सीखेंगे।
एक सकारात्मक संख्या n का भाज्य इस प्रकार है:
n (n!) = 1 * 2 * 3 * 4 *… * n
उदाहरण 1: लूप के लिए किसी संख्या का गुणनखंड ज्ञात कीजिए
fun main(args: Array) ( val num = 10 var factorial: Long = 1 for (i in 1… num) ( // factorial = factorial * i; factorial *= i.toLong() ) println("Factorial of $num = $factorial") )
जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:
10 = 3628800 का गुणनखंड
इस कार्यक्रम में, हमने 1 और दी गई संख्या संख्या (10) के बीच सभी संख्याओं के माध्यम से लूप के लिए लूप का उपयोग किया है, और प्रत्येक संख्या के उत्पाद को चर चर में संग्रहीत किया जाता है।
जावा के विपरीत, कोटलिन में, आप 1… num
1 से अंकों के बीच की संख्याओं के माध्यम से लूप ( ) और ऑपरेटर में लूप का उपयोग कर सकते हैं ।
इसके अलावा, हमने फैक्टरियल के बड़े परिणामों को संग्रहीत करने के लिए इंट के बजाय लंबे समय का उपयोग किया है।
हालांकि, यह अभी भी बड़ी संख्या के मान को संग्रहीत करने के लिए पर्याप्त नहीं है (100 का कहना है)। उन परिणामों के लिए जिन्हें एक लंबे चर में संग्रहीत नहीं किया जा सकता है, हम पुस्तकालय BigInteger
में घोषित चर का उपयोग करते हैं java.math
।
यहाँ एक बराबर जावा कोड है: जावा प्रोग्राम एक संख्या का गुणनखंड ज्ञात करने के लिए।
उदाहरण 2: BigInteger का उपयोग करके किसी संख्या का गुणनखंड ज्ञात कीजिए
import java.math.BigInteger fun main(args: Array) ( val num = 30 var factorial = BigInteger.ONE for (i in 1… num) ( // factorial = factorial * i; factorial = factorial.multiply(BigInteger.valueOf(num.toLong())) ) println("Factorial of $num = $factorial") )
जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:
30 = 205891132094649000000000000000000000000000000 का गुणनखंड
यहाँ, इसके बजाय long
, हम BigInteger
परिवर्तनशील भाज्य का उपयोग करते हैं।
चूंकि, *
इसका BigInteger
उपयोग multiply()
उत्पाद के लिए नहीं किया जा सकता है । इसके अलावा, BigInteger
गुणन के लिए अंकों को डाला जाना चाहिए ।
इसी तरह, हम इस समस्या को हल करने के लिए थोड़ी देर के लूप का भी उपयोग कर सकते हैं।
उदाहरण 3: लूप का उपयोग करके संख्या का गुणनखंड ज्ञात कीजिए
fun main(args: Array) ( val num = 5 var i = 1 var factorial: Long = 1 while (i <= num) ( factorial *= i.toLong() i++ ) println("Factorial of $num = $factorial") )
जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:
5 = 120 का गुणनखंड
उपरोक्त कार्यक्रम में, लूप के विपरीत, हमें लूप के शरीर के अंदर i का मान बढ़ाना होगा।
यद्यपि दोनों कार्यक्रम तकनीकी रूप से सही हैं, इस मामले में लूप के लिए उपयोग करना बेहतर है। ऐसा इसलिए है क्योंकि पुनरावृत्ति (संख्या तक) ज्ञात है।
पुनरावृत्ति का उपयोग करके किसी संख्या का तथ्यात्मक पता लगाने के लिए इस पृष्ठ पर जाएं।