第二个测试点WA了
查看原帖
第二个测试点WA了
713382
dmlauaeo楼主2023/6/9 11:16

请问是什么地方错了?

#include <stdio.h>

int isPrime(int x)
{
	if (x == 1)
	{
		return 0;
	}
	if (x == 2 || x == 3 || x == 5 || x == 7)
	{
		return 1;
	}

	if ( !( (x + 1) % 6 && (x - 1) % 6 ) )
	{
		for (int j = 2; j * j <= x; j++)
		{
			if (!(x % j))
			{
				return 0;
			}
		}
		return 1;
	}
	else
	{
		return 0;
	}

}
int main()
{
	int num = 0;
	int remain = 0;//剩余容量
	int primes = 0;//质数个数
	scanf("%d", &num);
	remain = num;

	for (int i = 1; i <= num; i++)
	{
		if (isPrime(i))
		{
			if (i <= remain)
			{
				printf("%d\n", i);
				remain -= i;
				primes++;
			}
			else
			{
				printf("%d\n", primes);
				return 0;
			}
		}
	}
	return 0;
}
2023/6/9 11:16
加载中...