题目
解决代码及点评
判断一个数是不是素数的方法,一般是看n是不是能被n以内的某个整数(1除外)整除
为了提高效率,这个整数范围一般缩小到n的平方根
如果在这个范围内的整数都不能整除,那么说明它是素数
/************************************************************************/ /* 8.判断一个数是否是素数 */ /************************************************************************/ #include <stdio.h> #include <stdlib.h> #include <math.h> 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"); }
代码下载及其运行
代码下载链接:
http://download.csdn.net/detail/yincheng01/6640797
解压密码为c.itcast.cn
下载解压后用VS2013打开工程文件
点击 “本地Windows调试器” 执行
程序运行结果