题目
解决代码及点评
判断一个数是不是素数的方法,一般是看n是不是能被n以内的某个整数(1除外)整除
为了提高效率,这个整数范围一般缩小到n的平方根
如果在这个范围内的整数都不能整除,那么说明它是素数
/************************************************************************//* 8.判断一个数是否是素数*//************************************************************************/#include#include #include bool f48(int num) // 判断num是不是素数{ if (num<2) // 如果num小于2,必然不是素数 return false;
if (num==2) // 如果num是2,则肯定是素数 { return true; }
// 从2循环到num的平方根 for (int i=2;i<=sqrt((double)num);i++) { if (num%i==0) // 如果发现有整除 { return false; // 那么不是素数,函数在这里就结束了 } } return true; // 如果程序运行到这里,那么说明这个数是素数}void main(){ int num; printf("please input a num\n"); scanf_s("%d",&num); if (f48(num)) { printf("是素数"); } else { printf("不是素数"); } system("pause");}
代码下载及其运行
代码下载链接:
解压密码为c.itcast.cn
下载解压后用VS2013打开工程文件
点击 “本地Windows调试器” 执行
程序运行结果