形如a*a*a=b*b*b+c*c*c+d*d*d,称为完美立方。给定一个数n,输出小于等于n且满足完美立方的数。a,b,c,d都不是负数,且都大于一。
b<=c<=d;
输出格式如 6 3 4 5,如果输出多组,按a从小到大输出,若a相等,按b从小到大输出,以此类推。
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
for(int a=2;a<=n;a++)
for(int b=2;b<=a-1;b++)//减少循环次数
for(int c=b;c<=a-1;c++)
for(int d=c;d<=a-1;d++)
{
int t=a*a*a;
int m=b*b*b+c*c*c+d*d*d;
if(t==m)
cout<<a<<'\t'<<b<<'\t'<<c<<'\t'<<d<<endl;
}
return 0;
}
b<=c<=d;
输出格式如 6 3 4 5,如果输出多组,按a从小到大输出,若a相等,按b从小到大输出,以此类推。
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
for(int a=2;a<=n;a++)
for(int b=2;b<=a-1;b++)//减少循环次数
for(int c=b;c<=a-1;c++)
for(int d=c;d<=a-1;d++)
{
int t=a*a*a;
int m=b*b*b+c*c*c+d*d*d;
if(t==m)
cout<<a<<'\t'<<b<<'\t'<<c<<'\t'<<d<<endl;
}
return 0;
}