-2

1729 年被称为拉马努金数,取自英国数学家GH Hardy在医院探望印度数学家斯里尼瓦萨·拉马努金时的轶事。他讲述了他们的谈话:
“我记得有一次他在普特尼生病时去看他。我曾乘坐 1729 号出租车,并说这个号码在我看来是一个很无聊的号码,我希望它不是一个不利的“不,”他回答,“这是一个非常有趣的数字;它是可以用两种不同方式表示为两个立方体之和的最小数字。”
两种不同方式是:
1729 = 1^3 + 12^3 = 9^3 + 10^3
(来源:https://en. wikipedia.org/wiki/1729_(编号)
下一个这样的数字是4104
4104 = 16^3 + 2^3 = 9^3 + 15^3
我想找到更多这样的数字。我已经尝试了几次,但无法为其编写代码。我写的代码没有运行。

4

1 回答 1

4

虽然,你一定已经展示了你的作品。
试试看:

#include <stdio.h>
int main(){
int i, a, b, x, y, k;

printf("Input nos. between which you want to find Ramanujan No.: ");
scanf("%d %d", &a, &b);

for(i=a;i<b;i++){
    k=0;
    for(x=1;x*x*x<i;x++){
        for(y=x+1;x*x*x+y*y*y<=i;y++){

            if(x*x*x+y*y*y==i){
                 k++;
                 x++;           
            }
        }

    }
     if(k==2){
            printf("%d ", i);
        }
    }

return 0;
}
于 2018-11-07T02:48:17.117 回答