大意不再赘述。
佩尔方程的简单应用。
#include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> #include <queue> #include <cmath> using namespace std; void Search(int &x1, int &y1, int d) { int x, y = 1; for(;;) { x = (int)sqrt(d*y*y + 1.0); if(x*x == d*y*y + 1) break; y++; } x1 = x, y1 = y; } void pel(int x1, int y1, int d) { int px = x1, py = y1; int x, y; for(int i = 1; i <= 10; i++) { x = px*x1 + d*py*y1; y = py*x1 + px*y1; printf("%10d%10d\n", y, (x-1)/2); px = x; py = y; } return ; } void solve() { int x1, y1; Search(x1, y1, 8); pel(x1, y1, 8); } int main() { solve(); }