先循环找出最大公约数,然后根据最小公倍数得到j(代码),最后通过运算得到最小公倍数
主要考察基础算法
AC代码如下
#include<iostream>
using namespace std;
int check(int i, int j)
{
int k, t = 1;
if (i < j)
{
k = i;
i = j;
j = k;
}
while (t)
{
t = i % j;
i = j;
j = t;
}
return i;
}
int main()
{
int x, y, j, re = 0;
cin >> x >> y;
for (int i = x; i <= y; i += x)
{
if ((x * y) % i == 0)
{
j = x * y / i;
if (check(i, j) == x)
{
re++;
}
}
}
cout << re << endl;
return 0;
}