文
章
目
录
章
目
录
本文主要讲解关于js判断水仙花数代码实现相关内容,让我们来一起学习下吧!
任务
水仙花数是这样的一个3位数:它的每一个数位的数字的立方和等于它本身。
例如:153=1 * 1 * 1 + 5 * 5 * 5+ 3 * 3 * 3 ,故153是水仙花数。
当用户输入一个三位数n
,判断这个数字n
是不是水仙花数。
思路
当用户输入一个3位数后,需要将这个数字进行拆位,那么如何进行拆位呢?
1、数学方法
百位
:n/100在取整;十位
:n/10在取整,然后将得到的数字在对10取余;个位
:n%10;
这里的取整可以使用Math.floor()
向下取整(正数)或者使用parseInt()
方法直接取整。
2、字符串方法
首先将输入的数字转为字符串,再输入使用charAt()
方法,得到每个数位的值。
代码
1、数学方法
<script>
// 要求用户输入一个三位数
var n = Number(prompt('请输入一个三位数'));
// 对用户输入的数值,进行合法性的验证
if (!isNaN(n) && n >= 100 && n <= 999) {
// 当用户输入的数字合法
// 数学方法拆位
// 百位
var a = Math.floor(n / 100);
// var a = parseInt(n / 100);
// 十位
var b = Math.floor(n / 10) % 10;
// var a = parseInt(n / 10) % 10;
// 个位
var c = n % 10;
// 判断
if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == n) {
alert(n + '是水仙花数');
} else {
alert(n + '不是水仙花数');
}
} else {
// 当用户输入的数字不合法
alert('输入的数字不合法,请重新输入');
}
</script>
2、字符串方法
// 字符串方法拆位
// 把数字n变为字符串,再去使用字符串的方法charAt():得到指定位置的字符,需要再将其转为数字去参与运算
var n_str = n.toString();
// 百位
var a = Number(n_str.charAt(0)) ;
// 十位
var b = Number(n_str.charAt(1)) ;
// 个位
var c = Number(n_str.charAt(2)) ;
总结
在做一些算法编程题时,需要有逻辑的梳理好整个编程思路,编写代码时从外到里,从上到下一步一步的完成。
以上就是关于js判断水仙花数代码实现相关的全部内容,希望对你有帮助。欢迎持续关注潘子夜个人博客(www.panziye.com),学习愉快哦!