js练习(4)

来源:互联网 发布:js格式化日期字符串 编辑:程序博客网 时间:2024/06/16 00:53
1、(判断完数:所有因子(不包含自身)之和等于自身,如完数28=1+2+4+7+14)
附赠参考代码:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>完数</title> </head> <body> <script> /* *请求用户输入一个数(a):是否是完数。 *判断,设判断因子为b,利用for循环依次进行试练如下; * for(b=1;b<a;b++){ * } *在因子判断这个for循环中加上if判断 * 设置一个c值,来进接收因数的相加结果 * if(a%b==0){ a=a+b;} *在if里再用if进行判断。 * * */ var c=0; var a =Number(prompt("请输入一个数字")); for(var b=0;b<a;b++){ if(a%b==0){ c=c+b; } } if(c==a){ alert("这个数是完数") }else{ alert("这个数不是是完数") } </script>   </body> </html>
2、求数列(1/2,2/3,3/5,5/8,8/13……)前30项的和。
附赠参考代码:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>计算前三十项的和</title> </head> <body> <script> /* * c=执行次数 * a=前一项的分子 * n=前一项的分母 * num * 首先先找出该式子的循环语句即:n/a+n * 注意其中的变量交换, * 结果=result * */ var a = 1; var n = 2; var num1 ; var result = 0; for (var d= 1; d <= 30; d++) { num1 = a / n; result = result + num1; var b = n; n = n + a; a=b; } alert(result);   </script> </body> </html>
3、(验证角谷定理:任意一个自然数,若为偶数则除以2,若为奇数则乘以3加1,得到新的自然数,经过若干次这样演算,
最终结果必然为1。要求显示验证的步骤)
附赠参考代码:
 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>角谷定理</title> </head> <body> <script > /* * 请输入一个数a: * 判断奇偶或者为1, * 奇函数:进入循环: * 条件语句为:a=a*3+1 return a * 偶函数:进入循环: * 条件语句为:a=a/2 return a * 为:1时,跳出,并打印定理判断成功! * */ var a = Number(prompt("请输入您想验证的数字:")); do{ if(a%2==0){ a = a/2; }else if(a%2 > 0){ a = a * 3 + 1; } }while(a!==1); alert("定理判断成功! 打印数字:"+a)   </script> </body> </html>