特殊方程的正整数解
题目描述
对于给定的任意正整数N,求方程X^3 + Y^3 = N的全部正整数解。
输入格式
第一行为一个正整数T,表示有T个测试例子(1<=T<=100)。
每个测试例子输入就一行,即正整数N(1<=N<=1000000)。
输出格式
对于每个测试例子,输出方程X^3 + Y^3 = N的全部正整数解,其中X≤Y。每组解占1行,两数字间以1空格分隔,按X的递增顺序输出。如果没有解,则输出No Solution。
样例输入
2
2
11
样例输出
1 1
No Solution
思路
直接暴力,题目给的数据是1000000,三次方只需要循环到100就好了,注意x<=y以及No Solution这两个点。
#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int n;
int flag=0;
cin>>n;
for(int i=0;i<=100;i++){
for(int j=i;j<=100;j++){
if(i*i*i+j*j*j==n){
cout<<i<<" "<<j<<endl;
flag=1;
}
}
}
if(flag==0){
cout<<"No Solution"<<endl;
}
}
}