当前位置: 代码迷 >> 综合 >> P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题 gcd
  详细解决方案

P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题 gcd

热度:45   发布时间:2023-12-06 11:20:50.0

题目:
在这里插入图片描述
思路:
学会了gcd之后其实挺方便的。
P*Q= x 0 ? y 0 x_0\cdot y_0 x0??y0?

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
using namespace std;
const int maxn=111;
int x,y,cnt=0;
int gcd(int a,int b)
{
    if(!b) return a;return gcd(b,a%b);
}
int main()
{
      cin>>x>>y;for(int i=x;i<=y;i+=x){
    if((x*y)%i!=0) continue;if(gcd(i,x*y/i)==x){
    cnt++;//cout<<"cnt="<<cnt<<" "<<i<<" "<<x*y/i<<endl;}else continue;}cout<<cnt<<endl;return 0;
}
  相关解决方案