查找出租车号码

找到第一个n出租车号码。给定一个值n。我想找到前n个出租车号码。出租车是可以以多种方式表示为两个完美立方体之和的数字。

(请注意,存在两个 集合,称为“出租车编号”:以

方式的2个立方 ****的

总和,和以

方式2个正整数的立方的总和的最小数。这个问题是关于前一组,因为后一组仅知道前六个成员)

例如:

1^3 + 12^3 = 1729 = 9^3 + 10^3

我想对算法或如何解决该问题的C代码片段进行粗略的概述。

The first five of these are:

I J K L Number

---------------------------------

1 12 9 10 1729

2 16 9 15 4104

2 24 18 20 13832

10 27 19 24 20683

4 32 18 30 32832

回答:

我想出了可以通过这种方式获得答案:

#include<stdio.h>

int main() {

int n, i, count=0, j, k, int_count;

printf("Enter the number of values needed: ");

scanf("%d", &n);

i = 1;

while(count < n) {

int_count = 0;

for (j=1; j<=pow(i, 1.0/3); j++) {

for(k=j+1; k<=pow(i,1.0/3); k++) {

if(j*j*j+k*k*k == i)

int_count++;

}

}

if(int_count == 2) {

count++;

printf("\nGot %d Hardy-Ramanujan numbers %d", count, i);

}

i++;

}

}

既然a^3+b^3 = na应该小于n^(1/3)

以上是 查找出租车号码 的全部内容, 来源链接: utcz.com/qa/435466.html

回到顶部