在控制台中输出 100 个 *

  1. for (var i = 0; i < 100; i++) {
  2. console.log("*");
  3. }

输出 1-100 的所有数字

  1. for (var i = 0; i < 100; i++) {
  2. console.log(i + 1);
  3. }

输出 1-100 的所有奇数

  1. for (var i = 1; i < 100; i += 2) {
  2. console.log(i);
  3. }

求 1-100 之间所有数字之和

  1. var sum = 0;
  2. for (var i = 1; i <= 100; i++) {
  3. sum += i;
  4. }
  5. console.log(sum); // 5050

求 1-100 之间所有奇数之和

  1. var sum = 0;
  2. for (var i = 1; i <= 100; i++) {
  3. if (i % 2 !== 0) {
  4. sum += i;
  5. }
  6. }
  7. console.log(sum); // 2500

求 1-10 之间所有数字的积

  1. var sum = 1;
  2. for (var i = 1; i <= 10; i++) {
  3. sum *= i;
  4. }
  5. console.log(sum); // 3628800

输出一个 3 行 5 列的 * 号矩阵

  1. *****
  2. *****
  3. *****
  1. var r = 3,
  2. c = 5;
  3. for (var i = 0; i < r; i++) {
  4. //循环r次
  5. //在一行内输出c个*号
  6. var str = "";
  7. for (var j = 0; j < c; j++) {
  8. str += "*";
  9. }
  10. console.log(str);
  11. }

* 号输出一个 5 行的直角三角形

  1. *
  2. **
  3. ***
  4. ****
  5. *****
  1. var r = 15;
  2. for (var i = 1; i <= r; i++) {
  3. //输出一行星号,数量为i
  4. var str = "";
  5. for (var j = 0; j < i; j++) {
  6. str += "*";
  7. }
  8. console.log(str);
  9. }

* 号输出一个 5 行的等腰三角形

  1. *
  2. ***
  3. *****
  4. *******
  5. *********
  1. var r = 5;
  2. for (var i = 1; i <= r; i++) {
  3. // 输出1行
  4. var str = "";
  5. // 1. 拼接空格,数量为r-i
  6. for (var j = 0; j < r - i; j++) {
  7. str += " ";
  8. }
  9. // 2. 拼接星号,数量为2*i-1
  10. for (var j = 0; j < 2 * i - 1; j++) {
  11. str += "*";
  12. }
  13. console.log(str);
  14. }

判断数字 233 是不是素数。

素数是指一个数(大于1)仅能被1和自身整除

  1. var num = 233;
  2. var isFind = false;
  3. for (var i = 2; i <= num - 1; i++) {
  4. if (num % i === 0) {
  5. isFind = true;
  6. break;
  7. }
  8. }
  9. if (num <= 1 || isFind) {
  10. console.log(`${num} 不是一个素数`);
  11. } else {
  12. console.log(`${num} 是一个素数`);
  13. }

(提升)题目改成:改成 判断 1-233 哪些数是素数。

提示:可以使用两层 for 循环来实现。

  1. for (var num = 1; num <= 233; num++) {
  2. var isFind = false;
  3. for (var i = 2; i * i <= num; i++) {
  4. if (num % i === 0) {
  5. isFind = true;
  6. break;
  7. }
  8. }
  9. if (num <= 1 || isFind) {
  10. // 如果 num 是1或者找到了除了1和自身以外的约数,那么 num 不是素数
  11. // console.log(`${num} 不是一个素数`);
  12. } else {
  13. // 如果 num 是大于1的数并且没有找到除了1和自身以外的约数,那么 num 是素数
  14. console.log(`${num} 是一个素数`);
  15. }
  16. }

