Ecuación cúbica perfecta : a 3 = b 3 + c 3 + d 3 a^3=b^3+ c^3 +d^3a3=b3+C3+d3 es la ecuación cúbica perfecta, como1 2 3 = 6 3 + 8 3 + 1 0 3 12^3=6^3+ 8^3 +10^31 23=63+83+1 03 .
Escriba un programa para encontrar las cuatro tuplas (a, b, c, d) entre 1 y N para cualquier entero positivo N (N<=100). Entre ellos, 1<a,b,c,d<=N. b,c,d están ordenados de pequeño a grande.
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c,d;
int n;
printf("请输入一个正整数(<100):");
scanf("%d",&n);
printf("1--%d完美立方等式有:\n",n);
for(a=2;a<=n;a++){
for(b=2;b<a;b++){
for(c=b;c<a;c++){
for(d=c;d<a;d++){
//pow返回是浮点型有误差,直接判断会导致不等,所以要四舍五入取整
if(round(pow(a,3))==round(pow(b,3)+pow(c,3)+pow(d,3)))
{
printf("[%d, %d, %d, %d]\n",a,b,c,d);
}
}
}
}
}
}