利用数组判断素数

该博客讨论了如何提高素数判断的效率,尤其是在数值较大的情况下。通过去除偶数并利用sqrt函数,以及构建素数表来加速过程。文章详细介绍了算法思想,包括伪代码,旨在避免对每个数字进行素数判断,而是构建一个素数表。
摘要由CSDN通过智能技术生成

问题引入

利用while函数进行判断是否为素数,当n很大的时候,程序的效率会变大,提高效率的方法先去除偶数,判断奇数中的素数,可提高素数的得出速度,更快的方法是用sqrt判断素数

#include<stdio.h>
int isPrime(int x);
int main(){
   
	
	int x;
	scanf("%d",&x);
	if(isPrime(x)){
   
		printf("%d是素数\n",x);
	}else{
   
		printf("%d不是素数\n",x); 
	}
	return 0;
}
int isPrime(int x){
   
	int ret=1;
	int i;
	if(x==1||(x%2==0&&x!=2))
	ret =0;//除去偶数
	for(i=3;i<x;i+=2){
   
		if(x%i==0){
   
			ret=0;
			break;
		}
	}
	return ret;
} 

进一步利用函数条件提高效率

#include<stdio.h>
#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值