输出所有小于等于n的素数(要求1)每行输出10个(要求2)较优的算法
方法:
若n是素数,则n不能被2~√n的任何整数整除!
代码:
#include“stdio.h”#include"math.h"//判断是否为素数boolprime(intn){inti;for(i=2;i<=(int)sqrt(n);i++){if(n%i==0)returnfalse;}returntrue;}voidmain(){intn,i,j=0;//j累计素数个数,n指求那个数之前的素数printf("n:");scanf("%d",&n);printf("所求的为小于等于n的素数:\n",n);if(n>2){printf("M",2);j++;}for(i=3;i<=n;i+=2){if(prime(i)){printf("M",i);if(j!=0&&++j==0)//每10个换一行printf("\n");}}printf("\n素数一共有%d个",j);}
结果:
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。