các anh chị bạn giúp mình với,có bài toán như hình,nhưng cho mình hỏi là sao để nó hiện có 2 số 1729 và 4104 thôi ạ.mình làm nó ra nhiều số quá,vậy điều kiện là gì ạ? mình học c++
code:
#include
#include
#include
using namespace std;
int main()
{
int n;
cin>>n;
for(int a=1; a<=25; a++)
{
for(int b=1; b<=25; b++)
{
for(int c=1; c<=25; c++)
{
for(int d=1; d<=25; d++)
{
if(pow(a,3)+pow(b,3)==pow(c,3)+pow(d,3)&&a!=b&&a!=c&&a!=d&&b!=c&&b!=c&&d!=b&&d!=c&&pow(a,3)+pow(b,3)<n&&a+b!=c+d)
{
cout<<pow(a,3)+pow(b,3)<<endl;
}
}
}
}
}
}