求判断一个正整数是否是素数的算法!
比较高效的算法是智能学习机制:
建立一个存储(可以使用链表),可以先存储上一系列的素数列表
试商的时候,可以从2开始,只试素数
并且,每次判断为素数的数,都按照从小到大的排列顺序,增加到我们建立的素数列表中
这样,我们的这个程序就会越算越快.求素数怎样优化算法
1.如果要找出这个范围内的所有素数,可以使用筛选法,把不是素数的筛掉
从小到大,如果p是素数,则筛去p*p,p*(p+1),.....
2.如果只是做判断,就用Miller-Rabin测试,基于费马小定理,对于正整数n,如果存在正整数a,满足a^(n-1)=1(mod n),(=应为三行的同余)
则n为基于a的伪素数,也就基本上是素数拉,只要对随机的多个a进行测试,如果都成立,就可以认为n是素数拉.怎么求素数?最简单的方法。谢谢,用C编程。谢谢
int Su(num)
{
int i,j,k=0,a[100];
for(i=2;i<=num;i++)
{
for(j=2;j<=i/2;j++)
{
if(i%j==0)
break;
}
if(j>i/2)
{
a[k]=i;
k++;
}
}
for(i=0;i<k;i++)
{
printf("%d ",a[i]);
}
return 0;
}
程序作用是判断1到num有多少个素数,保存到数组a中。
顺序输出3到100之间所有素数的算法
#include <stdio.h>
#include <math.h>
int IsPrime(int n)
{
int i;
if(n<2)
return 0;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
return 0;
return 1;
}
void main()
{
int n;
printf("输入1个整数:");
scanf("%d",&n);
if(IsPrime(n))
printf("此数是");
else
printf("不是");
}c语言求素数的算法
根据素数的性质,代码设计如下:
设计一:判断n是否能被1~n-1整除,不能整除为素数
#include<stdio.h>
int main()
{
int i, n;
scanf("%d", &n);
for (i = 2; i < n ; i++)
{
if (n%i == 0)
break;
}
if (i < n) printf("This is not a prime.");
else printf("This is a prime.");
return 0;
}
设计二:判断n是否能被2~√n间的整数整除,不能整除为素数
#include<stdio.h>
#include<math.h>
int main()
{
int n,i;
double k;
scanf("%d", &n);
k = sqrt(n);
for (i = 2; i <= k;i++)
{
if (n%i == 0) break;
}
if (i <=k) printf("This is not a prime.");
else printf("This is a prime");
return 0;
}
扩展资料:
1.素数的定义是只能被1和他本身整除,1不是素数.因此要判断一个数是否为素数.就要判断它能不能被比他小的所有素数整除,这是一个算法.(写到算法时,我只能写出用它除以比他小的所有数,造成运算速度低下)
2.如果一个质数大于根号n,而n可以除尽它,那么n必然也可以除尽一个更小的质数。
由此可以得到一个法2较快的素数判断算法?
参考资料:搜狗百科-scanf
参考资料:搜狗百科-质数有能写出所有素数的公式吗
有的,上面的没表达清楚。
在公式A=(n-1)*(||B2-1|-(B2-1)|)/2+2, 其中B=m(n+1)-(n!+1)中,m,n以自然数代入,所得的结果一定是素数。
这就是自欧几里德在<<几何原本>>证明了素数是无限多个后,多少世纪以来人们一直所寻找的能写出所有素数的公式!
不难看出,A一定是整数,且有: 若B=0,有A=n+1; 若B≠0, 有A=2.
B≠0时,A已为素数,当B=0, 即m(n+1)-(n!+1)=0, 即m=(n!+1)/(n+1).在初等数论中有一著名的定理叫做"威尔逊定理", 可陈述为(n!+1)/(n+1)为整数的充要条件是n+1是素数。
所以B=0时,m=(n!+1)/(n+1)为整数,故A=n+1必为素数。
LZ喜欢数论吗?我对这个比较喜欢。
刚从硬盘里翻出来的,呵呵~
Friendhosting商家在前面的篇幅中也又陆续介绍到,是一家保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌克兰和美国洛杉矶等。这不近期黑色星期五活动,商家也有推出了黑五优惠,VPS全场一次性45折,虚拟主机4折,全球多机房可选,老用户续费可获9折加送1个月使用时长,VDS折后最低仅€14.53/年,有需要的可以看看。Friendhos...
RAKsmart 商家从原本只有专注于独立服务器后看到产品线比较单薄,后来陆续有增加站群服务器、高防服务器、VPS主机,以及现在也有在新增云服务器、裸机云服务器等等。机房也有增加到拥有洛杉矶、圣何塞、日本、韩国、中国香港等多个机房。在年前也有介绍到RAKsmart商家有提供年付129元的云服务器套餐,年后我们看到居然再次刷新年付云服务器低价格。我们看到云服务器低至年79元,如果有需要便宜云服务器的...
目前在标准互联这边有两台香港云服务器产品,这不看到有通知到期提醒才关注到。平时我还是很少去登录这个服务商的,这个服务商最近一年的促销信息比较少,这个和他们的运营策略有关系。已经从开始的倾向低价和个人用户云服务器市场,开始转型到中高端个人和企业用户的独立服务器。在这篇文章中,有看到标准互联有推出襄阳电信高防服务器100GB防御。有三款促销方案我们有需要可以看看。我们看看几款方案配置。型号内存硬盘IP...
素数算法为你推荐
prisma安卓版Prisma安卓版能不能用短信营销方案中秋节,国庆节短信营销方案动态图片格式动态图片什么格式腾讯合作伙伴大会如何成为腾讯渠道合作伙伴?za是哪个国家的ci是在哪个国家产生的?哪个国家开始流行的怎么查微信注册时间微信号用了多久,怎么知道acceptchangesaltium designer 6.0如何给元件重新编号flushesno-show rate是什么ibooks支持什么格式iPhone4的ibooks怎么导入电子书 还有支持什么格式手机在线客服怎么才能联系到腾讯人工客服
虚拟主机申请 fdcservers 全球付 php主机 gitcafe lighttpd 绍兴高防 英文站群 40g硬盘 vip购优汇 国外免费全能空间 789电视网 可外链相册 免费phpmysql空间 搜索引擎提交入口 彩虹云 七牛云存储 hosts文件修改 cloudflare 服务器是什么 更多