精华内容
下载资源
问答
  • MIPS汇编下用筛选法求100以内素数,有C语言对照,工具的话,用spim模拟器。
  • 用筛选法求100以内素数

    千次阅读 2019-01-19 18:23:18
    用筛选法求100以内素数 所谓筛选法是指埃拉托色尼筛选。埃拉托色尼是古希腊的著名数学家。他采取的方法是,在一张纸上写上1到1000的全部整数,然后逐个判断他们是否素数,找出一个非素数,就把他们挖掉,最后剩下...

    用筛选法求100以内的素数

    所谓筛选法是指埃拉托色尼筛选。埃拉托色尼是古希腊的著名数学家。他采取的方法是,在一张纸上写上1到1000的全部整数,然后逐个判断他们是否素数,找出一个非素数,就把他们挖掉,最后剩下的就是素数。
    用算法可以表示如下:
    (1)先将1挖去。
    (2)用2去除他后面的各个数,把能被2整出的数挖掉,即把2的倍数挖掉。
    (3)n=3,4,…,100/2,重复2步骤直到所求数的一半即可。(若简化,可求到所求数的平方根即可)
    (4)剩下的即是素数。

    代码如下:

    #include<stdio.h>
    int main()
    {
    	int a[100],j;                                                  
    	for(j=1;j<=100;j++)
    	a[j]=j;
    	for(int i=2;i<=100/2;i++)
    	for(j=2;j<=100;j++){
    		if(j%i==0&&a[j]!=0&&j!=i)//判断是否为质数,满足不为质数,删去 
    		a[j]=0;
    	}
    	printf("100以内的素数为:\n");
    	for(j=2;j<=100;j++)
    	if(a[j]!=0)
    	printf("%d ",a[j]);
     } 
    

    在这里插入图片描述

    展开全文
  • //题目:用筛选法求100以内素数 #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main() { int i,j,k,num[101]; for(i=1;i&lt;=100;i++) num[i]=i; for(i=1;i&lt;=...
    //C程序设计第四版(谭浩强)
    //章节:第六章 利用数组处理批量数据 
    //题号:6.1 
    //题目:用筛选法求100以内的素数
    #include <stdio.h>
    #include <math.h>
    int main()
    {
    	int i,j,k,num[101];
    	for(i=1;i<=100;i++)
    		num[i]=i;
    	for(i=1;i<=100;i++)
    	{
    		k=sqrt(i);
    		for(j=2;j<=k;j++)
    			if(num[i]%j==0)
    				num[i]=0;	//筛选法:将合数筛去,置为0 
    	}
    	for(i=2;i<=100;i++)		//1不是素数也不是合数,从2开始 
    		if(num[i])
    			printf("%d ",num[i]);
    	return 0;
     } 
    
    展开全文
  • 用筛选法求100以内素数,要求使用数组。 #include "stdafx.h" #include<iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int a[100],i,b[100],j,n=0; //数组a[100]来...

    用筛选法求100以内的素数,要求使用数组。


    #include "stdafx.h"
    #include<iostream>
    using namespace std;


    int _tmain(int argc, _TCHAR* argv[])
    {
    int a[100],i,b[100],j,n=0;     //数组a[100]来放用于推断的数,数组b[100]来放素数
    for(i=0;i<100;i++)       //注意这里i不能从1開始,由于数组a的首位是a[0]      
    {
    a[i]=i+1;         //令a[100]中的数是从1到100的
    }
    for(i=2;i<=100;i++)      //0和1不用推断
    {
    for(j=2;j<i;j++)
    {
    if(i%j==0)
    {
    break;       //假设i能整除从2到i-1之间随意一个数,那么i就不是素数。跳出循环
    }
    if(j==i-1)     //假设上述条件一直不成立,那么循环结束后j=i-1。此时i是素数
    {
    b[n]=i;    
    n++;       //将i按顺序放到数组b[100]里
    }
    }
    }


    for(i=0;i<n;i++)
    {
    cout<<b[i]<<endl;    //依次输出数组b里存放的数
    }
    return 0;
    }

    转载于:https://www.cnblogs.com/jzssuanfa/p/7105784.html

    展开全文
  • 用筛选法求100以内的的素数 1.算法介绍 筛选法是指埃拉托色尼(Eratosthenes)筛选,埃拉托色尼是古希腊的著名数学家。他采取的方法是,先写下1到1000的全部整数,然后逐个判断它们是否素数,找出一个非素数,就把...

    用筛选法求100以内的的素数

    1.算法介绍

    	筛选法是指埃拉托色尼(Eratosthenes)筛选,埃拉托色尼是古希腊的著名数学家。他采取的方法是,先写下1到1000的全部整数,然后逐个判断它们是否素数,找出一个非素数,就把它挖掉,最后剩下的就是素数。
    

    2.算法流程

    	1.先挖掉1;
    	2.用下一个未被挖掉的数p除p后面各数,把p的倍数挖掉;
    	3.检查p是否小于根号n的整数部分(如果n=100,p<11),成立则返回第2步,不成立则结束;
    	4.剩下的就是素数。
    

    3.代码(c语言)

    #include <stdio.h>
    #include <math.h>
    
    int main()
    {
    	int i, j, n, a[101];                           //定义数组包含101个元素 
    	                                                
    	for (i = 1; i <= 100; i++)                     //a[0]不用,只用a[1]到a[100],其值为1到100 
    	{
    		a[i] = i;                                  
    	}
    	a[1] = 0;                                     //去掉1,1既不是质素也不是合数 
    	for (i = 2; i < sqrt(100); i++)               //求2开始的质数
    	{
    		for (j = i+1; j <= 100; j++)
    		{
    			if (a[i] != 0 && a[j] != 0)
    			{
    				if (a[j] % a[i] == 0)             //让后面的数除以前面的数,如果余数为0,表明该数不是素数 
    					a[j] = 0;                     //使该数=0,去掉该数 
    			}
    		}
    	}
    	printf("\n");
    	for (i = 2, n = 0; i <= 100; i++)            //输出素数 
    	{
    		if (a[i] !=0)                            //选出不等于0的数 
    		{
    			printf("%5d", a[i]);
    			n++;                                 //累计本行输出的个数 
    		}
    		if (n == 10)                             //每10个换行 
    		{
    			printf("\n");
    			n = 0;
    		}
    	}
    	printf("\n");
    	
    	return 0;
    }
    

    4.结果

    devc++运行结果

    展开全文
  • 用筛选法求100以内素数

    千次阅读 2012-12-05 09:41:43
    用筛选法求100以内素数 所谓“筛选法”指的是“埃拉托色尼(Eratosthenes)筛法”。他是古希腊的著名数学家。他采取的方法是,在一张纸上写上1到100全部整数,然后逐个判断它们是否是素数,找出一个非素数,就把它...
  • //筛选法就是“埃拉托色尼筛法” //就是将非素数“挖掉”,只剩下素数,所谓挖掉就是把非素数归为0,之后 进行判断即可 //1:先输入数组元素 //2:先把a[1]等于0; //3:i从2开始,可以小于100,也可以根号下(100)...
  • int main() { int i,j,n,a[101];//为了使数和下标一一对应 ...=100;i++) { a[i]=i; a[1]=0; } for(i=2;i<sqrt(1.0*100);i++) { for(j=i+1;j<=100;j++) { if(a[i]!=0 && a[j]!=0)...
  • 【C语言】 利用筛选法求100以内素数

    万次阅读 多人点赞 2018-10-27 09:41:29
    //C语言 筛选法求100以内素数 //原理很简单,就是当i是质(素)数的时候,i的所有的倍数必然是合数。如果i已经被判断不是质数了,那么再找到i后面的质数来把这个质 //数的倍数筛掉。 //我们将从2开始 2除后面的数...
  • 用筛选法求100以内素数问题

    千次阅读 2014-04-11 10:16:33
    #include #include int main() { int i,j,n,a[101]; for(i=1;i<=100;i++)/*a[0]不用,只用a[1]到a[100]*/ a[i]=i; a[1]=0;/*先挖掉a[1]*/ for(i=2;i(100);i++) if(a[i]!=0)
  • 筛选法求100以内素数

    千次阅读 2011-02-19 14:07:00
    筛选法求100以内素数 算法: (1)挖去1; (2)下一个未被挖去的数P去除P后面各数,把P的倍数挖掉; (3)检查P是否小于n的开方的整数部分,如果是,则返回2继续执行,否则就结束。 (4)剩下的数就是素数...
  • 用筛选法求N以内的素数解题思想操作步骤第一步第二步第三步第四步第五步具体代码总结 解题思想 筛选法其实就是对2,5,3,7分别筛选,分别把除了自身其他的倍数筛选出来。下面以100以内举例。 操作步骤 第一步 首先...
  • 简单素数筛选法求N以内素数。 输入 N 输出 2~N的素数 样例输入 100 样例输出 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 #include<stdio.h> int main() { int n, i, m; ...
  • 用筛选法求n以内素数。 筛选法求解过程为:将2~n之间的正整数放在数组内存储,将数组中2之后的所有能被2整除的数清0,再将3之后的所有能被3整除的数清0 ,以此类推,直到n为止。数组中不为0 的数即为素数。输入:...

空空如也

空空如也

1 2 3 4
收藏数 75
精华内容 30
关键字:

用筛选法求100以内素数