【NOIP2001普及组】最大公约数和最小公倍数问题

mac2022-06-30  32

P1029 最大公约数和最小公倍数问题

最大公约数用辗转相除法:

最小公倍数:两个数的乘积=他们的最大公约数*最小公倍数,既然两个数的乘积及其最大公约数已知,那么最小公倍数也可以求了。

#include<bits/stdc++.h> using namespace std; int x,y,sum; int gcd(int a,int b) { if(!b)return a; return gcd(b,a%b); } int main() { scanf("%d%d",&x,&y); for(int i=x; i<=y; i+=x) if(gcd(i,x*y/i)==x&&(x*y)%i==0)sum++; printf("%d",sum); return 0; } AC

 

转载于:https://www.cnblogs.com/yige2019/p/11293859.html

最新回复(0)