PHP面试的逻辑题,来看看

bzl2121 2009-08-20 02:24:30

题目大意:
请问同时满足这样条件的数:被10除余9,被9除余8,被8除余7,在100--1000之间,有几个这样的数?
A.不存在 B.1个 C.2个 D.3个

【注:若写程序,其实很简单,就3,5行搞定,但当时是笔试,请大家想个快速的法子整出来。】
...全文
457 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoqian0 2009-09-18
  • 打赏
  • 举报
回复
对高中生来说,这题不难,对我们来说,唉。。。
quege 2009-09-18
  • 打赏
  • 举报
回复
受教了
juyang0303 2009-09-18
  • 打赏
  • 举报
回复
$n=0;
for($m=100;$m <=1000;$m++)
{
if($m%10==9 && $m%9==8 && $m%8==7)
{
$n++
}
}
echo $n." <br/>";
theauto 2009-09-18
  • 打赏
  • 举报
回复
不错的题目
yj_happy 2009-09-18
  • 打赏
  • 举报
回复
学习了
tiancaio 2009-08-21
  • 打赏
  • 举报
回复
lg

libaohui2009 2009-08-21
  • 打赏
  • 举报
回复
逆向思维
codeyell-com 2009-08-20
  • 打赏
  • 举报
回复
10*9*8-1
5*9*8-1
flylee 2009-08-20
  • 打赏
  • 举报
回复
解法很巧妙,受教了
willis_007 2009-08-20
  • 打赏
  • 举报
回复
要是笔试俺这道题,俺也不会,受教了
乐游 之 神话 2009-08-20
  • 打赏
  • 举报
回复
还真是啊!!最小公倍数,学习啦!!
江南昆虫 2009-08-20
  • 打赏
  • 举报
回复
$num=10;
while($num%9>0 || $num%8>0) $num += 10;//最终的$num即为8、9、10的最小公倍数
$n=1;
$m=0;
while($m<1000){
$m = $num*$n-1;
if ($m>100&&$m<1000) echo($m."\n");
$n++;
}
  • 打赏
  • 举报
回复
请问同时满足这样条件的数:被10除余9,被9除余8,被8除余7,在100--1000之间,有几个这样的数?
A.不存在 B.1个 C.2个 D.3个

8,9,10的最小公倍数*n-1
是359
359跟719
一共2个。
江南昆虫 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 bzl2121 的回复:]
题目大意:
    请问同时满足这样条件的数:被10除余9,被9除余8,被8除余7,在100--1000之间,有几个这样的数?
    A.不存在    B.1个    C.2个    D.3个

【注:若写程序,其实很简单,就3,5行搞定,但当时是笔试,请大家想个快速的法子整出来。】
[/Quote]

按题目大意分析,所求的数加1的话能同时被10、9、8整除,也就是所求的数为8、9、10的公倍数减1
10 = 2*5
9 = 3*3
8 = 2*2*2
所以,8、9、10的最小公倍数为5*3*3*2*2*2 = 360
100-1000公倍数只能是360、720,所以所求数只有359、719两个
kaixin110 2009-08-20
  • 打赏
  • 举报
回复
for($m=100;$m <=1000;$m++)
{
if($m%10==9 && $m%9==8 && $m%8==7)
{
echo $m." <br/>";
}
}

结果是
359
719

呵呵

Shenzhen Travel
kaixin110 2009-08-20
  • 打赏
  • 举报
回复
for($m=100;$m<=1000;$m++)
{
if($m%10==9 && $m%9==8 && $m%8==7)
{
echo $m."<br/>";
}
}

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