求助,悬1关
  • 板块学术版
  • 楼主Guo1
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/6/1 19:42
  • 上次更新2023/10/23 14:09:02
查看原帖
求助,悬1关
743879
Guo1楼主2023/6/1 19:42

我这道题的代码:

#include<iostream>
#include<cstdio>
using namespace std;
int n,a[20],ans=99999,product[20];
int Gcd(int x,int y)
{
	if(y==0) return x;
	return Gcd(y,x%y);
}
void dfs(int k,int step)
{
	if(step==n+1)
	{
		if(k<ans) ans=k;
		return;
	}
	for(int i=1;i<=k;++i)
	{
		if(Gcd(product[i],a[step])==1)
		{
			product[i]*=a[step];
			dfs(k,step+1);
			product[i]/=a[step];
		}
	}
	product[k+1]*=a[step];
	dfs(k+1,step+1);
	product[k+1]/=a[step];
}
int main()
{	
	scanf("%d",&n);
	for(int i=1;i<=n;++i) cin>>a[i],product[i]=1;
	dfs(1,1);
	printf("%d\n",ans);
	return 0;
}

80求助。

几乎和网上的题解一模一样啊,验证码2899,全数字

2023/6/1 19:42
加载中...