(算法练习)——开根号法求素数

柔情痞子 提交于 2020-01-20 00:51:00

《算法笔记》P162
关于数学的算法题,所以本质还是数学题?
代码:

#include <stdio.h>
#include <math.h>
//判断是否为素数 
bool isPrime(int n){
	if(n <= 1) return false;
	int sqr = (int)sqrt(1.0*n);
	for(int i = 2;i <= sqr;i++){
		if(n % i == 0) return false;
	}
	return true;
}
//输出1000以内的素数 
int record[1010];
int signal = 0;
void findsushu(){
	for(int i = 0;i <1000;i++){
		if(isPrime(i) == true){
			record[signal++] = i;
		}
	}
}

int main(){
	findsushu();
	for(int i = 0;i <signal;i++){
		printf("%d ",record[i]);
	}
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!