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

C++ कोड: k अंकों वाली लकी संख्याओं की गणना करें


मान लीजिए हमारे पास n तत्वों की एक सरणी A है, और एक अन्य संख्या x भी है। हम जानते हैं कि लकी संख्याएं वे धनात्मक संख्याएं हैं जिनका दशमलव प्रतिनिधित्व केवल लकी अंक 4 और 7 से होता है। दिए गए n धनात्मक पूर्णांकों से। हमें गिनना है कि उनमें से कितनी में k से अधिक लकी अंक नहीं हैं?

उदाहरण के लिए, यदि इनपुट A = [44, 74, 474, 154]; k = 2 है, तो आउटपुट 3 होगा, क्योंकि तीन लकी संख्याएं 44, 74 और 474 हैं लेकिन 474 में तीन लकी अंक हैं जो k से अधिक हैं। साथ ही 154 में एक लकी अंक है जो स्वीकार्य है।

चरण

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

n := size of A f := 0 for initialize i := 0, when i < n, update (increase i by 1), do:     c := 0     while A[i] is not equal to 0, do:         if A[i] mod 10 is same as 4 or A[i] mod 10 is same as 7, then:             (increase c by 1)         A[i] := A[i] / 10     if c <= k, then:         (increase f by 1) return f

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

#include using namespace std; int solve(vector A, int k){     int n = A.size();     int f = 0;     for (int i = 0; i < n; ++i){         int c = 0;         while (A[i] != 0){             if (A[i] % 10 == 4 || A[i] % 10 == 7)                 c++;             A[i] /= 10;         }         if (c <= k)             f++;     }     return f; } int main(){     vector A = {44, 74, 474, 154};     int k = 2;     cout << solve(A, k) << endl; }

इनपुट

{44, 74, 474, 154}, 2

आउटपुट

3

  1. - C++ में अद्वितीय अंकों वाली संख्याओं की गिनती

    मान लीजिए हमारे पास एक गैर-ऋणात्मक पूर्णांक n है। हमें उन सभी संख्याओं को गिनना है जिनके अंक अद्वितीय हैं x, जहां x रेंज 0 से 10^n में है।उदाहरण के लिए, यदि संख्या n = 2 है, तो परिणाम 91 होगा, क्योंकि हम 0 से 100 तक 11, 22, 33, 44, 55, 66, 77, 88, 99 के बिना संख्याएं ढूंढना चाहते हैं।इसे हल करने के

  1. - C++ में संख्या को केवल 3 और 8 अंकों में बदलना

    इस ट्यूटोरियल में, हम एक संख्या को केवल 3 और 8 अंकों वाले में बदलने के लिए एक प्रोग्राम पर चर्चा करेंगे।इसके लिए हमें एक रैंडम संख्या प्रदान की जाएगी। हमारा कार्य संख्या के अंकों को केवल 3 और 8 में बदलना है या तो संख्या से 1 जोड़/घटाकर या संख्या के अंकों को किसी वांछित अंक में बदलकर।उदाहरण#include &

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

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