算法一
最简单的利用质数的定义来求素数,利用循环从一到n依次判断。
代码如下:
#include<stdio.h>
#define N 100
int main(){
int i,j,k=0;
for(i=2;i<N;i++){
for(j=2;j<i;j++){
if(i%j==0){
break;
}
}
if(j==i){
k++;
printf("%d\t",i);
}
if(k%10==0){
printf("\n");
}
算法二
利用费马素数,简化上一个算法,不用从1到n循环判断,只需判断1到sqrt(n)就可以了,节约了时间和空间
代码如下:
#include<stdio.h>
#include<math.h>
#define N 100
int main(){
int i,j,k=0;
for(i=2;i<N;i++){
for(j=2;j<=sqrt(i);j++){
if(i%j==0){