天天看點

數1的個數—寫下從1到n的所有整數,然後數一下其中出現的數字“1”的個數

任務描述

給定一個十進制正整數n,寫下從1到n的所有整數,然後數一下其中出現的數字“1”的個數。 例如當n=2時,寫下1,2。這樣隻出現了1個“1”;當n=12時,寫下1,2,3,4,5,6,7,8,9,10,11,12。這樣出現了5個“1”。

輸入格式:

正整數n。1 <= n <= 10000。

輸出格式:

一個正整數,即“1”的個數。

輸入樣例:

12
           

輸出樣例:

5
           

代碼 :

#include<iostream>
using namespace std;
int main() {
	int n;
	cin>>n;
	int num=0;    //記1的個數
	for(int i=1;i<=n;i++){
		if(i<9){    //個位數中隻有數字1滿足條件
            if(i==1)
			    num++;
        }
		else         
		{
            int j=i;
			while(j>0){
				if(j%10==1)    //多位數中每一位都要判斷是否是1
					num++;
				j/=10;
			}
		}
        
	}
	cout<<num;
	return 0;
}
           

繼續閱讀