C语言如何输出100到200的素数
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的素数”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡编程网行业资讯频道。
推荐阅读
-
windows安装touble c
近期有些网友想要了解windows?安装touble的相关情况,小编通过整理给您分享一下。为什么现在还需要TurboC?在当今V...
-
C/C++如何获取CAN信号
C/C++如何获取CAN信号本篇内容主要讲解“C/C++如何获取C...
-
C语言怎么通过二分查找实现猜数字游戏
C语言怎么通过二分查找实现猜数字游戏本文小编为大家详细介绍“C语言...
-
C语言数据结构中的线性表怎么使用
C语言数据结构中的线性表怎么使用这篇文章主要介绍“C语言数据结构中...
-
C语言的数据结构怎么理解
C语言的数据结构怎么理解这篇文章主要介绍了C语言的数据结构怎么理解...
-
C语言与C++中内存管理的方法
C语言与C++中内存管理的方法这篇文章主要介绍了C语言与C++中内...
-
C语言链式队列与循环队列怎么实现
C语言链式队列与循环队列怎么实现这篇文章主要介绍了C语言链式队列与...
-
C语言冒泡排序怎么实现
C语言冒泡排序怎么实现这篇文章主要介绍了C语言冒泡排序怎么实现的相...
-
C语言如何实现斐波那契数列
C语言如何实现斐波那契数列这篇文章主要介绍了C语言如何实现斐波那契...
-
C语言如何实现无符号数和有符号数间的运算
C语言如何实现无符号数和有符号数间的运算本篇内容主要讲解“C语言如...