有1、2、3、4共四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
function test6() {
for (i = 1; i < 5; i++) { // 以下为三重循环,百位
for (j = 1; j < 5; j++) {//十位
for (k = 1; k < 5; k++) { // 个位
if (i != k && i != j && j != k) {//确保三位互不相同
console.log(i, j, k);
}
}
}
}
}
test6();
判断101-200之间有多少个素数,并输出所有素数(只能被1和它本身整除的自然数为素数
function test7() {
var a = true;
var count = 0;
for (i = 101; i <= 200; i++) {
for (j = 2; j < Math.sqrt(i); j++) {
if (i % j == 0) {
a = false;
}
}
if (a) {
count++;
console.log(i + "");
}
} console.log(count);
}
test7();
打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153 = 1的三次方+5的三次方+3的三次方
水仙花数 100-1000 内的水仙花 153=111+555+333
function test1() {
var count = 0;
for (var i = 100; i < 1000; i++) {
var a = parseInt(i / 100);
var b = parseInt(i % 100 / 10);
var c = i % 10;
if (a * a * a + b * b * b + c * c * c == i) {
count++;
console.log(i);
}
}
console.log('count:' + count);
}
test1();
将一个正整数分解质因数。例如:输入90,打印出90=233*5。
function test8(num) {
var n = num;
var str = '';
for (var i = 2; i < n; i++) {
while (n != i) {
if (n % i == 0) {
str += i + '*';
n = n / i;
}
else {
break;
}
}
}
console.log(num + '=' + str + n);
}
test8(78);
求任意两个正整数的最大公约数和(GCD)和最小公倍数(LCM)
function test9(a, b) {
if (a > b) {
a = a + b; 319 + 377
b = a - b; 319
a = a - b; 377
}
d = a;
e = b;
c = a % b;
while (c != 0) {
c = a % b;
a = b;
b = c;
}
console.log("最大公约数是:" + a);
c = (d * e) / a;
console.log("最小公倍数:" + c);
}
test9(319, 377);
求1000以内的完全数(若一个自然数,恰好与除去它本身以外的一切因数的和相等,这种数叫做完全数。
function test10() {
var num, i, m;
var str = '';
for (num = 1; num <= 1000; num++) {
for (m = 0, i = 1; i <= num / 2; i++)
if (!(num % i)) {
m += i;
str += i + '+';
}
if (m == num)
console.log(num + '=' + str);
}
}
test10();
不同解法欢迎探讨