关于ABC215的D题
  • 板块题目总版
  • 楼主BensonQAQ666
  • 当前回复4
  • 已保存回复4
  • 发布时间2021/8/21 22:41
  • 上次更新2023/11/4 09:44:34
查看原帖
关于ABC215的D题
349798
BensonQAQ666楼主2021/8/21 22:41

题目

我同学的代码

我的代码

#include<algorithm>
#include<iostream> 
#include<cstring>
#include<string>
using namespace std;
int N,M,x,s,a[10000001],b[10000001];
int gcd(int a,int b)//gcd函数 
{
	return b>0?gcd(a,a%b):a; 
}
int main()
{
	int i,j,k=0,t,f;
	cin>>N>>M;
	for(i=1;i<=N;i++)//输入N个数 
		cin>>a[i];
	for(i=1;i<=M;i++)//一到M一个个判断 
	{
		f=1;//flag 
		for(j=1;j<=N;j++)//一到N要求全符合 
			if(gcd(max(i,a[j]),min(i,a[j]))!=1)//辗转相除法要求前面的数大,后面xiao 
			{
				f=0;//改变flag 
				break; //直接退出节省时间,不过即使是1s的时间限制应该也不用加 
			}
		if(f==1)//如果i和全部的a[j]的公约数为1 
		{
			s++;//计数器 
			//a[++k]=i;//记录,代码出错,太慌了,我现在该 
			b[++k]=i;//注释时发现的 
		}
	}
	cout<<s<<endl;
	for(i=1;i<=k;i++)
		//cout<<a[i]<<endl;
		cout<<b[i]<<endl;//一起改 
	return 0;
}

已经找不到错误了

2021/8/21 22:41
加载中...