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

C++ में अंक एक की संख्या


मान लीजिए कि हमारे पास एक संख्या n है, हमें n से कम या उसके बराबर सभी गैर-ऋणात्मक संख्याओं में प्रदर्शित होने वाले अंक 1 की कुल संख्या गिननी है। इसलिए यदि इनपुट 15 है, तो आउटपुट 8 होगा, क्योंकि 1 वाली संख्या [1,10,11,12,13,14,15] है, 8 1s हैं।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • रिट:=0

  • प्रारंभ करने के लिए i:=1, जब i <=n, i =i * 10 do -

    • a:=n / i, b:=n mod i, x:=a mod 10

    • अगर x 1 के समान है, तो,

      • रिट =रिट + (ए / 10) * आई + (बी + 1)

    • अन्यथा जब x, 0 के समान हो, तब -

      • रिट =रिट + (ए / 10) * मैं

    • अन्यथा

      • रिट =रिट + (ए / 10 + 1) * आई

  • वापसी रिट

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   int countDigitOne(int n) {
      int ret = 0;
      for(long long int i = 1; i <= n; i*= (long long int)10){
         int a = n / i;
         int b = n % i;
         int x = a % 10;
         if(x ==1){
            ret += (a / 10) * i + (b + 1);
         }
         else if(x == 0){
            ret += (a / 10) * i;
         } else {
            ret += (a / 10 + 1) *i;
         }
      }
      return ret;
   }
};
main(){
   Solution ob;
   cout << (ob.countDigitOne(15));
}

इनपुट

15

आउटपुट

8

  1. C++ में मितव्ययी संख्या

    इस समस्या में, हमें एक धनात्मक पूर्णांक N दिया जाता है। हमारा कार्य यह जाँचने के लिए एक प्रोग्राम बनाना है कि दी गई संख्या मितव्ययी संख्या है या नहीं। मितव्ययी संख्या - एक संख्या जिसके अंकों की संख्या दी गई संख्या के अभाज्य गुणनखंड में अंकों की संख्या से अधिक है। उदाहरण − 625, संख्या 625 का अभाज्

  1. सी++ पेंटाटोप नंबर

    पास्कल के त्रिभुज में एक पंचकोण संख्या को पाँचवीं संख्या के रूप में वर्णित किया गया है। अब, जैसा कि आप जानते हैं, यह पांचवीं संख्या है, तो इसका मतलब है कि हमारे पास पास्कल के त्रिकोण में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है। पास्कल त्रिभुज की

  1. C++ में एक पूर्णांक का पूरक खोजें

    इस भाग में, हम देखेंगे कि किसी पूर्णांक का 1 पूर्ण कैसे ज्ञात किया जाता है। हम इस कार्य को बहुत तेजी से करने के लिए पूरक ऑपरेटर का उपयोग कर सकते हैं, लेकिन यह 32 बिट पूरक मूल्य (4-बाईप पूर्णांक) बना देगा। यहाँ हम n बिट संख्याओं का पूरक चाहते हैं। मान लीजिए कि हमारे पास एक संख्या 22 है। बाइनरी समकक्