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> |