本题要求对任意给定的正整数N,求方程X2+Y2=N的全部正整数解。
输入格式:
输入在一行中给出正整数N(≤10000)。
输出格式:
输出方程X2+Y2=N的全部正整数解,其中X≤Y。每组解占1行,两数字间以1空格分隔,按X的递增顺序输出。如果没有解,则输出No Solution
。
输入样例1:
884
输出样例1:
10 28
20 22
输入样例2:
11
输出样例2:
No Solution
public static void main(String[] args) {
int x, y;
int n;
int mark = 0;
Scanner in = new Scanner(System.in);
n = in.nextInt();
for (x = 1; x < 100; x++) {
for (y = x; y < 100; y++) {
if (x * x + y * y == n) {
mark = 1;
System.out.println(x + " " + y);
}
}
}
if (mark == 0)
System.out.println("no solution!");
}