使用PHP,求解1000以内的所有完数

使用PHP,求解1000以内的所有完数

一个数如果恰好等于它的因子之和,这个数就称为"完数"。编程 找出1000以内的所有完数。

话不多说直接上干货
<?php
//首先我们要了解什么是因子数
//因子数是一个数的所有因数如6的因数有1,2,3,6
//完数是出去本身之外的所有因数的和 6 = 1+2+3
//第一步:先定义一个变量来做累加
$count = 0;
//使用一个变量来计算完数的总个数
$sum = 0;
//第二步:使用循环语句来找出数
for($x = 1;$x < 1000;$x++){
	//外层走一圈,内层走外层循环次数
	for($y = 1;$y < $x;$y++){
		//使用if判断来找出是否被整除
		if($x%$y == 0){
		//如果整除则将$y累加存进$count中
		$count+=$y;
		}
	}
	//在外层循环中判断$count是否和$x相等
	if($count == $x){
		$sum++;
		//如果相同就输出$x
		echo $x.'<hr />';
	}
	//最后一步,也是最重要的一步,一定要将$count清零
	//不清零则会一直累加,得不到你想要的值
	echo $count = 0;
}
echo '总共有完数:'.$S.'个';
?>

//结果展示
在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值