C语言如何输出100到200的素数
今天小编给大家分享一下C语言如何输出100到200的素数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
<1>
这个版本的程序没有经过优化,是根据最基本的概念写出的代码
#include<stdio.h>#include<stdlib.h>intmain(){inti,m;for(i=100;i<=200;i++){for(m=2;m<=i;m++){if(i==m)//输出条件printf("%4d",i);if(i%m==0)//若是被除自己外的数整除则跳出break;}}system("pause");return0;}
<2>
做了基础优化的代码
#include<stdio.h>#include<stdlib.h>#include<math.h>intmain(){inti,m;for(i=100;i<=200;i++){for(m=2;m<=sqrt(i);m++){if(i%m==0)break;}if(m>sqrt(i))//使用开平方函数,优化运行次数printf("%4d",i);}system("pause");return0;}
<3>
另一种方法,并没有优化
#include<stdio.h>#include<stdlib.h>#include<math.h>intmain(){inti,m,sum;//定义计数器for(i=100;i<=200;i++){sum=0;//每次循环清零for(m=2;m<=sqrt(i);m++){if(i%m==0)sum++;//不满足条件累加器加一}if(sum==0)printf("%4d",i);}system("pause");return0;}
<4>
经过最终优化的程序,在使用开平方函数的前提下,去掉循环中的偶数再次减少运行次数,增加运行效率
#include<stdio.h>#include<stdlib.h>#include<math.h>intmain(){inti,m;for(i=101;i<=200;i+=2){for(m=2;m<=sqrt(i);m++){if(i%m==0)break;}if(m>sqrt(i))//使用开平方函数,优化运行次数printf("%4d",i);}system("pause");return0;}
以上就是“C语言如何输出100到200的素数”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡编程网行业资讯频道。