打印水仙花数oracle,javaScript实现回文数、水仙花数判断和输出斐波那契数列
javaScript實現回文數、水仙花數判斷和輸出斐波那契數列
發布時間:2020-07-22 01:15:37
來源:51CTO
閱讀:422
作者:Cynthia_xie
//?判斷一個數是不是回文數
//?方法一:先將數字轉換成字符串,然后依次判斷第一個和最后一個數字,第二個和倒數第二個數字...是否相等
function?PalindromeNumber1(num){
var?str?=?num.toString();
var?flag?=?true;
var?len?=?str.length;
for(var?i?=?0;?i?
if(?str.charAt(i)?!=?str.charAt(len-i-1)?){
flag?=?false;
break;
}
}
if(flag){
console.log(num?+?"?是回文數");
}else{
console.log(num?+?"?不是回文數");
}
}
PalindromeNumber1(123456321);?//?123456321?不是回文數
//?方法二:方法一的另一種寫法
function?PalindromeNumber2(num){
var?str?=?num.toString();
var?flag?=?true;
var?begin?=?0,?end?=?str.length?-?1;
while(?begin?
if(str.charAt(begin)?==?str.charAt(end)){
begin?++;
end?--;
}else{
flag?=?false;
break;
}
}
if(flag){
console.log(num?+?"?是回文數");
}else{
console.log(num?+?"?不是回文數");
}
}
PalindromeNumber2(123456321);?//?123456321?不是回文數
//?方法三:?將判斷的數倒置,然后判斷前后兩個數是否相等
function?InvertedNumber(num){
var?nNum=?0;
while(?num?!=?0){
nNum?*=?10;
nNum?=?nNum?+?(nNum?%?10);
num?=?Math.floor(?num?/?10?);
}
return?nNum;
}
function?PalindromeNumber3(num){
var?nNum?=?InvertedNumber(num);??//?將一個數逆序
if(?nNum?==?num){????????????????//?判斷逆置后的數是否和原來的數相同
console.log(num?+?"?是回文數");
}else{
console.log(num?+?"?不是回文數");
}
}
PalindromeNumber3(123456321);?//?123456321?不是回文數
//?判斷一個數是不是水仙花數:?水仙花數是指一個?n?位數?(?n≥3?),它的每個位上的數字的?n?次冪之和等于它本身。
//??將數組轉換成字符串,然后分別加上每個位置上的數n次冪
function?NarcissusNumber(num){
var?str?=?num.toString();
var?len?=?str.length;
var?result?=?0;
for(var?i=0;?i
result?+=?Math.pow(str.charAt(i),?len);
}
if(result?==?num){
console.log(num?+?"?是水仙花數");
}else{
console.log(num?+?"?不是水仙花數");
}
}
NarcissusNumber(153);
//?斐波那契數列:?輸出前n個數
/*
斐波那契數列:1、1、2、3、5、8、13、21、34、……
函數:使用公式f[n]=f[n-1]+f[n-2],依次遞歸計算,遞歸結束條件是f[1]=1,f[2]=1。
*/
//?遞歸:?求第n個斐波那契數?(?方法一?)
function?fb1(n){
if(?n==1?||?n==?2){
return?1;
}
return?fb1(n-1)?+?fb1(n-2);
}
//?輸出前n個斐波那契數
function?Fibonacci1(num){
console.log(1);
for(var?i=2;?i?<=?num;?i++){
console.log(fb1(i));
}
}
Fibonacci1(5);
//?非遞歸:?求第n個斐波那契數?(?方法二?)
function?fb2(n){
var?a?=1,?b?=1,?result=1;
for(var?i?=2;?i<=?n;?i++){
result?=?a?+?b;
a?=?b;
b?=?result;
}
return?result;
}
//?輸出前n個斐波那契數
function?Fibonacci2(num){
console.log(1);
for(var?i=1;?i?
console.log(fb2(i));
}
}
Fibonacci2(5);
//?非遞歸:求第n個斐波那契數?(?方法二?)
function?fb3(n){
var?result?=?[1,1];
if(?n==?1?||?n?==2){
return?1;
}
for(var?i?=?2;?i?
result[i]?=?result[i-1]?+?result[i-2];
}
return?result[n-1];
}
//?輸出前n個斐波那契數
function?Fibonacci3(num){
console.log(1);
for(var?i=1;?i?<=?num;?i++){
console.log(fb3(i));
}
}
Fibonacci3(5);
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的打印水仙花数oracle,javaScript实现回文数、水仙花数判断和输出斐波那契数列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 提高国内访问GitHub速度的9种方案~
- 下一篇: 计算机系统基础:总线结构知识笔记