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

नंबर खोजें जिसमें अंक k हो या k से विभाज्य हो C++ में

दिए गए दो धनात्मक पूर्णांक n और k, और हमें nवीं संख्या खोजनी है जिसमें अंक k हो या k से विभाज्य हो। k [2 से 9] की रेंज में होगा। तो यदि n और k क्रमशः 15 और 3 हैं, तो आउटपुट 33 होगा। क्योंकि संख्याएं [3, 6, 9, 12, 13, 15, 18, 21, 23, 24, 27, 30, 31, 33] ये वे संख्याएं हैं जहां प्रत्येक तत्व में अंक k = 3 होता है या k से विभाज्यता होती है और इसमें nवीं संख्या 33 है। तो आउटपुट 33 है।

प्रत्येक संख्या की जांच करें जिसमें k हो और k का गुणक हो, और तब तक गिनें जब तक हमें nवां तत्व न मिल जाए।

उदाहरण

#include <iostream>
using namespace std;

bool hasDigit(int n, int k) {
    while (n > 0) {
        int rem = n % 10;
        if (rem == k)
            return true;
        n = n / 10;
    }
    return false;
}

int countNumbers(int n, int k) {
    for (int i = k + 1, count = 1; count < n; i++) {
        if (hasDigit(i, k) || (i % k == 0))
            count++;
        if (count == n)
            return i;
    }
    return -1;
}

int main() {
    int n = 10, k = 2;
    cout << "Last number is " << countNumbers(n, k) << " before that the number contains " << k << " and multiple of " << k;
}

आउटपुट

Last number is 20 before that the number contains 2 and multiple of 2

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

    मान लें कोई संख्या दी गई है। हमें संख्या के उन अंकों की संख्या गिननी है जो संख्या को समान रूप से विभाजित करते हैं। मान लें संख्या 1012 है, परिणाम 3 है। तीन अंक 1, 1, और 2 हैं जो 1012 को समान रूप से विभाजित करते हैं। इसे हल करने के लिए, हम मापांक ऑपरेशन का उपयोग करके संख्या के प्रत्येक अंक को ज्ञात

  1. - C++ में किसी संख्या में एक अंक की फ्रीक्वेंसी ज्ञात करना

    यहां हम देखेंगे कि किसी संख्या में एक अंक की फ्रीक्वेंसी कैसे प्राप्त करें। मान लीजिए एक संख्या 12452321 है, अंक D=2 है, तो फ्रीक्वेंसी 3 होगी। इस समस्या को हल करने के लिए, हम संख्या से अंतिम अंक लेते हैं, फिर जांचते हैं कि क्या यह d के बराबर है या नहीं, यदि हां तो काउंटर बढ़ाते हैं, फिर संख्या को

  1. - C++ प्रोग्राम: X से विभाज्य सबसे बड़ा K-अंकीय संख्या

    दो पूर्णांक X और K दिए गए हैं। K पूर्णांक संख्या में अंकों की संख्या है। तर्क X से विभाज्य सबसे बड़ी K-अंकीय संख्या ढूंढना है। Input: X = 30, K = 3 Output: 980 व्याख्या 980, 30 से विभाज्य सबसे बड़ी तीन अंकों की संख्या है। K को 10 की घात में लेने के बाद 1 घटाने से हमें सबसे बड़ी K अंकों की संख्या मिल