Problem G: 深入淺出學演算法008-求佩爾方程的解
阿新 • • 發佈:2018-12-24
Description
求關於x y的二次不定方程的解 x2-ny2=1
Input
多組輸入資料,先輸入組數T 然後輸入正整數n(n<=100)
Output
對於每組資料輸出一行,求y<=10000的最小正整數解 ,輸出y的值,如果在此範圍內沒有解則輸出No
Sample Input
1 73
Sample Output
No
#include <stdio.h> #include <math.h> int main() { int t,n; int i,j; inta,b; while(scanf("%d",&t)!=EOF) { while(t--) { int flag=0; scanf("%d",&n); for(i=1;i<=10000;i++) { if((int)sqrt(i*i*n+1)*(int)sqrt(i*i*n+1)==n*i*i+1) { printf("%d\n",i); flag=1; break; } } if(flag==0) { printf("No\n"); } } } return 0; }