51nod 1080 两个数的平方和

没心情写数学题啦啊   好难啊

#include<bits/stdc++.h>
using namespace std;
set<int> s;
set<int>::iterator it;
int main ()
{
    s.clear();
    for(int i=0;i*i<=1e9;i++)
        s.insert(i*i);
    int n; scanf("%d",&n);
    bool flag =0;
    for(int i=0;i*i<=n/2;i++)
    {
        int t = n-i*i;
        if(s.find(t) != s.end())
        {
            flag=1;
            printf("%d %d\n",i,int(sqrt(t)));
        }
    }
    if(flag ==0)
        puts("No Solution");
}

 

posted @ 2017-08-17 15:19  Draymonder  阅读(145)  评论(0编辑  收藏  举报