1.左直角等边三角形
//1.左直角等边三角形
function circle(){
for (let i = 1; i <= 5; i++) {
for (let j = 1; j <= i; j++) {
document.write('⭕');
}
document.write('<br/>');
}
}
circle();
2.九九乘法表
// 2.九九乘法表
function multiplicationTable(){
for (let i = 1; i <= 9; i++) {
for (let j = 1; j <= i; j++) {
document.write(j + '*' + i + '=' + (i * j) + ' ');
}
document.write('<br/>');
}
}
multiplicationTable();
3.有15升水 桶里最多装50 每次能接5升 问需要多少次能装满
function getWater(){
let k = 0
for (; (15 + k * 5) < 50; k++) { }
console.log(k)
}
getWater();
4.判断一个数是不是质数
// 4.判断一个数是不是质数
function isPrime(num){
for (let i = 2; i < num; i++) {
if (num % i == 0) {
console.log(`${num}不是个质数`)
return false
}
}
console.log(`${num}是个质数`)
return true
}
isPrime(13);
isPrime(8);
5.三位数 水仙花数 153 = 1^1 + 5^5 + 3^3
// 5. 三位数 水仙花数 153 = 1^1 + 5^5 + 3^3
function narcissus(){
for (let i = 100; i < 1000; i++) {
let a = parseInt(i / 100);
let b = parseInt(i / 10) % 10;
let c = i % 10;
if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == i) {
console.log(`${i}是个水仙花数`)
}
}
}
narcissus();
6.64格,第一个放一粒麦子,后面的放前面的双倍,问放满时需要多少颗粒粮食
// 6. 64格,第一个放一粒麦子,后面的放前面的双倍,问放满时需要多少颗粒粮食
function food(){
var n = 1;
var sumV = 0;
for (let i = 0; i < 64; i++) {
sumV += n;
n *= 2;
}
console.log(sumV);
}
food();
7.最大公约数
/*
7. 最大公约数 : 这里我的思路是从最小公约数判断,但其实这样无用计算多
最好的是从两个数中最小的数开始,每除一次减一,直到能除尽
既然不知道循环次数,就可以用死循环直到找到合适的数再跳出,用while比较合适
*/
function commonDivisor(n1,n2){
var min = n1 > n2 ? n2 : n1;
/* // 从1开始算最大公约数的思路
var gcd = 1;
for (let i = 1; i <= min; i++) {
if (n1 % i == 0 && n2 % i == 0) {
gcd = i;
}
}
console.log(`${n1}和${n2}的最大公约数是${gcd}`)
*/
while (1) {
if (n1 % min == 0 && n2 % min == 0) {
break;
}
min--;
}
console.log(`${n1}和${n2}的最大公约数是${min}`)
}
commonDivisor(5,6);
8.最小公倍数
// 8. 最小公倍数
function commonMultiple(num1,num2){
var max = num1 > num2 ? num1 : num2;
while (1) {
if (max % num1 == 0 && max % num2 == 0) {
break;
}
max++;
}
console.log(`${num1}和${num2}的最大公约数是${max}`)
}
commonMultiple(4,5);
9.输入两个数n,a
如n==3; a==2;
输出2+22+222的值
如n==4; a==3;
输出3+33+333的值
/*
9.输入两个数n,a
如n==3, a==2;输出2+22+222的值
如n==4, a==3;输出3+33+333的值
*/
function compute(n,a){
var tmp = a;
var sumValue = 0;
for (var i = 0; i < n; i++) {
sumValue += tmp;
tmp = tmp * 10 + a;
}
console.log(sumValue)
}
compute(4,3)
10.找出10000-19999中的回文数
// 10.找出10000-19999中的回文数 如:12321
function palindromeNumber(){
for (let i = 10000; i < 19999; i++) {
let ind = i % 10;
let ten = parseInt(i / 10) % 10;
let tho = parseInt(i / 1000) % 10;
let myr = parseInt(i / 10000);
if (ind == myr && ten == tho) {
console.log(`${i}是回文数`)
}
}
}
// palindromeNumber();
11.输入n为偶数时,调用函数1/2+1/4+…+1/n;输入n为奇数时,调用函数1+1/3+1/5+…+1/n;
// 11. 输入n为偶数时,调用函数1/2+1/4+...+1/n;输入n为奇数时,调用函数1+1/3+1/5+...+1/n;
function sum(n){
var total = 0;
if(n % 2==0){
for(let i=2; i<=n; i+=2){
total += 1/i;
}
}else{
for(let i=1; i<=n; i+=2){
total += 1/i;
}
}
console.log(total);
return total;
}
sum(3);
sum(4);