求调,玄关
查看原帖
求调,玄关
737219
YONEX楼主2024/7/26 19:38

RT,拜谢

#include<bits/stdc++.h>
using namespace std;
int a[10000097]={0};


bool check1(int k)
{
	if(k%7==0)
	{
		return 0;
	}
	else
	{
		return 1;
	}
}

bool check2(int k)
{
	int p=k;
	int num=0;
	while(p)
	{
		num=p%10;
		if(num==7)
		{
			return 0;
		}
		p/=10;
	}
	return 1;

}

bool check3(int k)
{
	int cnt=0;
	for(int i=1;i<=k;i++)
	{
		if(k%i==0)
		{
			cnt==k%i;
			if(cnt==7)
			{
				return 0;
			}
		}
	}
	return 1;
}


bool check4(int k)
{
//	bool check=0;
	for(int i=6;i<=k;i++)
	{
		if(k%i==0)
		{
			a[i]==i;
		}
	}
	
	for(int i=6;i<=k;i++)
	{
		if(a[i]!=0)
		{
		    if( !check1(a[i]) or !check2(a[i]) or !check3(a[i]) )
		    {
		        return 0;
	    	}
		}	
	}
//    if(check==0)
//    {
    	return 1;
//	}
//	else
//	{
//		return 0;
//	}
}

int main()
{
	int a;
	int k;
	scanf("%d",&a);
	int cnt=0;
	for(int i=1;i<=a;i++)
	{
		cnt=0;
		scanf("%d",&k);
		if(!check1(k) or !check2(k) or !check3(k) or !check4(k))
		{
			cout<<-1<<endl;
			continue;
		}
		for(int i=k+1;i<=10000097;i++)
		{
			if(cnt==0)
			{
				if(check1(i) and check2(i) and check3(i) and check4(i))
		    	{
			    	cout<<i;
		    		printf("\n");
		    		cnt++;
		    	}
			}
		}
	}
	return 0;
}
2024/7/26 19:38
加载中...