HDU-拆分素数和

做这个先是没看懂题,又是忘记了 1 不是素数 唉 --------------------------

学习之路坎坷啊

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

int main()
{
	int num;
	int i,n,flag=0;
	while (scanf("%d", &num))
	{
		flag = 0;
		if (num == 0)break;
		for (i = 2; i < num-i; i++)
		{
				if (task(i)&& task(num-i))
				{
					flag++;
				}
		}
		printf("%d\n", flag);
	}
}
int task(int n)
{
	if (n == 1||n==2) return 1;
	for (int i = 2; i*i <= n; i++)
	{
		if (n%i == 0)
		{
			return 0;
		}
	}
	return 1;
}

猜你喜欢

转载自blog.csdn.net/qq_40879809/article/details/79862669