任務描述
給定一個十進制正整數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;
}