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

跳转到:


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