社区讨论

?

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

讨论操作

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

当前回复
7 条
当前快照
1 份
快照标识符
@mm1i5b57
此快照首次捕获于
2026/02/25 11:56
2 周前
此快照最后确认于
2026/02/26 18:35
2 周前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int b(int a,int b)//公倍数 
{
	int ans=1;
	for(int i=2;i<=a;i++)
	{
		if(a%i==0&&b%i==0)
		{
			a/=i;b/=i;
			ans*=i;
			i=2;
		}
	}
	ans=ans*a*b;
	return ans;
}
int l(int a,int b)//公约数 
{
	for(int i=a-1;i>=2;i--)
	if(a%i==0&&b%i==0)
	return i;
} 
int main()
{
	int x,y;
	cin>>x>>y;
	int ans=0;
    for(int i=2;i<=max(x,y);i++)
	{
		for(int j=2;j<=max(x,y);j++)
		{
			if(l(i,j)==x&&b(i,j)==y)
			ans++;
		}
	}
	cout<<ans;
}

回复

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

正在加载回复...