如何求一个数组中的数是否为质数(素数)
来源:互联网 发布:版权局 网络音乐 编辑:程序博客网 时间:2024/05/20 20:45
今天研究了一下求1-100之内素数的方法,花了一个多小时,为便以后研究记录下来。
方法1:
//利用筛法查找质数(素数) #include "stdio.h"#include "math.h"int main(){int a[100];int i,newp;//在数组中加入一百个数 for(i=0;i<100;i++){a[i]=i+1;}//将所有不是质数的数置为零,1不是质数将其置为0。a[0]=0;//质数的倍数一定不为质数,在数字2-sqrt(n)(sqrt(n)函数的作用是求n的开方数)的范围内找出所有质数的倍数将其置为0for(newp=1;a[newp]<sqrt(100);newp++){//判断其是否为质数if(a[newp]!=0){//从该质数的后一个数判断是否为该质数的倍数 i=newp+1;while(a[i]<101){if(a[i]%a[newp]==0){a[i]=0;//将该质数的倍数置为0 }i++;}}}//打印所有的质数 for(i=0;i<100;i++){if(a[i]!=0)printf("%5d",a[i]);}return 0;}
//方法2:这种方法比较简单,就是看2到该数减去1之内的数能否被该数整除#include "stdio.h"int main(){int a[100];int i,j,flag;for(i=0;i<100;i++){a[i]=i+1;}//取出2-a[99]中的数进行判断 for(i=1;a[i]<101;i++){flag=1;for(j=2;j<a[i];j++){if(a[i]%j==0){flag=0;break;} }if(flag==1){printf("%5d",a[i]);}} return 0;}
//方法3 与方法2不同的是看2到该数的开方数范围内的数能否被该数整除#include "stdio.h"#include "math.h"int main(){int a[100];int i,j,t;for(i=0;i<100;i++){a[i]=i+1;}for(i=1;i<100;i++){t=sqrt(a[i]);for(j=2;j<t+1;j++){if(a[i]%j==0)break;}if(j==t+1)printf("%5d",a[i]);}return 0;}
- 如何求一个数组中的数是否为质数(素数)
- 如何判断一个数是否为素数(质数)?
- php判断一个数是否为质数(素数)
- 求一个数是否为素数
- 求一个数是否为素数
- 用JAVA判断一个数是否为素数(质数)
- 如何判断一个数是否为质数&得到质数序列
- 如何判断一个数是否为素数
- 如何判断一个数是否为素数
- 如何判断一个数是否为素数
- 如何判断一个数是否为素数
- 如何判断一个数是否为素数
- 如何判断一个数是否为素数
- 如何判断一个数是否为素数
- 1、判断一个数是否为素数,并求出1-1000中的全部素数(素数即质数,除1和自身以外没有其它因子,最小的质数是2)。
- 判断一个整数是否为素数(或称为质数)
- 【笔试】Java判断一个正整数是否为质数(素数)。
- C#实现的Rabin-Miller检测素数算法,可检测一个数是否为素数(质数)
- 快速排序的三种写法的效率比较
- ABAP table control
- java根据图片链接复制图片到剪切板
- asin 函数
- ACM小计划【9月3日~9月9日 第一周】
- 如何求一个数组中的数是否为质数(素数)
- abap table control里面各种属性和事件的写法
- Asp.Net Form身份验证
- 浅谈REST
- Hibernate中小知识点
- hadoop下mahout bayes(贝叶斯)算法研究(2)
- <<人月神话>>经典之处收集
- 声明一个类MyString,定义它里面的各个函数
- 做IT的与卖鞋买鞋的对比,欢乐一笑!