芝士雪豹 发表于 2022-9-13 00:06:11

不知道哪里错了

for i in range(100,1000):
    a=int(i/100)
    b=int((i-a*100)/10)
    c=i-a*100-b*10
    if i==a^3+b^3+c^3:
      print(i)


不输出任何东西{:10_266:}

jackz007 发表于 2022-9-13 00:13:28

本帖最后由 jackz007 于 2022-9-13 00:22 编辑

    建议楼主了解一下 Python 两个重要的运算:地板除 // 和取余 % 运算的特性
    ^ 是二进制异或运算符,与乘方计算毫无关系,所以,a ^ 3 得写成 a ** 3
for i in range(100,1000):
    a = i // 100
    b = i // 10 % 10
    c = i % 10
    if i == a * a * a + b * b * b + c * c * c:
      print(i)

芝士雪豹 发表于 2022-9-13 00:22:03

本帖最后由 芝士雪豹 于 2022-9-13 00:24 编辑

jackz007 发表于 2022-9-13 00:13
^ 是二进制异或运算符,与乘方计算毫无关系,所以,a ^ 3 得写成 a ** 3

谢谢{:10_266:}

jackz007 发表于 2022-9-13 00:24:23

芝士雪豹 发表于 2022-9-13 00:22
原来的abc表达式不可以么

       你最关键的错误是乘方运算,至于 a、b、c 的计算只能说没有充分利用 Python 最为简单的计算方法。
页: [1]
查看完整版本: 不知道哪里错了