C语言程序设计100例之(11):求质数
例11 求质数 问题描述 质数是指除了有1和自身作为约数外,不再有其他约数的数。比如:3、5、7是质数。而9不是质数,因为它还有约数3。 编写程序求给定区间中的所有质数。 输入格式 两个整数a和b,其中1≤a≤b≤100000。 输出格式 输出给定范围的所有质数,输出时每个质数占5列,每行输出10个质数。 输入样例 100 200 输出样例 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 (1)编程思路 判断一个数m是否为质数的方法是:用2~sqrt(m)中的每一个整数i去除m,若某一个i能整除m,则m不是质数;否则,m是质数。该操作可定义为一个函数,如下: int isPrime(int m) { int i; if (m==1) return 0; for (i=2;i<=sqrt(1.0*m);i++) if (m%i==0) return 0; return 1; } 求a~b之间的所有质数,写成一个循环,在循环中调用函数isPrime判断每个整数i是否为质数,若是,则计数并输出。 (2)源程序。 #include <stdio.h> #include <math.h> int isPrime(int m) { int i; if (m==1)