当然可以!以下是使用Python求100到999之间所有水仙花数的详细步骤,包括代码片段: 定义一个函数用于判断一个数是否为水仙花数: python def is_narcissistic(num): """ 判断一个数是否为水仙花数 :param num: 整数 :return: 布尔值,如果是水仙花数返回True,否则返回False """ str_num = str(num) n = len(str...
c =0forainrange(100,1000):forbinstr(a): a1=int(b) c=c+a1**3ifa ==c:print(a) c= 0 输出结果为 153 370 371 407 使用for循环来取数字中的每一位,不过数字要先化为str格式来取然后再化为int格式来赋值,要注意c的值每一次要记得清零。 下面附上用了除法的版本 forainrange(100,1000): b=...
for循环 #一.:用for循环求100-999之间的水仙花数 # 水仙花数指的是:一个数字他的每个位置的数的立方之和等于他自己 # 比如: 153=1的三次方+3的三次方+5的三次方 for i in range(100,999): num1=(i//100)%10 num2=(i//10)%10 num3=i%10 sum1=num1**3+num2**3+num3**3 if i == sum...
1#-*- coding:utf-8 -*-2#@Author : 飘飘_emmm3print("100-999之间的水仙花数为:")4forainrange(100,999):#定义一个100-999之间的数5i = int(a % 10)#取出个位6j = int(a/100)#取出百位7k = int((a - j*100)/10)#通过计算取出十位8ifi**3 + j**3 + k**3 == a:#计算幂之和,...
水仙花数是指一个n位数(n≥3)的各位数字的n次方之和等于该数本身。例如,153就是一个水仙花数,因为它满足$1^3+5^3+3^3=153$。为了找出100到999之间的所有水仙花数,我们可以编写一个Python程序来实现这个逻辑。下面是一个简单的示例程序:```python 遍历100到999之间的每个数 for num in ...
Python-三种方..题目:算出100-999之间的水仙花数水仙花数是指百位的3次方 + 十位的3次方 + 个位的三次方等于原数的整数方法一:将数字转换为字符串,用索引获取百位十位个位数字
题目1:找出100-999之间的水仙花数(各位数字的立方和刚好等于这个数本身) 如:153 = 1^3 + 5^3 + 3^3算法分析: 123 // 100 = 1 ---> 23 获取百位数 123 // 10 = 12 % 10 = 2 --> 获取十位数(法一) 123 % 100 = 23 // 10 = 2 --> 获取十位数(法二) ...
登录后才能查看或发表评论立即登录或者逛逛博客园首页 Python输出 100-999的水仙花数 print("输出100 - 999 的所有水仙花数") for n in range(100,1000): B = n // 100 S = n % 100 // 10 G = n % 10 if B ** 3 + S ** 3 + G ** 3 == n: print("%d是水仙花数"% n)...
3次幂之和等于它本身,也称为自恋数、自幂数等等。工具/原料 荣耀猎人FRD-WFD9 Windows10.0.1 pycharm2020 方法/步骤 1 新建一个PY文件 2 定义一个函数“test()”3 使用for循环从整数100到999之间寻找水仙花数 4 编写循环体的代码如图 5 使用“test()”输出函数的结果 6 运行程序可以得到如图结果 ...
D:\Python\python.exe D:/Python/test/水仙花数.py153 370 371 407 如果是(100,10000000)呢,这个本方法就要定义很多个变量,占用空间不说,若范围继续扩大,唉太垃圾了 网上参考答案: foriinrange(100,1000): sum=0 temp=iwhiletemp: sum= sum +(temp%10) ** 3temp//= 10ifsum ==i:print(i) ...