社区讨论

help!#10TLE!

P1029[NOIP 2001 普及组] 最大公约数和最小公倍数问题参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lzpkvuye
此快照首次捕获于
2024/08/11 21:06
2 年前
此快照最后确认于
2024/08/11 21:52
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int gcd(int a, int b) {
	int u,i;
	u=a;
	i=b;
    while (b != 0) {
        int temp = b;
        b = a % b;
        a = temp;
    }
    int r=a;
    a=u;
    b=i;
    return r;
}
int lcm(int a,int b){
	int o;
	o=(a*b)/gcd(a,b);
	return o;
}
int main(){
	int x0,y0,add=0;
	long long c;
	cin>>x0>>y0;
	if(x0==y0){
		cout<<1;
		return 0;
	}
	c=x0*y0;
	for(int i=2;i<=c;++i){
		if(c%i==0){
			if(gcd(i,c/i)==x0){
				add=add+1;
			}
		}
	}
	cout<<add;
	return 0;
}
这是为什么? (蒟蒻求大佬解答)

回复

0 条回复,欢迎继续交流。

正在加载回复...