关于一道面试题
2007-11-30 10:42
417 查看
有这样一个函数,对于任意整数n,都能返回写出0到n之间出现“1”的个数。例如,f(13)=6。请注意f(1)=1,那么下一个能实现f(n)=n的最大数字是什么?
f(10) = f(1) + 1
f(100) = f(9) * 10 + 100/10 + 1
f(1000) = f(99) * 10 + 1000/10 + 1
f(10000) = f(999) * 10 + 10000/10 + 1
f(100000) = f(9999) * 10 + 100000/10 + 1
f(200000) = f(100000) + f(9999) + 100000/10 = 200000
其中 f(1000 ) = f(999) +1以此类推
f(10) = f(1) + 1
f(100) = f(9) * 10 + 100/10 + 1
f(1000) = f(99) * 10 + 1000/10 + 1
f(10000) = f(999) * 10 + 10000/10 + 1
f(100000) = f(9999) * 10 + 100000/10 + 1
f(200000) = f(100000) + f(9999) + 100000/10 = 200000
其中 f(1000 ) = f(999) +1以此类推
相关文章推荐
- 关于微软的一道面试题
- 关于java子类重写的一道面试题
- 一道华为面试题,关于程序优化的
- 一道关于宏的面试题及解答
- 关于华为一道面试题 ( ++a )和( a++ )
- 一道关于字符串操作的面试题
- 关于华为一道面试题 ( ++a )和( a++ ) .
- 进程控制学习笔记(续)-- 关于fork的一道面试题
- 一道关于图的面试题
- 关于随机数的一道面试题
- 关于一道简单的Java 基础面试题的剖析: short s1=1;s1 = s1 +1会报错吗?
- 一道关于文件的面试题
- 一道关于 SQLServer 交叉查询的 外企面试题
- 关于fork()的一道经典面试题
- 关于java继承的一道经典面试题
- 华为面试题——一道关于指针方面的编程题(C/C++)
- 关于线程锁定的一道面试题
- 关于fork的一道经典面试题
- 回顾JavaSE(5)-String(4)7行代码分析一道关于String拼接的经典面试题
- 关于global和$GLOBALS[]的一道经典面试题