基于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循环实现 但是例子代码并没有这么做,大家可以回去修改下代码,使得代码更 ...
随机推荐
- 关于给javascript对象添加、删除、修改对象的属性
以下是自己总结的几种方法 利用动态特性 function Person(){}; var person = new Person(); person.name = 'yy'; person.gende ...
- ExtJs007最常用的查询方法
Ext.onReady(function () { Ext.create('Ext.panel.Panel', { title: '我的面板', width: '100%', height: 400, ...
- Java 重写(Override)与重载(Overload)
1.重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变.即外壳不变,核心重写! 参数列表和返回值类型必须与被重写方法相同. 访问权限必须低于父类中 ...
- Java学习之内部类
示例1: package com.swust.面向对象; class Person1{ private String username="zhangsan"; public Per ...
- IOS 警告框 (UIAlertView)的使用方法
1.普通警告框 IOS的SDK中提供了一个方便的类库UIAlertView,配合着不同参数来使用此类可以做出大多数的警告框,如下代码是IOS最简单的警告框. UIAlertView *alert = ...
- xp的停止更新对我们有什么影响?
微软与2001年推出windows xp系统,这款系统的成功毋庸置疑,但由于太过成功,微软在随后推出的vista系统和win7系统普及起来却异常困难.大多数人已经习惯了xp的操作,再加上一批铁杆旧电脑 ...
- 帝国cms7.0,列表模板调用不支持附表字段
帝国cms在制作列表模板时,是不支持一些字段的调用的,原因是因为有些字段所在的位置为附表,本段详细向你介绍 帝国如何调用副表字段 我们可在 系统---管理数据表---管理字段中查看 如果我们需要调用附 ...
- 城通网盘,千军万马,千脑网盘,119g网盘哪个适合做网赚?
转载请注明文章来自 [ofiicexie] 网盘网赚已经流行了有一段时间了,国内流行的几个网盘有城通,千军万马,千脑,119g,今天小编写以此文来比较分析一下这几个网盘的优缺点. 这里,我特意做了个这 ...
- Protel99se教程九:protel99se中PCB设计的高级应用
在上一节我们PCB资源网的protel99se教程当中,我们给大家讲解了在protel99se进行原理图设计中的一些高级应用技巧,在这一节protel99se教程当中,我们将给大家讲解的是,在prot ...
- Fractal(递归,好题)
Fractal Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 8341 Accepted: 3965 Descripti ...