代样例全对,提交答案全错,求错因
查看原帖
代样例全对,提交答案全错,求错因
639089
jnyzcmj楼主2022/5/1 14:29
#include <iostream>
#include <cmath>
using namespace std;
int check1(int a)//7的倍数
{
	if (a%7==0)
	return 0;
	else return 1;
	}
int check2(int a)//含7的数的倍数
{
	int b =1;
	for (int i=1;i<=sqrt(a);i++)
	{
		if (a%i==0)
		{
			if ((a/i)%10==7||(a/i)%100/10==7||(a/i)%1000/100==7||(a/i)%10000/1000==7||(a/i)%100000/10000==7||(a/i)%1000000/100000==7)
			{
				 b=0;
				}
			}
		if (b==0)
		{
			return 0;
			break;
			}
		}
	return 1;
	}
int check(int a)
{
	if (check1(a)==1&&check2(a)==1)
	return 1;
	}
int main()
{
	using namespace std;
	int n;
	cin>>n;
	int arr[n+100];
	for (int i=1;i<=n;i++)
	{
		cin>>arr[i];
		}
	for (int i=1;i<=n;i++)
	{
		if (check(arr[i])==1)
		{
			for (int j=arr[i]+1;j>=0;j++)
			{
				if (check(j)==1)
				{
					arr[i]=j;
					break;
					}
				}
			}
		else arr[i]=-1;
		}
	for (int i=1;i<=n;i++)
		{
			cout<<arr[i]<<endl;
			}
	return 0;
	}
2022/5/1 14:29
加载中...