1. 程式人生 > >sdnu1024.糾結的頁碼問題

sdnu1024.糾結的頁碼問題

1024.糾結的頁碼問題
Time Limit: 1000 MS    Memory Limit: 32768 KB
Total Submission(s): 230    Accepted Submission(s): 138
Description
要期末考試了,陶陶在看書複習,看著看著就走神了,他注意到書的每頁都一個頁碼,而且頁碼都是阿拉伯數字,於是他就想知道一個很糾結的問題,就是從1到N頁,阿拉伯數字1一共出現多少次。
Input
輸入只有一行一個整數N(1<=N<=50000)
Output
輸入阿拉伯數字1出現的次數
Sample Input
30
Sample Output
13
Source
SDNU ACM-ICPC 2011複賽(2010級)

#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cmath>

#include<iomanip>
#include<cstring>
using namespace std;
int main()
{
    int s=0,n,i,j;
    cin >> n;
    for(i=0; i<=n; i++){
        if(i<10){
            if(i==0)    s++;
        }
        else
{ j=i; while(j!=0){ if(j%10==1) s++; j=j/10; } } } printf("%d\n", s); return 0; }