Google面试题 (转载)
#15
有这样一个函数,对于任意整数n,都能返回写出0到n之间出现“1”的个数。例如,f(13)=6。请注意f(1)=1,那么下一个能实现f(n)=n的最大数字是什么?

代码:
/*****************************************/ /* Result: */ /* f(199981)=199981 */ /*****************************************/ #include <stdio.h> #include <conio.h> void main() { int n = 2; int num = 1; int num_tmp,one; bool founded = false; while(!founded){ one=0; num_tmp=n; while(num_tmp > 0){ if(num_tmp % 10 == 1) one++; num_tmp = num_tmp / 10; } num = num + one; if(num == n) break; else n++; } printf("f(%d)=%d",n,n); getchar(); }
请小心你的思想,它会影响你的行为,

请小心你的行为,它会影响你的习惯,

请小心你的习惯,它会影响你的性格,

请小心你的性格,它会影响你的命运。
回复


主题内容
Google面试题 (转载) - 由 Metmet - 2005-11-10 22:00
[无标题] - 由 叱咤风云№ - 2005-11-12 15:15
[无标题] - 由 羽扇纶巾 - 2005-11-12 19:26
[无标题] - 由 叱咤风云№ - 2005-11-18 21:28
[无标题] - 由 羽扇纶巾 - 2005-11-19 14:11
[无标题] - 由 酒旗风 - 2005-11-19 23:48
[无标题] - 由 羽扇纶巾 - 2005-11-20 12:08
[无标题] - 由 Metmet - 2005-11-20 21:09
[无标题] - 由 Metmet - 2005-11-20 21:50
[无标题] - 由 milan817 - 2005-11-20 22:25
[无标题] - 由 大花狗上树 - 2005-11-21 00:55
[无标题] - 由 大花狗上树 - 2005-11-21 01:46
[无标题] - 由 大花狗上树 - 2005-11-21 13:26
[无标题] - 由 大花狗上树 - 2005-11-21 17:18
[无标题] - 由 大花狗上树 - 2005-11-21 23:58
[无标题] - 由 酒旗风 - 2005-11-23 08:29
[无标题] - 由 羽扇纶巾 - 2005-11-25 20:30
[无标题] - 由 那时花开 - 2006-2-2 22:19
[无标题] - 由 leiyuss - 2006-2-2 22:38

跳转到:


正在阅读该主题的用户: 1位游客
您的访问已通过Cloudflare保护,访问自美国/loc=US。