基于visual Studio2013解决C语言竞赛题之0507筛选素数
来源:互联网 发布:爱飞车抽奖软件 编辑:程序博客网 时间:2024/06/03 13:13
题目
解决代码及点评
/************************************************************************//* 7.用筛选法求 2到 100之间的素数。方法如下:首先 2是素数,凡 2 的倍数都不是素数,于是把这些数从数表中筛去, 2以后没有被筛去的第一个数是 3, 然后把 3的倍数都从数表中筛去, 3以后没被筛去的第一个数是 5,然后把 5 的倍数都从数表中筛去。如此下去,直到遇到某数 K(≤ N),其后没有数可筛选为止, 这时保留下的未被筛去的数就是 2到 N的素数。*//************************************************************************/#include <stdio.h>#include <stdlib.h>#include <math.h>void main(){const int N=101;int Sn=(int)sqrt(double(N-1)); // 筛选法只要筛选到sqrt(N-1)int arr[N]; // N个标记,如果arr[k] = 1表示k是素数for (int i=0;i<N;i++){arr[i]=1; // 初始化时认为全是素数}arr[0]=arr[1]=0; // 0和1认为不是素数for (int j=2;j<Sn;j++) // 从2开始循环{ // 如果j对应的值是0,那么j是合数,则找下一个while (arr[j]==0)//循环取得数字{j++;}for (int i=j+j;i<N;i=i+j)//找到某个素数之后,把它倍数下标对应的值改成0,表示合数{arr[i]=0;}}for (int i=2;i<N;i++) // 输出下标为1的素数{if (arr[i]==1){printf("%5d",i);}}system("pause");}
代码下载及其运行
代码下载链接:
http://download.csdn.net/detail/yincheng01/6653779
解压密码为c.itcast.cn
下载解压后用VS2013打开工程文件
点击 “本地Windows调试器” 执行
程序运行结果
- 基于visual Studio2013解决C语言竞赛题之0507筛选素数
- 基于visual Studio2013解决C语言竞赛题之0408素数
- 基于visual Studio2013解决C语言竞赛题之0804成绩筛选
- 基于visual Studio2013解决C语言竞赛题之0409 100以内素数
- 基于visual Studio2013解决C语言竞赛题之0501挑选素数
- 基于visual Studio2013解决C语言竞赛题之0601判断素数函数
- 基于visual Studio2013解决C语言竞赛题之0603打印素数
- 基于visual Studio2013解决C语言竞赛题之0611素数排序
- 基于visual Studio2013解决C语言竞赛题之1056素数序列
- 基于visual Studio2013解决C语言竞赛题之1085相邻之和素数
- 基于visual Studio2013解决C语言竞赛题之前言
- 基于visual Studio2013解决C语言竞赛题之0401阶乘
- 基于visual Studio2013解决C语言竞赛题之0516人来人往
- 基于visual Studio2013解决C语言竞赛题之0517矩阵
- 基于visual Studio2013解决C语言竞赛题之0519最大值
- 基于visual Studio2013解决C语言竞赛题之0605strcat
- 基于visual Studio2013解决C语言竞赛题之0607strcpy
- 基于visual Studio2013解决C语言竞赛题之0612递归
- 番禺人才网今日起正式上线!
- Index 概论
- CUDA学习笔记
- Structure from Motion 很好的学习资料及代码
- 杨辉三角
- 基于visual Studio2013解决C语言竞赛题之0507筛选素数
- 【2】GridView 宫格视图
- 开启博客之路
- 编译器的编译模板过程
- EF 正在运行转换: System.Reflection.TargetInvocationException: 调用的目标发生了异常。
- 设置Bundle display name 与 Bundle name
- 在构造函数中调用虚函数
- 数组排序以及所需时间。。
- CSS3 多列