google的一道面试题!(附我的解法)

原创 2006年05月23日 19:10:00

  Consider a function which, for a given whole number n, returns the number of ones required when writing out all numbers between 0 and n.

  For example, f(13)=6. Notice that f(1)=1. What is the next largest n such that f(n)=n?

  翻译过来大体是这样:
  有一个整数n,写一个函数f(n),返回0到n之间出现的"1"的个数。比如f(13)=6,现在f(1)=1,问下一个最大的f(n)=n的n是什么?

我是用C写的,原题要求用java,其实无所谓了,欢迎大家指点:

#include <cstdio>
#include <iostream>

using namespace std;

int F(int num)
{
 int total = 0;
 int one = 1;
 int k = 0;
 for(;num/one!=0; one=one*10, k++);

  int A = 0;
 int B = 0;
 int C = 0;
 int D = 0;
 int E = 0;

 int two = one/10;

 for(; k>0; k--)
 {
     A = num/one;
    B = num%two;
    C = num/two;

    E = C - D*10;
    D = C;

     if (E > 1)
    {
     total += A*two + two;
    }
    else if (E == 1)
    {
     total += A*two + B + 1;
    }
    else if (E == 0)
    {
     total += A*two;
    }

   one = one/10;
    two = two/10;
 }

 return total;

}

int main()
{
   int num;
   while(true)
   {
 
   cout << "Enter: ";
   cin >> num;

   cout << "The total is :" << F(num) << endl ;

  } 

   return 0;
}

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

【算法】一道有趣的GOOGLE面试题 --【解法2】

int Repeat(int *a, int n) { for(int i = 0; i 0) //判断条件 { if(a[ a[i] ] < 0) { return a[...

【白话经典算法系列之十一】一道有趣的GOOGLE面试题 --【解法2】

微博http://weibo.com/MoreWindows已开通,欢迎关注。本系列文章地址:http://blog.csdn.net/MoreWindows/article/category/859...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

【动态规划】 Google面试题 爬楼梯问题 斐波那契问题的多种解法

Google 曾询问应征者 :有N阶楼梯 ,你每次只能爬1或2 阶 楼梯;能有多少种方法 对这个问题进行分析:  假设N阶楼梯的爬法有A(N)种;由于每次爬1或2阶 因此 A(N)= A(N-1)...

一道面试题:三次称量判断十二个球中一个劣质球的解法

有十二个球,大小形状相同,其中有一个是劣质球,或轻或重无法用感觉判断,现有一无刻度的天平,请用三次称量确定那个劣质球。这个问题应该这样解决了吧。从昨晚到现在一直在想这个问题,现在终于想明白了,应该不会...

一道据说是Google的面试题:25匹马的角逐

一道据说是Google的面试题:25匹马的角逐

一道Google面试题引发的代码优化战

【前情提要】 在第一篇技术博里,以”交换两个给定变量的值”为例,Coder谈到了代码的优化问题。今天我们以一道Google面试题为例,继续谈优化。这道题做得好,今夜我们都是Google-ese.【T...

一道面试题:140个google面试题

FROM:酷壳 来源:http://blog.seattleinterviewcoach.com/2009/02/140-google-interview-questions.html(墙) ...

经典面试题(三)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯

1.判断单链表是否有环,要求空间尽量少(2011年MTK) 如何找出环的连接点在哪里? 如何知道环的长度?   很经典的题目。 1.判断是否有环。使用两个指针。一个每次前进1,另一个每次前进...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)