Re: [cpp] 一道据说是Google的面试题
Chen Shuo
giantchen at gmail.com
Mon Sep 18 21:45:14 CST 2006
cnt = 0
for i in range(1, 200000):
str = '%d' % i
cnt += str.count('1')
if cnt == i and i > 1:
print i
On 9/17/06, zuroc <zsp007 at gmail.com> wrote:
> 一道据说是Google的面试题
> 题目:有一个整数n,写一个函数f(n),返回0到n之间出现的"1"的个数。比如f(13)=6
> ; f(11)=4,算出f(n)=n的n(如f(1)=1)?
>
> 我用python写了一份代码,还改写了一份c++代码(见附件)
>
> 但是我遇到了一个小小的问题,就是当C++中pow()的参数为int,int时不能通过gcc
> 编译,而当我改为float,int时当数值非常大(如 1111111110向上)时,又会出现不准
> 确的问题.最后只好自己写了一个mypow.
>
> 想请教一下各位高手,有没有什么可以直接使用标准库的好办法?
>
>
> _______________________________________________
> Cpp mailing list
> Cpp at codingnow.com
> http://codingnow.com/mailman/listinfo/cpp
>
>
>
More information about the Cpp
mailing list