D - 約数/Divisor Editorial by leaf1415


\(X\) の正の約数の個数と \(Y\) の正の約数の個数を実際に求めて比較します。

\(X\) の正の約数の個数を求めるには、\(i = 1, 2, \ldots, X\) について、\(i\)\(X\) の約数かどうか(つまり、\(X\)\(i\) で割り切れるかどうか)を実際に判定すれば良いです。\(Y\) の正の約数の個数も同様に求められます。

以下に、C++言語による実装例を記載します。

#include <iostream>
using namespace std;

int main(void)
{
  int x, y;
  cin >> x >> y;

  int a = 0, b = 0;
  for(int i = 1; i <= x; i++){
    if(x % i == 0) a++;
  }
  for(int i = 1; i <= y; i++){
    if(y % i == 0) b++;
  }

  if(a > b) cout << "X" << endl;
  else if(a < b) cout << "Y" << endl;
  else cout << "Z" << endl;

  return 0;
}

posted:
last update: