1. 打印99乘法表
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> /*1. 99乘法表===>上三角*/ document.write("<table style='border:none; border-collapse: collapse; border-spacing: 0;' border='1' width='900' height='450'>"); for(var row=1;row<=9;row++){ document.write("<tr>"); for(var cell=1;cell<=9;cell++){ if(cell>=row){ document.write("<td style='border: 1px solid black;'>"+cell+"x"+row+"="+cell*row+"</td>"); }else{ document.write("<td style='border: none;'></td>"); } } document.write("</tr>"); } document.write("</table>"); </script> </html>
2. 打印出:公元元年到2020 年所有的闰年
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> // 打印出:公元元年到2020 年所有的闰年 /* 公元元年=1 * 闰年:1.4的倍数并且不是100的倍数 * 2.400的倍数 * */ for(var year = 1; year <= 2020; year++) { if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { document.write(year); document.write("<br>"); } } </script> </html>
3. 求 1!+2!+3!+....10!
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> // 求 1!+2!+3!+....10! /* 分析:10个数相加【】=>sum=0;for() * 1 * 1*2 * 1*2*3 * 1*2*3*4 * */ /* * //方法1 var sum=0; for(var i=1;i<=10;i++){ //计算阶乘 var jc=1; //计算阶乘的过程 for(var j=1;j<=i;j++){ jc*=j; } sum+=jc; } document.write(sum);*/ //方法2:迭代 var sum = 0; var jc = 1; for (var i = 1; i <= 10; i++) { debugger; jc *= i; sum += jc; } document.write(sum); </script> </html>
4. 求数列1,1,2,3,5,8,13........; 第30位上的值
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> // 4.求数列1,1,2,3,5,8,13........; 第30位上的值 /* 分析: * F1=F2=1; * Fn=F(n-1)+F(n-2);n>2 * F30=F29+F28 * F29=F28+F27; * F28=F27+F26 * ......... * F4=F3+F2=2+1=3 * F3=F2+F1=1+1=2; * */ var Res=0; var Fx=1; var Fy=1; for(var n=3;n<=30;n++){ Res=Fy+Fx; Fx=Fy; Fy=Res; } document.write(Res); </script> </html>
5. 打印三角形和棱形
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> // 打印直角三角形 for(var i=0;i<5;i++){ for(var j=0;j<=i;j++){ document.write("* "); } document.write("<br>"); } document.write("<br>"); document.write("**************************"); document.write("<br>"); for(var i=0;i<5;i++){ for(var j=0;j<5;j++){ if(4-j<=i){ document.write(" *"); } else{ document.write(" "); } } document.write("<br>"); } document.write("<br>"); document.write("**************************"); document.write("<br>"); //等腰三角形及菱形 for(var row=0;row<6;row++){ for(var i=1;i<=11;i++){ if(i==6-row || i==6+row){ document.write(" *"); } else{ document.write(" "); } } document.write("<br>"); } for(var row=4;row>=0;row--){ for(var i=1;i<=11;i++){ if(i==6+row || i==6-row){ document.write(" *"); } else{ document.write(" "); } } document.write("<br>"); } </script> </html>
6. 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> /* X10 =(X9/2)-1 * X9= (X10+1)*2 * X8= (X9+1)*2 * */ var before=0; var td=1; for(var i=10;i>1;i--){ before=(td+1)*2; td=before; } document.write(before); </script> </html>
7. 求出1-100之间所有的质数(质数:只能被1和他本身整除的数)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> //求出1-100之间所有的质数(只能被1和他本身整除的数) for(var i = 2; i < 100; i++) { var flag=true; //求证 for(var k=2;k<(i/2)+1;k++){//例如5 先和2取余不为0,继续和3 4取余还是不为0,跳出循环; if(i%k==0){// 例 如果i为4,就会执行if语句,flag为false,不执行后面的语句 flag=false; break; } } // 判断并输出质数 if(flag) { document.write(i); document.write("<br>"); } } </script> </html>
8. 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n <>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> var n=90; var k=2; document.write(n+"="); while(n!=k){ if(n%k==0){ document.write(k); document.write("*"); n=n/k; } else{ k++; } } document.write(k); </script> </html>
9. 判断是否为完数
一个数如果恰好等于它的因子之和,这个数就称为"完数"。
例如6=1+2+3.编程 找出1000
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> for(var i=1;i<=1000;i++){ var flag=true; //求证 var temp=0; for(var j=1;j<i;j++){ if(i%j==0){ temp+=j; } } // if(i==temp){ // flag=true; // }else{ // flag=false; // } flag=(temp==i); if(flag){ document.write( i+"是完数<br>"); } } </script> </html>
10. 求100到1000的水仙花数
所谓水仙花数是指一个三位数,各位数字的立方和等于该数本身。(如153=1^3+5^3+3^3)。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <script type="text/javascript"> var sum=0; for(var i=100;i<1000;i++){ var a=parseInt(i/100);//取百位数 var b=parseInt(i/10%10);//取十位数 var c=parseInt(i%10);//取个位数 sum=a*a*a+b*b*b+c*c*c; if(sum == i){ document.write(sum); document.write("<br>"); } } </script> </body> </html>