输出 1-100 中的所有素数

  1. for (var j = 1; j <= 100; j++) {
  2. var isFind = false;
  3. for (var i = 2; i <= j - 1; i++) {
  4. if (j % i === 0) {
  5. isFind = true;
  6. break;
  7. }
  8. }
  9. if (j <= 1 || isFind) {
  10. continue;
  11. // console.log(`${j} 不是一个素数`);
  12. } else {
  13. console.log(`${j} 是一个素数`);
  14. }
  15. }

求1-100之间的所有素数之和

  1. var sum = 0; //记录和
  2. for (var i = 2; i <= 100; i++) {
  3. //i是不是素数
  4. var isFind = false; // 默认没有找到能被1和自身整数的其余的除数 是素数
  5. for (var j = 2; j < i - 1; j++) {
  6. if (i % j === 0) {
  7. isFind = true; // 找到能被1和自身整数的其余的除数 不是素数
  8. break;
  9. }
  10. }
  11. if (!isFind) {
  12. sum += i;
  13. }
  14. }
  15. console.log(sum);

输出99乘法表,效果如下:

  1. 1*1=1
  2. 1*2=2 2*2=4
  3. 1*3=3 2*3=6 3*3=9
  4. 1*4=4 2*4=8 3*4=12 4*4=16
  5. 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
  6. 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
  7. 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
  8. 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
  9. 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
  1. for (var i = 1; i <= 9; i++) {
  2. // 输出1行
  3. // 拼接i个等式
  4. var str = "";
  5. for (var j = 1; j <= i; j++) {
  6. str += `${j}*${i}=${i*j}\t`;
  7. }
  8. console.log(str);
  9. }

和第 4 题的原理,其实是一样的,只不过这里打印的东西不再是 * 号罢了。

猜拳游戏,记录系统和玩家的积分,获胜者加1分,平局和输者不计分。

可参考以下效果:

  1. 游戏开始
  2. ==============第1轮==============
  3. 系统:0分,玩家:0
  4. 你的出拳:剪刀
  5. 系统出拳:布
  6. 你赢了!
  7. ==============第2轮==============
  8. 系统:0分,玩家:1
  9. 你的出拳:石头
  10. 系统出拳:布
  11. 你输了!
  12. ==============游戏结束==============
  13. 系统:1分,玩家:1
  1. console.log("游戏开始");
  2. var round = 1, //轮次
  3. pcScore = 0, //系统分数
  4. playerScore = 0; //玩家分数
  5. while (true) {
  6. // 1轮游戏
  7. console.log(`==============第${round}轮==============`);
  8. console.log(`系统:${pcScore}分,玩家:${playerScore}分`);
  9. var fist = prompt("请出拳(剪刀、石头、布)");
  10. if (fist === null) {
  11. //取消
  12. break;
  13. }
  14. //没有取消
  15. if (fist !== "剪刀" && fist !== "石头" && fist !== "布") {
  16. //出拳无效
  17. console.log("出拳无效,请重新出拳!");
  18. continue;
  19. }
  20. //出拳有效
  21. console.log(`你的出拳:${fist}`);
  22. var pcFist = Math.random(); //系统随机出拳
  23. if (pcFist < 0.3333) {
  24. pcFist = "剪刀";
  25. } else if (pcFist < 0.6666) {
  26. pcFist = "石头";
  27. } else {
  28. pcFist = "布";
  29. }
  30. console.log(`系统出拳:${pcFist}`);
  31. //判断胜负
  32. if (fist === "剪刀" && pcFist === "布" ||
  33. fist === "布" && pcFist === "石头" ||
  34. fist === "石头" && pcFist === "剪刀") {
  35. //玩家胜利
  36. playerScore++;
  37. console.log("你赢了!");
  38. } else if (fist === pcFist) {
  39. console.log("平局");
  40. } else {
  41. pcScore++;
  42. console.log("系统胜利!");
  43. }
  44. //轮次+1
  45. round++;
  46. }
  47. console.log("==============游戏结束==============");
  48. console.log(`系统:${pcScore}分,玩家:${playerScore}分`);