在控制台中输出 100 个 *
for (var i = 0; i < 100; i++) {
console.log("*");
}
输出 1-100 的所有数字
for (var i = 0; i < 100; i++) {
console.log(i + 1);
}
输出 1-100 的所有奇数
for (var i = 1; i < 100; i += 2) {
console.log(i);
}
求 1-100 之间所有数字之和
var sum = 0;
for (var i = 1; i <= 100; i++) {
sum += i;
}
console.log(sum); // 5050
求 1-100 之间所有奇数之和
var sum = 0;
for (var i = 1; i <= 100; i++) {
if (i % 2 !== 0) {
sum += i;
}
}
console.log(sum); // 2500
求 1-10 之间所有数字的积
var sum = 1;
for (var i = 1; i <= 10; i++) {
sum *= i;
}
console.log(sum); // 3628800
输出一个 3 行 5 列的 *
号矩阵
*****
*****
*****
var r = 3,
c = 5;
for (var i = 0; i < r; i++) {
//循环r次
//在一行内输出c个*号
var str = "";
for (var j = 0; j < c; j++) {
str += "*";
}
console.log(str);
}
用 *
号输出一个 5 行的直角三角形
*
**
***
****
*****
var r = 15;
for (var i = 1; i <= r; i++) {
//输出一行星号,数量为i
var str = "";
for (var j = 0; j < i; j++) {
str += "*";
}
console.log(str);
}
用 *
号输出一个 5 行的等腰三角形
*
***
*****
*******
*********
var r = 5;
for (var i = 1; i <= r; i++) {
// 输出1行
var str = "";
// 1. 拼接空格,数量为r-i
for (var j = 0; j < r - i; j++) {
str += " ";
}
// 2. 拼接星号,数量为2*i-1
for (var j = 0; j < 2 * i - 1; j++) {
str += "*";
}
console.log(str);
}
判断数字 233 是不是素数。
素数是指一个数(大于1)仅能被1和自身整除
var num = 233;
var isFind = false;
for (var i = 2; i <= num - 1; i++) {
if (num % i === 0) {
isFind = true;
break;
}
}
if (num <= 1 || isFind) {
console.log(`${num} 不是一个素数`);
} else {
console.log(`${num} 是一个素数`);
}
(提升)题目改成:改成 判断 1-233 哪些数是素数。
提示:可以使用两层 for 循环来实现。
for (var num = 1; num <= 233; num++) {
var isFind = false;
for (var i = 2; i * i <= num; i++) {
if (num % i === 0) {
isFind = true;
break;
}
}
if (num <= 1 || isFind) {
// 如果 num 是1或者找到了除了1和自身以外的约数,那么 num 不是素数
// console.log(`${num} 不是一个素数`);
} else {
// 如果 num 是大于1的数并且没有找到除了1和自身以外的约数,那么 num 是素数
console.log(`${num} 是一个素数`);
}
}
输出 1-100 中的所有素数
for (var j = 1; j <= 100; j++) {
var isFind = false;
for (var i = 2; i <= j - 1; i++) {
if (j % i === 0) {
isFind = true;
break;
}
}
if (j <= 1 || isFind) {
continue;
// console.log(`${j} 不是一个素数`);
} else {
console.log(`${j} 是一个素数`);
}
}
求1-100之间的所有素数之和
var sum = 0; //记录和
for (var i = 2; i <= 100; i++) {
//i是不是素数
var isFind = false; // 默认没有找到能被1和自身整数的其余的除数 是素数
for (var j = 2; j < i - 1; j++) {
if (i % j === 0) {
isFind = true; // 找到能被1和自身整数的其余的除数 不是素数
break;
}
}
if (!isFind) {
sum += i;
}
}
console.log(sum);
输出99乘法表,效果如下:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
for (var i = 1; i <= 9; i++) {
// 输出1行
// 拼接i个等式
var str = "";
for (var j = 1; j <= i; j++) {
str += `${j}*${i}=${i*j}\t`;
}
console.log(str);
}
和第 4 题的原理,其实是一样的,只不过这里打印的东西不再是
*
号罢了。
猜拳游戏,记录系统和玩家的积分,获胜者加1分,平局和输者不计分。
可参考以下效果:
游戏开始
==============第1轮==============
系统:0分,玩家:0分
你的出拳:剪刀
系统出拳:布
你赢了!
==============第2轮==============
系统:0分,玩家:1分
你的出拳:石头
系统出拳:布
你输了!
==============游戏结束==============
系统:1分,玩家:1分
console.log("游戏开始");
var round = 1, //轮次
pcScore = 0, //系统分数
playerScore = 0; //玩家分数
while (true) {
// 1轮游戏
console.log(`==============第${round}轮==============`);
console.log(`系统:${pcScore}分,玩家:${playerScore}分`);
var fist = prompt("请出拳(剪刀、石头、布)");
if (fist === null) {
//取消
break;
}
//没有取消
if (fist !== "剪刀" && fist !== "石头" && fist !== "布") {
//出拳无效
console.log("出拳无效,请重新出拳!");
continue;
}
//出拳有效
console.log(`你的出拳:${fist}`);
var pcFist = Math.random(); //系统随机出拳
if (pcFist < 0.3333) {
pcFist = "剪刀";
} else if (pcFist < 0.6666) {
pcFist = "石头";
} else {
pcFist = "布";
}
console.log(`系统出拳:${pcFist}`);
//判断胜负
if (fist === "剪刀" && pcFist === "布" ||
fist === "布" && pcFist === "石头" ||
fist === "石头" && pcFist === "剪刀") {
//玩家胜利
playerScore++;
console.log("你赢了!");
} else if (fist === pcFist) {
console.log("平局");
} else {
pcScore++;
console.log("系统胜利!");
}
//轮次+1
round++;
}
console.log("==============游戏结束==============");
console.log(`系统:${pcScore}分,玩家:${playerScore}分`);