题目链接:[NOIP2001 普及组] 最大公约数和最小公倍数问题 - 洛谷
题目难度:普及-
涉及知识点:stl函数,最大公因数,最小公倍数
题意:
输入输出样例:
分析:直接套用公式优化累加即可
AC代码:
#include<bits/stdc++.h>//可使用STL函数:__gcd判断最大公因数
using namespace std;
int main()
{
int a,b,ans=0;
ios::sync_with_stdio(false);//加快cin,cout
cin>>a>>b;
for(int i=a;i<=b;i++)
{//再来一个for循环会超时
int j=a*b/i;//最大公因数==(a*b)/__gcd(a,b),所以一因数==最大公因数*最小公倍数/另一因数
if(__gcd(i,j)==a&&(i*j)/__gcd(i,j)==b)ans++;//判断累加
}
cout<<ans;
return 0;
}
总结:直接套用公式优化累加即可