——来自爱编程的小5
互相学习,尽所能答疑解惑,1563392709@qq.com
<!--
源码来自原创:【武美网站】
非常感谢您的支持,希望通过这些基础知识能够让您得到提升和收获
功能点:查找关键词
时间:2019-03-31
注:互相学习,尽所能答疑解惑,QQ[1563392709]
-->
<!DOCTYPE html>
<html>
<head>
<title>前端 - 寻找完美数 - 真因子 - 软考 - 程序员 - 简单编程算法计算</title>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
<!--<script src="jquery-1.11.0.js"></script>-->
<style type="text/css">
</style>
</head>
<body>
<div>
【说明】
</div>
<div>
如果一个自然数N恰好等于它所有不同的真因子(即N的约数以及1,但不包括N)之和S,则称该数为“完美数”。
</div>
<div>
例如6=1+2+3,28=1+2+4+7+14,所以6和28都是完美数。显然,6是第1个(即最小的)完美数。
</div>
<div>
求500以内所有的完美数
</div>
<div>
输入整数<input id="txt" /><input id="Calculation" type="button" value="计算" />
</div>
<div id="info">
</div>
</body>
</html>
<script type="text/javascript">
//如果一个自然数N恰好等于它所有不同的真因子(即N的约数以及1,但不包括N)之和S,则称该数为“完美数”
//自然数N
//自然数N的约数以及1
//不同真因子之和S
$("#Calculation").click(function () {
var IsRealNum = false;
var S = 0;
$("#info").html("");
for (var N = 6; N <= ($("#txt").val() != "" ? parseInt($("#txt").val()) : 500); N++) {
S = 0;
S += 1; //1的本身直接相加,第二层循环,就是直接从2开始
for (var K = 2; K <= N / 2; K++) {
if (N % K == 0) { //6%2=0(4) 6%3=0(2) 6%4=2(1)
S += K;
IsRealNum = true;
}
}
if (N == S && IsRealNum) {
$("#info").append("<div>" + "完美自然数:" + N + "</div>");
for (var i = 1; i <= N / 2; i++) {
if (N % i == 0) { //6%2=0(4) 6%3=0(2) 6%4=2(1)
$("#info").append("<div>" + N + "完美自然数的真因子:" + i + "</div>");
}
}
}
}
});
//(1)K=2
//(2)N % K
//(3)S+=K
//(4)
</script>
【一句话一感想一心情】版本更新,增加测颜值推荐图文,来体验下句子的魅力