忙里偷闲娱乐一下 数数字(二) 24小时后结贴
十进制数11,包含2个1。12包含1个1。现在请计算1到1万亿(包含1和1万亿)之间的数(十进制)所包含的1的总数。
24小时后结贴,100分只给第一个回答正确的朋友。欢迎打酱油的旁观。
补充说明:好像有人理解有歧义,我指的是1到1万亿的所有整数中一共包含的1的个数,不是之间的某一个数所包含的1的个数。
[ 本帖最后由 beyondyf 于 2012-6-19 22:44 编辑 ]
unsigned long long howmuch_one(unsigned long long target) { if (target<=10) { return 1; } return target/10 + 10*howmuch_one(target/10); } void main() { unsigned long long i = 1000000000000; printf("%lld\n",howmuch_one(i)+1); }