怎么使用python 找出完美立方

 我来答
wii42
2017-08-01 · TA获得超过382个赞
知道小有建树答主
回答量:88
采纳率:60%
帮助的人:67.8万
展开全部

这个代码是我根据C代码改的!

Python代码:

#python3.5

n = int(input())#n范围内的立方数

list_cube = [0]#用于存储立方数的列表

while(n != 0):#当输入的n为0时,结束循环
    for i in range(1, n+1):
        list_cube.append( i*i*i)
    for a in range(6,n+1):
        for b in range(2,a-1):
            if list_cube[a] < (list_cube[b] + list_cube[b+1] + list_cube[b+2]):
                break
            for c in range(b+1,a):
                if list_cube[a] < (list_cube[b] + list_cube[c] + list_cube[c+1]):
                    break
                for d in range(c+1,a):
                    if list_cube[a] == (list_cube[b] + list_cube[c] + list_cube[d]):
                        print("立方数是:%d,三元组是(%d,%d,%d)" %(a,b,c,d))
    n = int(input())

原C代码:

#include <stdio.h>  
#include <math.h>  
  
int main()  
{  
    int n,a,b,c,d;  
    long int cube[101];  
    while(scanf("%d",&n)!=EOF)  
    {  
        for(int  i=1; i<n+1; i++)  
        {  
            cube[i]=i*i*i;  
        }  
        for(a=6; a<n+1; a++)  
            for(b=2; b<a-1; b++)  
            {  
                if(cube[a]<cube[b]+cube[b+1]+cube[b+2])  
                    break;  
                for(c=b+1; c<a; c++)  
                {  
                    if(cube[a]<cube[b]+cube[c]+cube[c+1])  
                        break;  
                    for(d=c+1; d<a; d++)  
                        if(cube[a]==cube[b]+cube[c]+cube[d])  
                            printf("Cube = %d, Triple = (%d,%d,%d)\n",a,b,c,d);  
                }  
            }  
    }  
    return 0;  
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

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

说明

0/200

提交
取消

辅 助

模 式