Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- struct point
- {
- int x, y;
- };
- int main() {
- double n;
- long long lower, higher, k;
- point nechet, chet;
- cin >> n;
- higher = int(ceil(sqrt(n)));
- lower = int(floor(sqrt(n)));
- if (higher == lower)
- cout << higher << " " << higher;
- else
- {
- if (lower % 2 == 1)
- {
- nechet.x = lower;
- nechet.y = lower;
- if (higher / 2 % 2 == 1)
- {
- chet.x = 1;
- chet.y = higher;
- if (n - lower * lower == 1)
- cout << nechet.x + 1 << " " << nechet.y;
- else if (n - lower * lower == 2)
- cout << nechet.x + 1 << " " << nechet.y + 1;
- else if (n - lower * lower == 3)
- cout << nechet.x << " " << nechet.y + 1;
- else
- {
- k = n - lower * lower - 3;
- if (k / 2 % 2 == 1)
- cout << nechet.x - (k / 2) - 1 << " " << nechet.y + 1 - (k % 2);
- else
- cout << nechet.x - (k / 2) - 1 << " " << nechet.y + (k % 2);
- }
- }
- else
- {
- chet.x = higher;
- chet.y = 1;
- if (n - lower * lower == 1)
- cout << nechet.x << " " << nechet.y + 1;
- else if (n - lower * lower == 2)
- cout << nechet.x + 1 << " " << nechet.y + 1;
- else if (n - lower * lower == 3)
- cout << nechet.x + 1 << " " << nechet.y;
- else
- {
- k = n - lower * lower - 3;
- if (k / 2 % 2 == 1)
- cout << nechet.x + (k % 2) << " " << nechet.y - (k / 2);
- else
- cout << nechet.x + 1 - (k % 2) << " " << nechet.y - (k / 2);
- }
- }
- }
- else
- {
- chet.x = higher;
- chet.y = higher;
- if (lower / 2 % 2 == 1)
- {
- nechet.x = 1;
- nechet.y = lower;
- k = n - lower * lower;
- if (k / 2 % 2 == 1)
- cout << nechet.x + k / 2 << " " << nechet.y + 2 - (k % 2);
- else
- cout << nechet.x + k / 2 << " " << nechet.y + 1 + (k % 2);
- }
- else
- {
- nechet.x = lower;
- nechet.y = 1;
- k = n - lower * lower;
- if (k / 2 % 2 == 1)
- cout << nechet.x + k / 2 << " " << nechet.y - (k % 2);
- else
- cout << nechet.x + k / 2 << " " << nechet.y + 1 - (k % 2);
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement