水仙花数+阶乘

163 阅读1分钟
//最大公因子

// function factor(a,b){

//     while(true){

//         let y=a%b;

//         if(y==0){

//             return b;

//         }else{

//             a=b;

//             b=y;

//             return y;

//         }

//     }

// }

// let a=factor(60,30);

// console.log(a);



//闰年

// function isYear(year){

//     if(year%4==0&&year%100!=0||year%400==0){

//         return true;

//     }

//     else{

//         return false;

//     }

// }

// function year(){

//     for(let year=1990;year<=2100;year++){

//         if (isYear(year)){

//             console.log(year);

//         }

//     }

// }

// year();



//水仙花数

// function isF(n){

//     let sum=0;

//     let x=n;

//     while(x>0){

//         let a=x%10;

//         let p=a**3;

//         sum+=p;

//         x=(x/10)|0;

//     }

//     if(sum==n){

//         return true;

//     }

//     else{

//         return false;

//     }

// }

// function show(){

//     for(let i=100;i<1000;i++){

//         let f=isF(i);

//         if(f==true){

//             console.log(i);

//         }

//     }

// }

// show();

// 求和

// let sum = 0 ;

// for( let i = 1 ; i <= 100 ; i++ ){

// 	sum = sum + i ;

// }

// console.log( sum );



// 求阶乘

// let factorial = 1 ;

// for( let i = 10 ; i > 0 ; i-- ) {

// 	factorial = factorial * i ;

// }

// console.log( factorial );



// 求 n 的阶乘

// function factorial(n) {

//     if (n < 0) {

//         // 创建一个Error实例

//         let e = new Error('负数没有阶乘');

//         // 抛出Error实例

//         throw e; // throw 会导致函数结束(相应的栈帧也会从方法调用栈中弹出)

//     } else if (n == 0 || n == 1) {

//         // 数学中规定 0 和 1 的阶乘都是 1

//         return 1;

//     } else {

//         // n! = n * (n-1)!

//         let r = n * factorial(n - 1); // 在函数内部调用函数自己

//         return r;

//     }

// }

// let result = factorial(5);

// console.log(result);



//斐波那切数列

// function fibonacci(n){

//     if(n==0||n==1){

//         return 1;

//     }

//     else{

//         return fibonacci(n-1)+fibonacci(n-2);

//     }

// }

// let r=fibonacci(5);

// console.log(r);

// function isPalindrome(natural){



//     let reversal = '' ; // 用来记录反转后的数字

//     let n = natural ; // 将参数值赋值给变量n

//     // 获得参数n反向排列后的形式

//     while( n > 0 ){

//         let y = n % 10 ;

//         reversal = reversal + y ; // 先得到的余数放前面,后得到的放后面

//         n = Math.trunc( n / 10 );

//     }



    // console.log( `${natural} 的各个位反向排列后是 ${reversal}` );

    // 返回判断结果( 由表达式 natural == reversal 来确定结果 )

    // return natural == reversal ;

// }



// let result = isPalindrome( 22 );

// console.log( result );



// 输出指定范围内的所有回文数

// function showPalindrome(range){

//     for( let i = 0 ; i <= range ; i++ ){

//         if( isPalindrome( i ) ){

//             console.log( i );

//         }

//     }

// }



// showPalindrome(1000);