javaScript实现回文数、水仙花数判断和输出斐波那契数列 您所在的位置:网站首页 javascript编写水仙花数 javaScript实现回文数、水仙花数判断和输出斐波那契数列

javaScript实现回文数、水仙花数判断和输出斐波那契数列

2023-10-08 21:49| 来源: 网络整理| 查看: 265

function huiWenShu() { var str = document.getElementById("first").value.toString(); //匹配所有非单词的字符,替换为空字符串 /*var newStr= str.replace(/\W+/g,''); //匹配所有下划线,替换为空字符串 newStr= newStr.replace(/\_+/g,''); newStr=newStr.toLowerCase(); //转化为小写*/ //split()把一个字符串分割成字符串数组,reverse()用于颠倒数组中元素的顺序 var str1=str.split("").reverse(); //join() 方法用于把数组中的所有元素放入一个字符串。 var str2=str1.join(""); if(str==str2){ document.getElementById("four").innerHTML=str+"是回文数"; }else{ document.getElementById("four").innerHTML=str+"不是回文数"; } }

javaScript实现回文数、水仙花数判断和输出斐波那契数列 一、判断回文数 回文数: 设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。

//方法1: 用正则(少于80个字符的函数实现)

function isPalindrome(str) { str = str.replace(/\W/g, '').toLowerCase(); return (str == str.split('').reverse().join('')); } console.log(isPalindrome("level")); // logs 'true' console.log(isPalindrome("levels")); // logs 'false' console.log(isPalindrome("A car, a man, a maraca")); // logs 'true'

// 方法2:先将数字转换成字符串,然后依次判断第一个和最后一个数字,第二个和倒数第二个数字...是否相等

function PalindromeNumber1(num){ var str = num.toString(); var flag = true; var len = str.length; for(var i = 0; i < (len - 1) / 2; 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不是回文数

// 方法3:方法一的另一种写法

function PalindromeNumber2(num){ var str = num.toString(); var flag = true; var begin = 0, end = str.length - 1; while( begin < end ){ 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不是回文数

// 方法4: 将判断的数倒置,然后判断前后两个数是否相等

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


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有