输入一个整数判断它是否为完全数或者水仙数的方法

1个回答
展开全部
摘要 方法一:1.将该整数拆分成各位数,比如输入的是153,则将153拆分成1、5、3三个数字;2.计算每个数字的立方和,即153的立方和为1^3+5^3+3^3;3.比较计算出的立方和是否与原数相等,如果相等,则该数为水仙花数;4.如果不相等,则判断该数是否是完全数,即求出数字所有真因子之和,如果相等,则该数为完全数,反之则不是。方法二:1.用一个for循环,从1开始遍历到输入的数,计算该数的真因子之和;2.比较计算出的真因子之和是否与原数相等,如果相等,则该数为完全数;3.将该数拆分成各位数,比如输入的是153,则将153拆分成1、5、3三个数字;4.计算每个数字的立方和,即153的立方和为1^3+5^3+3^3;5.比较计算出的立方和是否与原数相等,如果相等,则该数为水仙花数。
咨询记录 · 回答于2022-12-21
输入一个整数判断它是否为完全数或者水仙数的方法
方法一:1.将该整数拆分成各位数,比如输入的是153,则将153拆分成1、5、3三个数字;2.计算每个数字的立方和,即153的立方和为1^3+5^3+3^3;3.比较计算出的立方和是否与原数相等,如果相等,则该数为水仙花数;4.如果不相等,则判断该数是否是完全数,即求出数字所有真因子之和,如果相等,则该数为完全数,反之则不是。方法二:1.用一个for循环,从1开始遍历到输入的数,计算该数的真因子之和;2.比较计算出的真因子之和是否与原数相等,如果相等,则该数为完全数;3.将该数拆分成各位数,比如输入的是153,则将153拆分成1、5、3三个数字;4.计算每个数字的立方和,即153的立方和为1^3+5^3+3^3;5.比较计算出的立方和是否与原数相等,如果相等,则该数为水仙花数。
下面是实现判断数字是否为完全数或水仙花数的python代码:def is_perfect_number(n): sum = 0 for i in range(1, n): if n % i == 0: sum = sum + i return sum == ndef is_narcissistic_number(n): m = n s = 0 while m > 0: a = m % 10 s = s + a*a*a m = m // 10 return s == n
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消