poj2909 || poj2262
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
int isPri(int a, int b)
{
int i;
for(i=; i <= sqrt(a); i++)
{
if(a%i == )
return ;
}
for(i=; i <= sqrt(b); i++)
{
if(b%i == )
return ;
}
return ;
}
int main()
{
int n,flag,i,cout;
while(scanf("%d",&n) != EOF && n)
{
cout=;
for(i=; i< n/+; i++)
{
flag=isPri(i,n-i);
if(flag == )
cout++;
}
printf("%d\n",cout);
}
return ;
}
for循环用于产生数对,用i<n/2+1或i<=n/2都可以避免产生重复的数对
在判断素数的时候采用小学生做法:从2到sqrt(n),i=2,i<=n(必须加=)
如果是2和3,根本不会经过循环
以后都用《埃拉托斯特尼筛法》打表
算法描述:小于2的不是素数,用一个数组a[10000],元素下标表示这个数,元素的值表示是否是素数,c++做法是,bool a[10000],将a[0]和a[1]赋成0,从2开始,2*2,2*3...
2*6...这些下标对应的元素值全改0,在此环境下再次寻找下一个素数,再一次,3*2,3*3,3*4...乘积整体小于10000
ar[]
ar[]=;
ar[]=;
for(i=;i<;i++)
{
ar[i]=;
}
for(i=;i<;i++)
{
if(ar[i] == )
{
for(j=;i*j<;j++)
{
ar[i*j] = ;
}
}
}
下面的动态图很清楚:
http://blog.csdn.net/kingwolfofsky/article/details/7199758
poj2909 || poj2262的更多相关文章
- poj2262 Goldbach's Conjecture
poj2262 Goldbach's Conjecture 用欧拉筛把素数筛出来,再枚举一下. #include<iostream> #include<cstdio> #inc ...
- [POJ2262] Goldbach’s Conjecture
Goldbach's Conjecture Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 48161 Accepted: ...
- POJ2262问题描述
Goldbach's Conjecture Description In 1742, Christian Goldbach, a German amateur mathematician, sen ...
- poj2262
Goldb ...
- 筛法求质——poj2262&2909
这两道题都是哥赫巴德猜想的内容.基本的技术点都是在一个很大的数字范围里面求质数.直接判断两个数是不是质数,这种方法虽然可行但是还是很慢的.所以这两题我们使用打表! 而建立质数表的方法就是筛法求质,速度 ...
- [暑假集训--数论]poj2262 Goldbach's Conjecture
In 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard Euler in whic ...
- [暑假集训--数论]poj2909 Goldbach's Conjecture
For any even number n greater than or equal to 4, there exists at least one pair of prime numbers p1 ...
- poj2262 Goldbach's Conjecture——筛素数
题目:http://poj.org/problem?id=2262 水水更健康~ 代码如下: #include<iostream> #include<cstdio> #incl ...
- poj2909 欧拉素数筛选
刚刚学了一种新的素数筛选法,效率比原先的要高一些,据说当n趋近于无穷大时这个的时间复杂度趋近O(n).本人水平有限,无法证明. 这是道水题,贴代码出来重点是欧拉筛选法.我把原来普通的筛选法贴出来. / ...
随机推荐
- Big Number
问题陈述: 杭州电子科技大学 HANGZHOU DIANZI UNIVERSITY Online Judge Problem - 1018 问题解析: 公式一: n! = 10^m => lg( ...
- jquery multiselect控件
http://www.erichynds.com/blog/jquery-ui-multiselect-widget
- MySQLBackup 使用说明
001.mysqlbackup介绍: mysqlbackup是一个热备份工具.也就是说它不像mysqldump那样给表上一个全局锁,由于mysqldump上了这个锁,所以就造成客户端只能对 数据库进行 ...
- MySQL索引背后的数据结构及最左原则
MySQL索引原理 ##索引目的索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql.如果没有索引,那么你可能 ...
- vs2005的MFC程序在64位机上不能运行
出现上述错误大多因为该机上没有安装vs2005程序,vs2005要运行需要一些必要的文件,没有添加到你发布的可执行文件目录下,所以程序不能运行. 解决方法: 安装目录\Microsoft Visual ...
- Delphi调用安装驱动sys的单元
unit SysDriver; interface uses windows, winsvc; // jwawinsvc; Type TSysDriver = class(TObject) priva ...
- linux 启动 oracle数据库
第一步:切换到oracle用户 su - oracle 第二步:启动oracle数据库监听 lsnrctl start 第三步:输入下方命令,出现:sql> sqlplus /nolog 第四步 ...
- virtual private catalog
The following databases are registered in the base recovery catalog: PROD1, PROD2, and PROD3.The dat ...
- sublime text 2 安装
下载 http://pan.baidu.com/s/1eRemu0y http://jingyan.baidu.com/album/ff4116259b057c12e48237b8.html?pici ...
- 使用 Oracle Sql plus的一点经验
1 当你输入的语句有错误的时候,不用重新输入语句,直接输入ed就会出现一个文本文档显示之前输入的语句,这样你可以在文本文档里面修改语句,最后点保存. 2 三个set:设置每行显示的记录长度:SE ...