1. 程式人生 > >基礎練習:1095:數1的個數

基礎練習:1095:數1的個數

1095:數1的個數
【題目描述】
給定一個十進位制正整數n(1≤n≤10000),寫下從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,i,m=1,j;
    cin>>n;
    for(i=2;i<=n;i++)                 //從2開始列舉
	{
	   for(j=i;j>0;j/=10)             //對每一位進行檢索,直到餘數<=0
	   if(j%10==1)     m++;           /每次檢索後/若個位為1,m+1
	   }
	cout<<m<<endl;
    return 0;
}