社区讨论
蒟蒻求助
P1029[NOIP 2001 普及组] 最大公约数和最小公倍数问题参与者 4已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lywjhidh
- 此快照首次捕获于
- 2024/07/22 13:21 2 年前
- 此快照最后确认于
- 2024/07/22 14:28 2 年前
第6和第10个点的TLE烦死了
C#include<bits/stdc++.h>
using namespace std;
long long a,b,sum=0;
long long gcd(long long a,long long b){
if(b==0) return a;
return gcd(b,a%b);
}
int main(){
scanf("%lld%lld",&a,&b);
for(long long n=1; n<=a*b; n++){
long long m=a*b/n;
if(n*m!=a*b) continue;
long long x=gcd(n,m),y=n*m/x;
if(x==a&&y==b) sum++;
}
printf("%d\n",sum);
return 0;
}
谁有更好的方法吗?
回复
共 5 条回复,欢迎继续交流。
正在加载回复...