12
5
同 点击打开链接
AC码:
#include<stdio.h> int fun(int n) { if(n<1) return 0; int sum=0,t=n,p=1; while(n>0) { if(n%10==0) sum+=n/10*p; else if(n%10==1) { if(n==t) sum+=n/10*p+1; else { sum+=n/10*p+t%p+1; } } else sum+=(n/10+1)*p; n/=10; p*=10; } return sum; } int main() { int n; while(~scanf("%d",&n)) { printf("%d\n",fun(n)); } return 0; }
NYOJ 648 数字1的数量,码迷,mamicode.com
原文地址:http://blog.csdn.net/u012804490/article/details/24778561