基于visual Studio2013解决C语言竞赛题之0408素数
题目
解决代码及点评
判断一个数是不是素数的方法,一般是看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调试器” 执行
程序运行结果
基于visual Studio2013解决C语言竞赛题之0408素数的更多相关文章
- 基于visual Studio2013解决C语言竞赛题之0611素数排序
题目
- 基于visual Studio2013解决C语言竞赛题之1056素数序列
题目 解决代码及点评 /* 56. 编程序求3至39之间满足下列条件的各组素数:每组有3个素数,第2个比第一个大2,第3个比第2个大4.例如 5,7,11就是满足条件的一组. 要求: ...
- 基于visual Studio2013解决C语言竞赛题之0401阶乘
题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...
- 基于visual Studio2013解决C语言竞赛题之0205位数求和
题目
- 基于visual Studio2013解决C语言竞赛题之0201温度转换
题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { float f; float c; float ...
- 基于visual Studio2013解决C语言竞赛题之0409 100以内素数
题目 解决代码及点评 在已经知道素数是怎么判断的基础上,增加循环,可以判断出100以内的素数 /******************************************* ...
- 基于visual Studio2013解决C语言竞赛题之0407最大值最小值
题目 解决代码及点评 这道题考察循环和比较 /*********************************************************************** ...
- 基于visual Studio2013解决C语言竞赛题之0406数列求和
题目 解决代码及点评 这个题目,还是考察for循环的使用 以及数列规律,该数列的特点是第n个分子 = 第n-1个分子 + 第n-2个分子,分母也是此规律 而另外一个规律是第n个分子和第n- ...
- 基于visual Studio2013解决C语言竞赛题之0405阶乘求和
题目 解决代码及点评 这道题和上一道题类似,第n个累加项 = n-1累加项的n倍 由于有这个规律,我们可以用一个for循环实现 但是例子代码并没有这么做,大家可以回去修改下代码,使得代码更 ...
随机推荐
- 基于SMTP协议的CMD命令邮件发送
网上有不少的这类的文章,以是参照这些文章后,自己实际运行的结果.系统使用的是WIN7 旗舰版. 1.打开CMD命令后,连接到SMTP服务器,如连接到QQ的SMTP服务,输入命令 telnet smtp ...
- c++中string::function集合
string append() 1.直接添加另一个完整的字符串: str1.append(str2); 2.添加另一个字符串的某一段字串: str1.append(str2, 11, 7); ...
- linux 知识整理1linux 常见的目录
linux 系统现在也是搭配啦图形操作界面. 本人初次学习linux,不是为工作,我的工作是玩Asp.net 的.学习linux 也算是知识的储备吧. 学习linux必须知道一些基本的知识. 目录 用 ...
- 对武汉-and-IT软件开发的看法
本编是一个武汉农村娃子,2015年毕业到现在算上实习 差不多快三年的时间了.在软件行业混的也就一般水平,从开心在学校学习的winform+DBHelper 的开发模式,到现在MVC+EF 的开发模式. ...
- 七日筑基——C#第一天(下)
继续C#第一天的内容,昨天我们简单说了一下如何用C#代码来让学生做自我介绍,介绍的格式要求:“我叫威震天,今年20岁,我喜欢踢足球和上网,希望接下来的三年能跟大家一起成长.”威震天介绍完了,继续下一个 ...
- DevExpress ASP.NET 使用经验谈(1)-XPO模型的创建
这个系列通过一些简单例子循序渐进,介绍DevExpress ASP.NET控件的使用.先来介绍一下XPO的使用,安装的DevExpress版本为DXperienceUniversal-12.2.4,使 ...
- Activity 启动模式
Activity的启动模式有四种,分别是standard.singleTop.singleTask.singleInstance. Android是通过回退栈的模式来管理Activity实例的.栈 ...
- 开启新的activity获取它的返回值
1.开始界面 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t ...
- hdu2141
题目大意:输入三系列数A,B,C,输入一个数X,问是否在A,B,C中存在A[i]+B[j]+C[k]=X,存在输出YES,不存在输出NO. 本题若果采用暴力法那么复杂度为O(n3)显然会超时,如果把A ...
- 图片剪切之Croppic插件
前几天做图片上传时需要进行图片的剪切和缩放,上网查找时找到了这个插件.样式很好看,功能也很OK.但是网上都是php进行后台处理图片的例子,然后只好慢慢琢磨C#的处理.插件地址是:http://www. ...