实验要求:
设计程序,输出所有小于等于n(n为一个大于2的正整数,比如100)的素数,要求:
(1)每行输出10个素数;(2)尽可能采用较优算法。
#include<stdio.h>
#include<math.h>
/*
该函数耗时比较长,pass
bool isPrime_1( int num )
{
int tmp =num- 1;
for(int i= 2;i <=tmp; i++)
if(num %i== 0)
return 0 ;
return 1 ;} */
bool isPrime_1( int num )
{
int tmp =sqrt(num);
for(int i= 2;i <=tmp; i++)
if(num %i== 0)
return 0 ;
return 1 ;}
int main(){
int NUM;
int line = 0;
printf("请输入整数:");
scanf("%d",&NUM);
for(int a = 2;a<=NUM;a++){
int flag = isPrime_1(a);
if (flag==1){
printf("%d\t",a);
line++;
if(line%10==0){
printf("\n");
}
}
}
}
作者:诗酒趁年华!
qq:664474618
一起学习,一起进步!