首页 > 其他分享 >用筛选法求100之内的素数

用筛选法求100之内的素数

时间:2024-11-05 19:20:13浏览次数:3  
标签:++ 质数 Len int 素数 100 整除 法求

【题目分析】1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的 数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。

【代码实现】

#include <stdio.h>
#define Len 100
int  main() {
	int a[Len];
	int i,j;
	for (i = 0; i < Len; i++) {				//将数组中的每个元素赋初值
		a[i] = i + 1;
	}
	
	a[0] = 0;								//1本身就不是质数,直接赋值为0
	for (i = 0; i < Len-1; i++)				//100也不是质数,故直接少一次循环
	{
		for (j = i + 1; j < Len; j++) 
		{
			if (a[i] != 0 && a[j] != 0)    // 用a[j]位置的数字去模i位置之后的所有数据
										   // 如果能够整除则一定不是素数,该位置数据用0填充
			{
				if (a[j] % a[i] == 0)
					a[j] = 0;
			}
		}
	}

	for (i = 0; i < Len-1; i++) {
		if (a[i] != 0)					   //数组中不为0的数即为素数
			printf("%d ",a[i]);
	}
	return 0;
}

标签:++,质数,Len,int,素数,100,整除,法求
From: https://blog.csdn.net/qq_64468018/article/details/143522508

相关文章

  • Leecode热题100-4.寻找两个正序数组的中位数
    给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log(m+n)) 。示例1:输入:nums1=[1,3],nums2=[2]输出:2.00000解释:合并数组=[1,2,3],中位数2示例2:输入:nums1=[......
  • 判断一个数是不是质数(素数)
    publicstaticbooleanisPrime(intn){if(n<=3){returnn>1;)for(inti=2;i<n;i++){if(n%i==0){returnfalse;})returntrue;}质数(也称为素数)是指在大于1的自然数中,除了1和它本身以外不再有其他因数的数。换句话说,质数只能被1和它自身整除。例如,2,3,......
  • 判断一个数是不是质数(素数)
    ​ publicstaticbooleanisPrime(intn){if(n<=3){returnn>1;)for(inti=2;i<n;i++){if(n%i==0){returnfalse;})returntrue;}质数(也称为素数)是指在大于1的自然数中,除了1和它本身以外不再有其他因数的数。换句话说,质数只能被1和它自身整除。例如......
  • 电动两轮车上所使用的车充芯片 CSM3820SG,能够支持 100V 以内的电压输入,输出为 5V-2A。
    如今,在美团外卖骑手、跑腿服务以及家用等领域,电动两轮车极为受欢迎。倘若为电动车配备可给手机充电的接口,将会给广大消费者带来极大的便利。然而,电动两轮车的电瓶电压较高,通常为36V-48V,甚至72V电池供电。普通的降压DC-DC无法承受如此高的输入电压。而芯生美研发的CSM382......
  • 字节AI产品面经|反反复复,无非这100个问题
    很多转行、求职的同学都会被突然提出的技术问题打的不知所措:总结一下大家遇到的问题1、AI相关的应用、技术和落地相关的准备不是很充分,很容易被问倒。、2、不知道大模型构建流程是怎么样的,每个节点产出物是什么,以及上下游关系;3、不了解AI技术的边界,也不懂基本的算法技......
  • leetcode-hot100-两数之和
    两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。示例输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums......
  • Leecode热题100-78.子集
    给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例1:输入:nums=[1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例2:输入:nums=[0]输出:[[],[0]]提......
  • 常见的100个Shell命令(非常详细)零基础入门到精通,收藏这一篇就够了
    在大多数的Linux和Unix系统、及其他类Unix系统中,Shell是用户与操作系统内核交互的主要方式。作为一种强大的命令行解释器,它也支持编程功能,用户可以写脚本来处理各种任务。熟悉shell脚本,首先要对shell指令熟悉,今天就简单介绍常用的**100个Shell命令**,希望对你有所帮助!【文......
  • 又给会员送福利,100台一年华为云2核2G3M云服务器rN
    上周赠送了OneThingAI算力代金券与天翼云电脑,这周继续给园子会员送福利。这周赠送的是一年华为云服务器,配置是2核2G3M带宽,限量100台,先到先得,领完为止。领取要求:博客园年度VIP或者PLUS会员:MeoMiao萌喵加速,华为云新用户或者在华为云没有过任何消费的老用户。领取方式:加园子企......
  • 连续邮资问题-分支限界法求解
    此为课题组所指导本科生和低年级硕士生学习组合优化问题汇报所用教材:北京大学屈婉玲教授《算法设计与分析》课程资料:https://www.icourse163.org/course/PKU-1002525003承诺不用于任何商业用途,仅用于学术交流和分享更多内容请关注许志伟课题组官方中文主页:https://JaywayXu.g......