图形题
1、左直角三角形
for (var i = 0; i < 5; i++) {
for (var j = 0; j <= i; j++) {
document.write("* ");
}
document.write("<br/>");
}
结果为:
2、右直角三角形
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/>");
}
结果为:
3、等腰三角形
for (var row = 0; row < 6; row++) {
for (var j = 0; j <= 11; j++) {
if(j>=6-row&&j<=6+row){
document.write(" *");
}
else{
document.write(" ");
}
}
document.write("<br/>");
}
结果为:
4、菱形
for (var row = 0; row < 6; row++) {
for (var j = 0; j <= 11; j++) {
if(j>=6-row&&j<=6+row){
document.write(" *");
}
else{
document.write(" ");
}
}
document.write("<br/>");
}
for (var row = 4; row >=0; row--) {
for (var j = 0; j <= 11; j++) {
if(j>=6-row&&j<=6+row){
document.write(" *");
}
else{
document.write(" ");
}
}
document.write("<br/>");
}
结果为:
5、空心菱形
for (var row = 0; row < 6; row++) {
for (var j = 0; j <= 11; j++) {
if(j==6-row||j==6+row){
document.write(" *");
}
else{
document.write(" ");
}
}
document.write("<br/>");
}
for (var row = 4; row >=0; row--) {
for (var j = 0; j <= 11; j++) {
if(j==6-row||j==6+row){
document.write(" *");
}
else{
document.write(" ");
}
}
document.write("<br/>");
}
结果为:
计算题
1、输出1到100偶数的和
var num = 0,i=0;
for (var i =0;i<=100;i++) {
if(i%2==0){
num = num+i;
}
}
结果为:2550
2、倒过来的99乘法口诀
//99乘法口诀倒过来
document.write("<table border='1'>")
for (var i=1;i<10;i++) {
document.write("<tr>");
for (var j=1;j<10;j++) {
if(i>j){
document.write("<td>"+" "+"</td>");
}else{
var num =i*j;
document.write("<td>"+i+"*"+j+"="+num+"</td>");
}
}
document.write("</tr>");
}
document.write("</table>")
结果为:
3、输出1到400年的闰年
闰年定义:
1,能被4整除,但不能被100整除的是普通闰年
2,能被400整除是世纪闰年
for(var i=1;i<=400;i++){
if(i%100 !=0&&i%4==0 || i%400==0){
document.write(i+" ");
}
}
结果为:
4、求阶层1!+2!+3!+…+10!的和
var num = 0;
for (var i=1;i<=10;i++) {
var chengji =1;
for (var j=1;j<=i;j++) {
var chengji =chengji*j;
}
num = num +chengji;
}
document.write(num);
结果为:4037913
5、输出斐波那契数列前30位的值
var arr = new Array();
for (var i=0;i<30;i++) {
if (i==0) {
arr[i] = 1;
} else if(i==1){
arr[i] = 1;
}else {
arr[i]=arr[i-1]+arr[i-2];
}
}
for (var j=0; j<arr.length;j++) {
document.write(arr[j]+" ");
}
结果为:
6、输出1到100的所有质数
质数定义:
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数,又被称为素数。
for (var i=2;i<100;i++) {
//设置一个标记为true
var flag = true;
for (var j=2; j<i;j++) {
//验证是否除了1和本身外能否被其他数整除+
if(i%j==0){
//能整除的话,不是质数并跳出第二个for循环,进入第一个for循环
flag = false;
break;
}
}
//如果只能被1和本身整除,则输出为质数
if(flag){
document.write(i+" ");
}
}
结果为:
7、质因数分解
方法一:
var a =80;
//当循环到i=2,a=5时,继续循环i++,加到i=5,i=n,跳出while循环
document.write(a+"的质因数分解为:");
var i = 2;
while(i!=a){
if(a%i==0){
a=a/i;
document.write(i+",");
}else{
i++
}
}
document.write(a);
方法二:
var a =80;
document.write(a+"的质因数分解为:");
for (var i = 2; i < a;) {
if(a%i==0){
a=a/i;
document.write(i+",");
}else{
i++
}
}
document.write(a);
结果为:
8、输出1000以内的完数
完数定义:
它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”
for(var i = 1; i <= 1000; i++) {
//设置一个标记为true
var flag = true;
//求证
//设置初始和为0
var sum = 0;
for(var j = 1; j < i; j++) {
//验证i是否能整除比自己小的数
if(i % j == 0) {
//如果能整除(既是真因子),把能正因子相加,i除外
sum += j;
}
}
//当和等于i时,flag为真,i是完数
flag = (sum == i);
if(flag) {
document.write(i + "是完数<br/>")
}
}
结果为:
9、验证一个五位数是否是回环数
回环数定义:
第一个数字与这个数字的最后一个数相同,第二个数与倒数第二个数相同… 除了最中间那个数
例如:1234321就是回环数,因为第一位与第七位相同,第二位与第六位相同
var n =prompt("请输入一个五位数:")
if(n / 10000 > 1) {
//万位
var a = parseInt(n / 10000);
var a1 = n % 10000;
//千位
var b = parseInt(a1 / 1000);
var b1 = a1 % 1000;
//百位
var c = parseInt(b1 / 100);
var c1 = b1 % 100;
//十位
var d = parseInt(c1 / 10);
//个位
var e = c1 % 10;
if(a == e && b == d) {
alert(n + "是回环数");
} else {
alert(n + "不是回环数");
}
} else {
alert("输入不规范,请重新输入")
}
例如输入12321,结果为:
10、输出杨辉三角前十行
//杨辉三角
//创建一个二维数组
var arr =new Array(10);
for (var k = 0; k < arr.length; k++) {
arr[k] = new Array();
}
//把杨辉三角装入二维数组中
for (var i = 0; i < 10; i++) {
//设置每一行第一个值都为1
arr[i][0]=1;
document.write(arr[i][0]+" ");
for (var j = 0; j < arr.length; j++) {
//判断是否是每一行最后一项
if(i==j&&i!=0){
//如果是,赋值为1
arr[i][j]=1;
document.write(arr[i][j]);
}else if(i>j&&j!=0){
//如果不是,通过此公式计算每一项
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
document.write(arr[i][j]+" ");
}
}
//换行
document.write("<br/>");
}
结果为: