题目链接:POJ 2739
题意:
给一个数n(属于闭区间[2,10000]),问这个数可以有多少种连续素数相加(可以只有一个素数)得到?
例如:53=5 + 7 + 11 + 13 + 17,也可以53=53.共两种方案。
思路:
先对10000以内素数打表,然后对每个输入数遍历两层循环查找即可。
#include <stdio.h>
#include <string.h>
#define maxn 1300
int prime[maxn];
int n;
int is_prime(int n)
{for (int i = 2;i*i <= n;i++)if (n%i == 0) return 0;return 1;
}
void init()
{memset(prime, 0, sizeof(prime));int