を と変形することで から が一意に定まることが分かります。
よって、答えとなる を探すことを考えます。
より、 が正整数であることも併せて の範囲を探索すればいいことが分かります。
後はある について、 が正整数になればよいです。つまり が を割り切るかどうかを判定すればいいです。
以上を適切に実装することで、本問題を で解くことができました。
実装例(C++)
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long N;
cin >> N;
long long a = 1, A;
while (a * a <= N)
{
if (N % a == 0)
A = a;
a++;
}
cout << A << " " << N / A << endl;
}
ユーザー解説
ユーザー解説を書くユーザー解説はまだありません。