这个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;
} 展开
{
$a=$i/100;
$b=($i/10)%10;
$c=$i%10;
if(($a*$a*$a)+($b*$b*$b)+($c*$c*$c)==$i)
echo $i;
} 展开
3个回答
展开全部
按照你的算法, 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);
}
}
这样你就可以知道每次的结果了
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是整数,怎么可能匹配呢???
展开全部
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." ";
}
{
$a=floor($i/100);
$b=($i/10)%10;
$c=$i%10;
if(($a*$a*$a)+($b*$b*$b)+($c*$c*$c)==$i)
echo $i." ";
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一看就知道$a=$i/100;要取倍数对吧,这个取不来吧,有小数。。取整才行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询