代码拉取完成,页面将自动刷新
<?php
/**
* 水仙花数问题:水仙花数指三位数中,每个数字的立方和和自身相等的数字,例如370,3 × 3 × 3 + 7 × 7 × 7 + 0 × 0 × 0 =370,请输出所有的水仙花数
*
* 分析:该问题中体现了一个基本的算法——数字拆分,需要把一个数中每位的数字拆分出来,然后才可以实现该逻辑。
*
* 实现思路:循环所有的三位数,拆分出三位数字的个位、十位和百位数字,判断3个数字的立方和是否等于自身
*
* 在该代码中,拆分个位数字使用i和10取余即可,拆分十位数字时首先用i除以十,去掉个位数字,并使原来的十位数字变成个位,然后和10取余即可,因为i是一个三位数,所以i除以100即可得百位数字,因为这里都是整数除法,不存在小数的问题。然后只需要判断立方和是否等于自身即可。
*
* 注意:因为i是循环变量,这里不能改变i的值,不然可能造成死循环
*/
for ($i = 100; $i < 1000; $i++) {
// 个位数字
$a = $i % 10;
// 十位数字
$b = intval(floor($i / 10)) % 10;
// 百位数字
$c = intval(floor($i / 100));
if ($a * $a * $a + $b * $b * $b + $c * $c * $c === $i) {
echo $i . PHP_EOL;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。