#include<iostream>
using namespace std;
bool isPrime(int val){
int i;
for(i = 2; i < val; i++){
if(val%i == 0){
break;
}
}
if(i == val)
return true;
else
return false;
}
void mark(int* arrays, int len, int val){
//int i = 2;
//int temp = 0;
//while(temp < len){
// temp = val*i;
// if(temp < len){
// arrays[temp] = -1;
// }
// i++;
//}
for(int i = 2,temp = 0; temp < len; i++,temp = val*i){
arrays[temp] = -1;
}
}
void markArray(int* arrays, int len){
for(int i = 2; i < len; i++){
if(isPrime(i)){
arrays[i] = 1;
mark(arrays,len,i);
}else{
arrays[i] = -1;
}
}
}
void getPrime(int* arrays, int len){
int count = 0;
for(int i = 2; i < len; i++){
if(arrays[i] == 1){
cout<<i<<" ";
count++;
}
}
cout<<endl<<"the total number"<<endl;
cout<<count<<endl;
}
//void output(int* arrays, int len){
// for(int i = 2; i < len; i++){
// cout<<arrays[i]<< " ";
// }
// cout<<endl;
//}
void main(){
int arrays[101] = {0};
int len = sizeof(arrays)/sizeof(arrays[0]);
markArray(arrays, len);
getPrime(arrays, len);
}
求100以内的素数
最新推荐文章于 2021-11-20 14:13:38 发布