HDU-1262素数对

83 篇文章 0 订阅
45 篇文章 0 订阅

水题一个:

先打印素数表,然后去中,往两边一次选,就可以了,主意可以认为相同的两个素之和等于偶数,比如34=17+17。先前没注意这个WA。

#include<stdio.h>
#include<math.h>

int p[10010]; 

void get()  //打印素数 
{
  p[1]=1;
  for (int i = 4; i <= 10010; i += 2) {  
        p[i] = 1;  
    }  
    int LIM = (int)sqrt(10010.0);  
    for (int i = 3; i <= LIM; i += 2) {  
        if (p[i]) continue;  
        for (int j = i*i; j <= 10010; j += 2*i) {  
            p[j] = 1;     
        }  
    }  
}

int main()
{
	int n,k;
	get();
	while(scanf("%d",&n)!=EOF){
		k=n/2;
		for(int i=0;i<k;i++)
		 if(p[k-i]!=1&&p[k+i]!=1){
			printf("%d %d\n",k-i,k+i);
			break;
		 }
	}
	return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值