hdu 1262 寻找素数对(数论:生成素数表+水题)

来源:互联网 发布:淘宝哪个类目好做 编辑:程序博客网 时间:2024/06/05 10:05

直接生成素数表即可,再从一半的位置处遍历即可

代码如下:

#include <stdio.h>#define MAXN 10010int vis[MAXN];void gen_primes() {    int i, j;    for(i=2; i*i<=MAXN; ++i) {        if(!vis[i]) {            for(j=i+i; j<=MAXN; j+=i)                 vis[j] = 1;        }    }}int main(void) {    int n, i;    gen_primes();    while(scanf("%d", &n) != EOF && n%2==0) {        for(i=n/2; ; --i) {            if(!vis[i] && !vis[n-i]) {                printf("%d %d\n", i, n-i);                break;            }        }    }}


0 0
原创粉丝点击