js 实现 水仙花数

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">

// 第一种方法

var num = [];
var j = 0;
for(var i = 100; i < 400000000; i ++){
var iG, iS, iB;
iG = i % 10;
iS = parseInt(i / 10) % 10;
iB = parseInt(i / 100);
var sum = iG*iG*iG + iS*iS*iS + iB*iB*iB;
if(i == sum){
num[j] = i;
j ++;
}
}
document.write("水仙花数都有:" + "<br />");
for(var i = 0; i < num.length; i ++){
document.write(num[i] + "<br />");
}

// 第二种方法 把这个数当做字符串来实现
for(var i=100;i<=999;i++)
{
str_i=i.toString();
var hundred=Number(str_i.charAt(0));//运用charAt(index)函数找百位数
var ten=Number(str_i.charAt(1));
var dig=Number(str_i.charAt(2));
var result=Math.pow(hundred,3)+Math.pow(ten,3)+Math.pow(dig,3);//用Math.pow(num,x)实现立方的运算
if(result===i)//判断是否和i相等
{
document.write(‘<br />‘+string+‘<br />‘);
}
}

</script>
</head>
<body>

</body>
</html>

时间: 2024-08-24 20:25:22

js 实现 水仙花数的相关文章

Tips_of_JS 之 利用JS实现水仙花数的寻找与实现斐波那契数列

一.水仙花数 1.啥是水仙花数? 水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 5^3+ 3^3 = 153) 2.利用JS实现对水仙花数的寻找. 这一次我们寻找水仙花数的方法,是JS中非常基础的while循环.代码如下: si不si很神奇~ 二.斐波那契数列 1.啥是斐波那契数列? 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔

js的水仙花数的输出

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> var num = []; var j = 0; for(var i = 100; i < 1000; i ++){ var iG,

使用JS打印水仙花数

/* 水仙花数是一种特殊的三位数,它的特点就是,每个数位的立方和,等于它本身. 比如 153 就是水仙花数.因为: 13+53 +33 = 153 100~999 之内,只有 4 个水仙花数,请找出来.*/ var num=100; while(num<=999){ //获取个位数 var gewei=parseInt(num%10); var shiwei=parseInt((num/10)%10); var baiwei=parseInt(num/100); //个位数的立方 var he=

js算法集合(一) 水仙花数 及拓展(自幂数的判断)

js算法集合(一) ★ 最近有些朋友跟我说对js中的一些算法感到很迷惑,知道这个算法到底是怎么回事,但是就是不会用代码把它写出来,这里我跟大家分享一下做水仙花数的算法的思路,并对其扩展到自幂数的算法,希望能对大家有所帮助. 1.验证一个数是否为水仙花数 ①要写水仙花数的算法,我们首先来了解一下什么是水仙花数,水仙花数是指一个 3位正整数 ,它的每个位上的数字的 3次幂之和等于它本身.(例如:1^3 + 5^3+ 3^3 = 153): ②了解了什么是水仙花数我们就开始分析该怎么下手.通过定义来看

JS基础练习:奇偶数、质数、闰年、水仙花数、完美数、累加、累乘、多位数拆分等

2018年8月1日       广州 这几天学习JS基础的运算符和语句,经常写到一些经典的例子,这里记录下. 很多数学概念不懂,就想不出算法,也就写不出来.所以也算对特殊的数学概念作个了解吧. 一.数值奇偶性的判断 概念:一个整数能被2整除的是偶数,不能被2整除的是奇数. 代码示例: 1 <script> 2 var num = parseInt(prompt("请任意输入一个整数:")); 3 if (num === 0 ) { 4 console.log("0

js水仙花数,闰年,最大公约数

1.水仙花数题目: 打印1000以内所有水仙花数1* 水仙花数是指一个三位数,各位数的立方和等于这个数本身,例如153 = 1*1*1+5*5*5+3*3*3 思路:1.首先要确定这是一个循环,次数是确定的,选择for循环,每一次都需要判断,for循环里面要嵌套一个if判断 2.要用三个变量存储,百位,十位,个位(这个题的重点就是获取这三位数) 百位 :391 /100 = 3.91;这里需要一个处理,把小数后面的全部舍去,我用js写的,parseInt(储存百位的变量)这个方法就可以换取整数,

JS水仙花数

水仙花数即:a3+b3+c3=abc.当然还有玫瑰花数,五角星数等一些有规律的数学算法 <script> for (var i = 100; i < 1000; i++) { var bws = Math.floor(i / 100);//获取百位数 var sws = Math.floor(( i - bws * 100 ) / 10);//获取十位数 var gws = i % 10;//获取个位数 //Math.pow(bws, 3)百位数的3次幂,Math.pow(sws, 3)

JS 1000以内的水仙花数 (三位数 各个数字的立方和等于本身 例如 1*1*1 + 5*5*5 + 7*7*7 = 157)

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <script type="text/javascript"> for(i=100;i<1000;i++){ var a = par

筛选水仙花数

//水仙花数--个位的平方+十位的平方+百位的平方(等于==)该三位数 #include<stdio.h>int main(){ int ge,shi,bai; //从100开始筛选for(int i=100;i<1000;i++){ ge=i%10; shi=i/10%10; bai=i/100%10; if(a==ge*ge*ge+shi*shi*shi+bai*bai*bai){//水仙花数的判断条件 //输出 printf("%d\t",i); }} retu