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
我想找到更多这样的数字。我已经尝试了几次,但无法为其编写代码。我写的代码没有运行。
问问题
4708 次
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 回答