算法笔记5.4素数求100内所有素数
#include<bits/stdc++.h>
#include<math.h>
using namespace std;
//求100以内所有素数
bool isprime(int n){
if(n<=1)return false;
//1是特殊情况
int sqr=(int)sqrt(1.0*n);
//sqrt参数是浮点数,要添加math.h头文件
for(int i=2;i<=sqr;i++){
//用sqrt来限制遍历,因此上一步最终将数据类型转化为整型
if(n%i==0)return false;
//能整除1和本身之外数的不是素数
}
return true;
}
/*
bool isprime(int n){
if(n<=1)return false;//1是特殊情况
for(long long int i=2;i*i<=n;i++){//用来限制遍历,防止溢出可将i数据类型设为long long型
if(n%i==0)return false;//能整除1和本身之外数的不是素数
}
return true;
}*/
int prime[101],pnum=0;
bool p[101]={0};//返回true 或 false
void find_prime(){//求素数表;
for(int i=1;i<101;i++){
if(isprime(i)==true){
prime[pnum++]=i;
p[i]=true;
}
}
}
int main(){
find_prime();
for(int i=0;i<pnum;i++){
printf("%d ",prime[i]);
}
return 0;
}