一道GOOGLE的面视题
1:编写一个程序,输入一个 n, 输出从1到这个数字之间的出现的1的个数,比如f(13)等于6; f(9)等于1;2:编写一个程序,得出最先使得 f(n)等于n的整数n; int f(int n)
{
int exp = 1;
int count = 0;
int a = n;
while (n > 0)
{
int ai = n % 10;
count += a / (exp * 10) * exp;
if (ai > 1) count += exp;
else if (ai == 1) count += a % exp + 1;
n /= 10;
exp *= 10;
}
return count;
} 第二问没理解,其中的f(n)是指第一题中的f(n)么?
如果是,那么直接return 1; 好了
页:
[1]