这个php的for循环语句为什么不能输出?

for($i=100;$i<=999;$i++){$a=$i/100;$b=($i/10)%10;$c=$i%10;if(($a*$a*$a)+($b*$b*$b)+($... for($i=100;$i<=999;$i++)
{
$a=$i/100;
$b=($i/10)%10;
$c=$i%10;
if(($a*$a*$a)+($b*$b*$b)+($c*$c*$c)==$i)
echo $i;
}
展开
 我来答
雨林雨林9876
2012-06-01 · TA获得超过157个赞
知道小有建树答主
回答量:148
采纳率:0%
帮助的人:163万
展开全部
按照你的算法, if(($a*$a*$a)+($b*$b*$b)+($c*$c*$c)==$i)没有匹配的,当然就没有输出了
for($i=100;$i<=999;$i++)
{
$a=$i/100;
$b=($i/10)%10;
$c=$i%10;
if(($a*$a*$a)+($b*$b*$b)+($c*$c*$c)==$i)
{
echo $i;
}else{
echo ($a*$a*$a)+($b*$b*$b)+($c*$c*$c);

}
}
这样你就可以知道每次的结果了
追问
但是100-999中间肯定有匹配的啊,我就是输出匹配的
追答
我试过了,没有匹配的,如果你的$i不是100的整数倍,那你的$a=$i/100;就是带小数的,$a*$a*$a更是有好几位小数,$b=($i/10)%10;是十位上得数字,是整数, $c=$i%10;是个位上得数字是整数。所以($a*$a*$a)+($b*$b*$b)+($c*$c*$c)都是带小数的,而$i是整数,怎么可能匹配呢???
ftjlxh
2012-06-01
知道答主
回答量:3
采纳率:0%
帮助的人:3.1万
展开全部
for($i=100;$i<=999;$i++)
{

$a=floor($i/100);

$b=($i/10)%10;

$c=$i%10;

if(($a*$a*$a)+($b*$b*$b)+($c*$c*$c)==$i)

echo $i." ";

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
seavan
2012-06-01 · TA获得超过525个赞
知道小有建树答主
回答量:269
采纳率:100%
帮助的人:105万
展开全部
一看就知道$a=$i/100;要取倍数对吧,这个取不来吧,有小数。。取整才行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式