博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 2262
阅读量:6894 次
发布时间:2019-06-27

本文共 871 字,大约阅读时间需要 2 分钟。

  一道非常简单的题,重点在于检查一个数是否为奇数且质数。检查质数的时候我用打表的方式直接检查,用素数筛法进行打表,开始写的素数筛法效率很低,后来参考了下其他人的优化。我有一点难理解的是,这种从2倍开始,对于当前找到的所有素数,乘以倍数得到的数,将他们筛掉的方法为什么能够确保筛掉所有素数,并且最后控制被筛掉的数只被筛一次的条件也有些难以理解。记录在此,供今后研究。

#include
#define MAX_LIMT 1000000int chk_odd(int);void make_prime(void);int prime[MAX_LIMT],recrd[MAX_LIMT];int main(){ int n; make_prime(); while(scanf("%d",&n)!=EOF&&n!=0) { int a=2,k=1; while(a
MAX_LIMT) break; if(chk_odd(n-a)&&prime[a]&&prime[n-a]) { printf("%d = %d + %d\n",n,a,n-a); break; } k++; } } return 0;}int chk_odd(int x){ if(x%2) return 1; else return 0;}void make_prime(void ){ int i,j,cnt=0; for(i=0;i

转载于:https://www.cnblogs.com/coredux/archive/2012/06/09/2543495.html

你可能感兴趣的文章
Lucene初探
查看>>
【python】编程语言入门经典100例--34
查看>>
static和final的意义
查看>>
main 函数的两个参数
查看>>
基于pycharm的python开发配置
查看>>
多线程技术
查看>>
连接显示提示语
查看>>
ipvsadm的命令参考
查看>>
CCNP学习笔记4
查看>>
linux下搭建 FastDFS + Nginx
查看>>
推荐一个国内的maven库
查看>>
ElasticSearch的Mapping之字段类型
查看>>
jQuery插件
查看>>
数字3为分隔
查看>>
查看MySQL表占用空间大小
查看>>
华章11-12月份新书简介(2017年)
查看>>
第三周作业
查看>>
Vector、ArrayList、List使用深入剖析
查看>>
【调试】Core Dump是什么?Linux下如何正确永久开启?
查看>>
新浪微博API授权
查看>>