5-21 求特殊方程的正整數解 (15分)


#include <iostream>
#include <sstream>
#include <string.h>
#include <map>
#include <stdio.h>
#include <algorithm>
#include <math.h>
using namespace std;

int b[10050]= {0};
int main()
{
    memset(b,0,sizeof(b));
    int a[120]= {0},N;
    scanf("%d",&N);
    for(int i=1; i<=sqrt(N); i++)
    {
        a[i]=i*i;
        b[i*i]=1;
    }
    int c=0;
    for(int i=1; i<=sqrt(N); i++)
    {
        if(b[N-i*i])
        {
            int m=N-i*i;
            m=sqrt(m);
            printf("%d %d\n",i,m);
            b[N-i*i]=0;
            b[i*i]=0;
            c=1;
        }
    }
    if(c==0) printf("No Solution\n");
    return 0;
}


發佈了73 篇原創文章 · 獲贊 25 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章