数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 18128|回复: 15

一道GOOGLE的面视题

[复制链接]
发表于 2006-4-16 20:24:11 | 显示全部楼层 |阅读模式
1:编写一个程序,输入一个 n, 输出从1到这个数字之间的出现的1的个数,比如f(13)等于6; f(9)等于1;<BR> 2:编写一个程序,得出最先使得 f(n)等于n的整数n;
发表于 2006-5-2 01:05:06 | 显示全部楼层
输出从1到这个数字之间的出现的1的个数???什么意思?
发表于 2006-5-5 04:51:09 | 显示全部楼层
好题!
发表于 2006-7-22 08:21:12 | 显示全部楼层
[em01][em01][em01][em01]
发表于 2006-8-12 23:59:31 | 显示全部楼层
<p>不错的题目,至少有人题目有歧义了,哈哈</p>[em01][em01]
发表于 2006-8-17 18:05:00 | 显示全部楼层
[em01][em01][em01][em01]
发表于 2006-9-6 21:50:23 | 显示全部楼层
可以用最直接的搜索,分别计算1到n中1的个数累加就行,第一个问题解决了,第二个也就解决了,下面是用delphi6.0写的程序,<br/>var s:string;<br/>&nbsp;&nbsp;&nbsp; i,j,n,nnum:integer;<br/>begin<br/>&nbsp;&nbsp;&nbsp; nnum:=0;<br/>&nbsp;&nbsp;&nbsp; n:=strtoint(edit1.Text);<br/>&nbsp;&nbsp;&nbsp; for i:=1 to n&nbsp; do<br/>&nbsp;&nbsp;&nbsp; begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s:=inttostr(i);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for j:=1 to i do<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if s[j]='1' then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nnum:=nnum+1;<br/>&nbsp;&nbsp;&nbsp; end;<br/>&nbsp;&nbsp;&nbsp; edit1.Text :=edit1.Text +'&nbsp;&nbsp; '+inttostr(nnum);<br/>end;<br/>
发表于 2006-9-11 00:11:13 | 显示全部楼层
<p>你这个方法虽然对,但是没有考虑速度的优化,当n很大的时候,运行速度会显著下降。</p>
发表于 2006-11-2 00:34:02 | 显示全部楼层
猪们,用递归![em04]
发表于 2006-11-12 07:53:56 | 显示全部楼层
这个题..........
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-26 19:23 , Processed in 0.077926 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表