Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा प्रोग्राम: जांचें कि ऐरे के सभी अंकों का उपयोग करके 3 से विभाज्य संख्या बनाना संभव है या नहीं

उदाहरण

import java.io.*; 
import java.util.*; 

public class Demo { 
    public static boolean divisionPossible(int myArr[], int nVal) { 
        int rem = 0; 
        for (int i = 0; i < nVal; i++) 
            rem = (rem + myArr[i]) % 3; 
        return (rem == 0); 
    } 
    
    public static void main(String[] args) { 
        int myArr[] = { 66, 90, 87, 33, 123 }; 
        int nVal = 3; 
        if (divisionPossible(myArr, nVal)) 
            System.out.println("3 से विभाज्य संख्या बनाना संभव है"); 
        else 
            System.out.println("3 से विभाज्य संख्या बनाना संभव नहीं है"); 
    } 
}

आउटपुट

3 से विभाज्य संख्या बनाना संभव है

व्याख्या: Demo क्लास में 'divisionPossible' नामक एक फंक्शन होता है। यह जांचता है कि क्या संख्याओं का उपयोग 3 से विभाज्य संख्या बनाने के लिए किया जा सकता है। मुख्य फंक्शन में, मानों के साथ एक ऐरे और एक 'n' मान परिभाषित किया जाता है। फंक्शन को विशिष्ट आर्गुमेंट्स के साथ कॉल किया जाता है और प्रासंगिक संदेश कंसोल पर प्रदर्शित होगा।

गणितीय सिद्धांत:

एक संख्या 3 से विभाज्य होती है यदि उसके अंकों का योग 3 से विभाज्य होता है।

चूंकि हम अंकों को किसी भी क्रम में पुनर्व्यवस्थित कर सकते हैं, केवल सभी अंकों का योग मायने रखता है।

ऐरे तत्वों के लिए: प्रत्येक तत्व के अंकों का योग लें, फिर कुल योग की जांच करें।

कोड विश्लेषण:

दिया गया कोड ऐरे तत्वों को सीधे जोड़ता है (अंकों को नहीं)। यह तभी काम करता है जब ऐरे तत्व एकल अंक (0-9) हों।

सही सामान्य समाधान:

public static boolean canFormDivisibleBy3(int[] arr) {
    int sum = 0;
    for (int num : arr) {
        // प्रत्येक संख्या के अंकों का योग जोड़ें
        while (num > 0) {
            sum += num % 10;
            num /= 10;
        }
    }
    return sum % 3 == 0;
}

// या स्ट्रीम के साथ:
public static boolean canFormDivisibleBy3Stream(int[] arr) {
    return Arrays.stream(arr)
        .flatMapToObj(String::valueOf)
        .flatMapToInt(CharSequence::chars)
        .map(c -> c - '0')
        .sum() % 3 == 0;
}

उदाहरण ट्रेस:

ऐरे: [66, 90, 87, 33, 123]
अंक: 6,6, 9,0, 8,7, 3,3, 1,2,3
योग = 6+6+9+0+8+7+3+3+1+2+3 = 48
48 % 3 = 0 → संभव ✓

विस्तार: किसी भी विभाजक k के लिए:

public static boolean canFormDivisibleByK(int[] arr, int k) {
    int sum = 0;
    for (int num : arr) {
        while (num > 0) {
            sum = (sum + num % 10) % k;  // मॉड्यूलो जल्दी लें
            num /= 10;
        }
    }
    return sum == 0;
}
  1. - जावा रेगुलर एक्सप्रेशन का उपयोग करके वैध मोबाइल नंबर जांचने का प्रोग्राम

    आप निम्नलिखित रेगुलर एक्सप्रेशन का उपयोग करके एक वैध मोबाइल नंबर से मिलान कर सकते हैं: \\d{10} एक वैध मोबाइल नंबर में आमतौर पर 10 अंक होते हैं (भारत में)। मेटाकैरेक्टर \d 0 से 9 तक के अंकों से मिलान करता है। क्वांटिफायर ex{n} ex को n बार दोहराने का सुझाव देता है। उदाहरण 1 import java.util.Scanner

  1. पायथन प्रोग्राम: जांचें कि क्या ऐरे में सभी डिजिट्स का उपयोग करके 3 से विभाज्य संख्या बनाना संभव है पायथन प्रोग्राम: जांचें कि क्या ऐरे में सभी डिजिट्स का उपयोग करके 3 से विभाज्य संख्या बनाना संभव है

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इंटीजर्स के ऐरे इनपुट दिए जाने पर, हमें यह ढूंढना होगा कि क्या इन नंबर्स में उपलब्ध सभी डिजिट्स का उपयोग करके एक इंटीजर बनाना संभव है जो 3 से विभाज्य हो। यहां हम एक फंक्शन जनरेट करेंग

  1. - पायथन प्रोग्राम: जांचें कि क्या किसी संख्या के सभी अंक उसे विभाजित करते हैं

    इस लेख में, हम दी गई समस्या के समाधान और दृष्टिकोण के बारे में जानेंगे।समस्या कथन - एक संख्या n दी गई है, जांचें कि क्या n के सभी अंक उसे विभाजित करते हैं या नहीं।यहां हम जांचेंगे कि दी गई संख्या में कोई 0 तो नहीं है क्योंकि इससे शून्य से विभाजन अपवाद उत्पन्न होगा और इसलिए हमें उत्तर में नहीं वापस क