题目链接:
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1080
题解:
可能是数据比较水, 直接暴力做掉了。。。。。
代码:
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
if(n==1)
{
printf("0 1\n");
continue;
}
int m=sqrt(n);
int flag=0;
int num1;
double num2,num3;
for(int i=1;i<=m;i++)
{
num1=i*i;
num2=sqrt(n-num1);
if(i>num2)
break;
else
{
num3=floor(num2);
if(num3==num2)
{
flag=1;
printf("%d %.0f\n",i,num3);
}
}
}
if(!flag)
printf("No Solution\n");
}
}