-
在控制台输出1~1000之中,所有能被5整除,或者被6整除的数字。
for (var i = 1; i <= 1000; i++) { if (i % 5 == 0 || i % 6 == 0) { console.log(i); //5 6 10 12 15 18... } } //封装 回调函数 function getNumber() { for (var i = 1; i <= 1000; i++) { (i % 5 == 0 || i % 6 == 0) && console.log(i); } } getNumber()
2.用户输入一个数字n,计算1+2+3+4+……n的和。
var n = parseInt(prompt("输入"))
var sum = 0;
for (var i = 1; i <= n; i++) {
sum += i;
//sum=sum+i
}
console.log(sum);
3.用户输入一个数字n,计算3/2+4/3+5/4+......+(n+1)/n。
var input = parseInt(prompt('输入'));
var sum = 0;
for (var n = 2; n <= input; n++) {
sum += (n + 1) / n;
}
console.log(sum);
4. 用户输入一个数字,在控制台中列出它的所有约数。
var input = parseInt(prompt('输入'));
for (var i = 1; i <= input; i++) {
if (input % i == 0) {
console.log(i);
}
}
5.被7整除的数字,或者尾数是7的数字
var n = 0;
while (n < 60) {
n++
//个位bits 十位ten
var bits = n % 10
var ten = parseInt(n / 10)
//判断包含7整除7的数
if (n % 7 === 0 || ten === 7 || bits === 7) {
continue;//条件成立 跳过这次 执行下面的循环
}
console.log(n);
}
6.水仙花数是一种特殊的三位数,它的特点就是,每个数位的立方和,等于它本身。比如153就是水仙花数。因为:13+53+33 = 153 100~999之内,只有4个水仙花数,请编程找出来。
for (var i = 100; i <= 999; i++) {
// 个位bits 十位ten 百位 hundred
var bits = i % 10;
var ten = parseInt(i / 10) % 10;
var hundred = parseInt(i / 100);
// math.pow(底数x,指数y) 计算个位十位百位的三次方
var num = Math.pow(bits, 3) + Math.pow(ten, 3) + Math.pow(hundred, 3);
if (num == i) {
console.log(i);//153 370 371 407
}
}
8. 如果一个数恰好等于它的因数之和,则称该数为“完美数”。 例如:第1个完全数是6,它有因数1、2、3、6,除去它本身6 外,其余3个数相加,1+2+3=6。第2个完全数是28它有因数1 2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。试寻找1~10000之间的所有完美数..
function getNumber() {
for (var i = 1; i <= 10000; i++) {
var sum = 0;
for (var item of getNumberArray(i)) {
sum += item;
}
sum == i && console.log(i + '完美');
}
}
function getNumberArray(number) {
var array = [];
for (var b = 1; b < number; b++) {
if (number % b == 0) {
array.push(b);
}
}
return array;
}
getNumber()
9.质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 用户输入一个数字,判断这个数字是否是质数。
var input = parseInt(prompt("输入"));
var num = 0;
for (var i = 1; i <= input; i++) {
if (input % i == 0) {
num++;
}
}
if (num == 2) {
console.log("质数" + num);
} else {
console.log("不是质数");
}
9. 1到100之间的质数
var flag = 0;
for (var j = 1; j <= 100; j++) {//自然数
for (var i = 2; i < j; i++) {//质数
if (j % i == 0) {
flag = 1;
break;
} else {
flag = 0;
}
}
if (flag == 0 && j != 1) {
console.log(j);
}
}
10. 列出1~10000的所有质数
var num = 0;
for (var i = 1; i <= 1000; i++) {
for (var j = 2; j < i; j++) {
if (i % j == 0) {
num = 1;
break;
} else {
num = 0
}
}
if (num == 0 && i != 1) {
console.log(j);
}
}
11.苹果3元一个,鸭梨2元一个,桃子1元一个。现在想用200元买100个水果,在控制台中列出所有可能性。苹果Apple 梨pears 桃子peach
for (var apple = 0; apple <= 100; apple++) {//苹果Apple
for (var prars = 0; prars <= 100; prars++) {//梨pears
for (var peach = 0; peach <= 100; peach++) {
if (apple * 3 + prars * 2 + peach * 1 === 200 && apple + prars + peach == 100) {
console.log('苹果' + apple, '梨' + prars, '桃' + peach);
}
}//桃子peach
}
}
12. 求1! + 2! + 3! + 4! + …… + 10!的和,叹号表示阶乘,如4! = 1 * 2 * 3 * 4
function Factorial(j) {
var num = 1;
for (var i = 1; i <= j; i++) {
num *= i;
}
console.log(num);
return num
}
//调用回调函数
var sum = 0;//声明 存放处
for (var i = 1; i <= 10; i++) {
sum += Factorial(i);//求和 赋给sum
}
console.log('1-10阶乘的和:' + sum);//4037913
13. 求一个三位数,该三位数等与其每位数字的阶乘之和.
function Factorial(j) {
var num = 1;
for (var i = 1; i <= j; i++) {
num *= i;
}
// console.log(num);
return num
}
function three(t) {
var sum = 0;
var bits = t % 10;
var ten = parseInt(t / 10 % 10);
var hundred = parseInt(t / 100 % 10);
if (Factorial(bits) + Factorial(ten) + Factorial(hundred) == t) {
console.log(t);
}
}
for (var i = 100; i <= 999; i++) {
three(i)
}
14. 亲密数 15. 如果整数A 的全部约数(包括1,不包括A 本身)之和等于B,且整数B 的全部约数(包括1,不包括B 本身)之和等于A,则称整数A和B是一对亲密数。求3000 以内的全部亲密数。
function RevNumber() {
for (let i = 1; i <= 1000; i++) {
for (let j = 1; j <= 1000; j++) {
if (getRevNumber(i) == j && getRevNumber(j) == i) {
console.log(i + '.' + j);
}
}
}
}
function getRevNumber(number) {
var sum = 0;
for (let j = 1; j < number; j++) {
if (number % j == 0) {
sum += j
}
}
return sum;
}
RevNumber()
打印三角形
function print() {
var n = prompt('输入层')
for (var i = 0; i < n; i++) {
//n 层数 =》 i
console.log(" ".repeat(n - i - 1) + '*'.repeat(i * 2 + 1));
}
}
print()