G05 最大公约数 欧几里得算法
视频链接:https://www.bilibili.com/video/BV1XG4y1q7e7
Luogu P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题
#include <iostream> #include <cstring> #include <algorithm> using namespace std; typedef long long LL; LL x,y,ans; LL gcd(LL a, LL b){ return b==0 ? a : gcd(b,a%b); } int main(){ cin>>x>>y; LL t = x*y; for(LL i=1; i*i<=t; i++) if(t%i==0 && gcd(i,t/i)==x) ans += 2; if(x==y) ans--; cout << ans; return 0; }