鱼C论坛

 找回密码
 立即注册
查看: 641|回复: 9

[已解决]完美立方数一道题9行代码如何写出?

[复制链接]
发表于 2020-4-30 17:55:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
看题目- -
最佳答案
2020-4-30 20:50:53
不用函数
  1. from itertools import combinations as cb
  2. for i in sorted([(i[3],(i[0],i[1],i[2])) for i in cb(range(2,24+1),4) if i[0]**3+i[1]**3+i[2]**3==i[3]**3]):
  3.     print('Cube =',i[0],',', 'Triple =', (i[1][0],i[1][1],i[1][2]))
复制代码
QQ图片20200430175439.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-30 18:05:32 | 显示全部楼层
  1. from sys import stdout
  2. count=int(input())+1

  3. for a in range(1,count):
  4.     for b in range(1,count):
  5.         for c in range(1,count):
  6.             for d in range(1,count):
  7.                 if a*a*a==b*b*b+c*c*c+d*d*d:
  8.                     stdout.write(f'Cube = {a},Triple = ({b},{c},{d})\n')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-30 18:11:59 | 显示全部楼层
  1. #include<stdio.h>

  2. int main(){
  3.     int a,b,c,d,count;
  4.     scanf("%d",&count);

  5.     for(a=1;a<=count;a++){
  6.         for(b=a;b<=count;b++){
  7.             for(c=b;c<=count;c++){
  8.                 for(d=c;d<=count;d++){
  9.                     if(a*a*a==b*b*b+c*c*c+d*d*d){
  10.                         printf('Cube = %d,Triple = (%d,%d,%d)\n',a,b,c,d);
  11.                     }
  12.                 }
  13.             }
  14.         }
  15.     }

  16.     return 0;
  17. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-30 18:24:33 | 显示全部楼层
  1. n = int(input())
  2. n += 1
  3. iden = []

  4. for a in range(2, n):
  5.     for b in range(2, n):
  6.         for c in range(2, n):
  7.             for d in range(2, n):
  8.                 (print(f'Cube = {a},Triple=({b},{c},{d})'), iden.append(sorted((a, b, c, d)))) if (a ** 3 == b ** 3 + c ** 3 + d ** 3) and (sorted((a, b, c, d)) not in iden) else 0
复制代码


或者精简一点:

  1. n, iden = int(input()) + 1, []

  2. for a in range(2, n):
  3.     for b in range(2, n):
  4.         for c in range(2, n):
  5.             for d in range(2, n):
  6.                 (print(f'Cube = {a},Triple=({b},{c},{d})'), iden.append(sorted((a, b, c, d)))) if (a ** 3 == b ** 3 + c ** 3 + d ** 3) and (sorted((a, b, c, d)) not in iden) else 0
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-30 20:15:39 | 显示全部楼层
zltzlt 发表于 2020-4-30 18:24
或者精简一点:

大佬,你是神!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-30 20:39:32 | 显示全部楼层
  1. from itertools import combinations as cb
  2. def f(N):
  3.     L=[]
  4.     for i in cb(range(2,N+1),4):
  5.         if i[0]**3+i[1]**3+i[2]**3==i[3]**3:
  6.             L.append((i[3],(i[0],i[1],i[2])))
  7.     L.sort(key=lambda i:i[0])
  8.     for i in L:
  9.         print('Cube =',i[0],',', 'Triple =', (i[1][0],i[1][1],i[1][2]))  
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-30 20:48:59 | 显示全部楼层
简化一下
  1. from itertools import combinations as cb
  2. def f(N):
  3.     for i in sorted([(i[3],(i[0],i[1],i[2])) for i in cb(range(2,N+1),4) if i[0]**3+i[1]**3+i[2]**3==i[3]**3]):
  4.         print('Cube =',i[0],',', 'Triple =', (i[1][0],i[1][1],i[1][2]))
  5. f(24)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-30 20:50:53 | 显示全部楼层    本楼为最佳答案   
不用函数
  1. from itertools import combinations as cb
  2. for i in sorted([(i[3],(i[0],i[1],i[2])) for i in cb(range(2,24+1),4) if i[0]**3+i[1]**3+i[2]**3==i[3]**3]):
  3.     print('Cube =',i[0],',', 'Triple =', (i[1][0],i[1][1],i[1][2]))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-30 21:27:11 | 显示全部楼层
本帖最后由 李子豪 于 2020-4-30 21:39 编辑
  1. x = int(input())
  2. for a in range(2,x+1):   
  3.     for b in range(2,a):
  4.         for c in range(b,a):
  5.             for d in range(c,a):
  6.                 if pow(a,3) == pow(b,3)+pow(c,3)+pow(d,3):  
  7.                     print("Cube = {},Triple = ({},{},{})".format(a,b,c,d))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-30 21:45:35 From FishC Mobile | 显示全部楼层
zltzlt 发表于 2020-4-30 18:24
或者精简一点:

……只是把赋值的部分精简了一下
好叭
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 13:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表