|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Juniorboy 于 2020-5-16 23:07 编辑
- import math
- for i in range(100 ,1000) :
- p = 1000
- while p:
- a = i / 100
- b = i / 10 % 10
- c = 1 %10
- if (pow (i,3)==pow(a,3) + pow(b,3) +pow(c,3)) :
- print (i)
- p -= 1
-
复制代码
- for i in range(100, 1000):
- sum = 0
- temp = i
- while temp:
- sum = sum + (temp%10) ** 3
- temp //= 10 # 注意这里要使用地板除哦~
- if sum == i:
- print(i)
复制代码
第一个代码是我的,但是我的运行之后什么也不打印。
第二个是小甲鱼老师的,没看懂他的思路。
另外再问一下if elif while 这一类的判断条件里面可以有算术运算符吗,我好像记得听过不能有,但是我用了也没报错。
问题有点多:
- import math #没必要,内置pow就可以用了
- for i in range(100 ,1000) :
- p = 1000
- while p: <---这个真看不懂
- a = i / 100 <---应该是i // 100
- b = i / 10 % 10 #<---应该是i//10%10
- c = 1 %10 #<---应该是i%10,打错成1了
- if (pow (i,3)==pow(a,3) + pow(b,3) +pow(c,3)) : <---水仙花数理解错误,应该是:if (i==pow(a,3) + pow(b,3) +pow(c,3))
- print (i)
- p -= 1
-
复制代码
改成:
- for i in range(100 ,1000) :
- a = i // 100
- b = i // 10 % 10
- c = i %10
- if i==pow(a,3) + pow(b,3) +pow(c,3) :
- print (i)
复制代码
|
|