blob: 5622eb49e844c57f69a0c53a200d53add7b8836e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#include <iostream>
long long sqrt(long long num) {
long long left = 1, right = num;
while (left != right) {
long long mid = (left + right) / 2;
if (mid * mid < num) {
left = mid + 1;
} else {
right = mid;
}
}
return left;
}
int main() {
long long c;
std::cin >> c;
for (long long i = 1; i < c; i++) {
long long b2 = c * c - i * i;
long long b = sqrt(b2);
if (b * b == b2) {
std::cout << i << " " << b;
break;
}
}
return 0;
}
|