1. 求3的n次幂。
注:任何数的0次幂都是1。
var n = 5; // 5次幂(3*3*3*3*3)
var mul = 1; // 结果
for(var i = 0; i < n; i++){
mul *= 3;
}
console.log(mul); // 243
2. 求n的阶乘。
注:0的阶乘是1。
var n = 5; // 5 * 4 * 3 * 2 * 1
var mul = 1; // 结果
for (var i = n; i > 0; i--) {
mul *= i;
}
console.log(mul); // 120
3. a b c 三个数字,比较出最大的数字。
var a = 10,
b = 20,
c = 40;
if (a > b) {
if (a > c) {
console.log("a"); // a > b && a > c
} else {
console.log("c"); // a > b && a < c
}
} else {
if (b > c) {
console.log("b"); // a < b && b > c
} else {
console.log("c"); // a < b && c > b
}
}
4.123反向输出为321。
let abc = 123;
var gw = abc % 10; // 求个位数 123 % 10 = 3
var sw = (abc - gw) % 100; // 求十位数 (123 - 3) % 100 = 20
var bw = (abc - abc % 100) / 100; // 求百位数 (123 - 123 % 100) / 100 = 1
var sum = gw * 100 + sw + bw; // 3 * 100 + 20 + 1 = 321
console.log(sum); // 321
5. 求n位的斐波那契数。
注:除了第一位数和第二位数,其它位数的值是前两位相加的和
var n = 6; // 求第6位的斐波那契数 1 1 2 3 5 8……
fbNum = 0; // 结果
if (n < 3) { // 前两位都是 1
fbNum = 1;
} else {
var first = 1, // 游标:前一位数
second = 1; // 游标:前两位数
for (var i = 0; i < n - 2; i++) { // 求第 n 位就是 n - 2 次循环,第一位和第二位不算
fbNum = second + first; // 前一位数 + 前两位数 = 当前的斐波那契数
second = first; // 游标后移, 前一位数变成了前两位数
first = fbNum; // 游标后移, 当前数变成了前一位数
}
}
console.log(fbNum); // 8
6.求100以内的质数。
注:1不是质数,只能被1和自身整除的数(整除说明:4除以2 表示4被2整除)
for (var i = 2; i < 100; i++) { //外圈循环表示被除数
var count = 0; // 每个数被整除的次数
for (var j = 1; j <= i; j++) { // 里圈循环表示除数,被除数从 1 开始一直除到自身
if (i % j == 0) { // i 被 j 整除了,加 1
count++;
}
}
if (count == 2) { // 所有数都能被 1 和自身整除,但只有只能被 1 和自身整除的数 count 才等于 2
console.log(i);
}
}