一般

int main01()
{
int a, n_sqrt, flag=;
scanf("%d", &a);
n_sqrt = sqrt(a);
for (int i = ; i <= n_sqrt; i++)
if (a%i == )
{
flag = ;
break;
} if (flag)
printf("%d is\n", a);
else
printf("%d not\n", a); system("pause");
return ;
} int main()
{
int a, n_sqrt,i;
scanf("%d", &a);
n_sqrt = sqrt(a);
for (i = ; i <= n_sqrt; i++)
if (a%i == )
break; if (i>n_sqrt)
printf("%d is\n", a);
else
printf("%d not\n", a); system("pause");
return ;
}

高效率

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h> //... 6x-1,6x,6x+1,6x+2,6x+3,6x+4,6x+5,6(x+1),6(x+1)+1 ...
//可以看出6x,6x+2,6x+3,6x+4都是因数
//6x-1,6x+1中有一定几率是素数 例如:23 25
int isPri(n)
{
float n_sqrt;
int i = ; //对小于5的进行判断
if (n == || n == )
{
return ;
} //筛选不必要的
if (n % != && n % != )
{
return ;
} //进行数据筛选
n_sqrt = floor(sqrt((float)n)); //floor向下取整
for (i = ; i < n_sqrt;i+=) //以6为步长
{
if (n%i == || n % (i + ) == ) //判断i和i+2就是6n+5和6n+7(n从0开始)可以看做6m-1,6m+1(m从1开始)
return ;
} return ;
} int main()
{
int i = ;
for (; i < ;i++)
{
if (isPri(i)==)
{
printf("%d ", i);
}
} system("pause");
return ;
}

C语言复习---判断素数的更多相关文章

  1. Linux下用Bash语言实现判断素数的功能

    题目链接: 题目描述 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息. 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime 样例输入 97 样例输出 pri ...

  2. 算法改进 | java语言中判断素数

    参考文章:http://blog.csdn.net/kp_liu/article/details/37569507 http://blog.csdn.net/huang_miao_xin/articl ...

  3. C语言快速判断素数——不超时

    这属于算法上的问题,好好考虑一下算法,还要考虑一下素数的定义. 素数是只有1和本身能整除的整数.所以在求素数的时候,要将素数与1到素数本身中间的所有整数都相除,看是否有整除的数,如果有,那肯定不是素数 ...

  4. 如何运用C语言求(判断)素数。

    int i,n; scanf("%d",&n); i=2;   //这一步是亮点!! while(i<n) { if(n%i==0) break; i++; } if ...

  5. C语言复习-字符串与指针

    C语言复习-字符串与指针 例一: [字符串处理 去除C代码中的注释] C/C++代码中有两种注释,/* */和//.编译器编译预处理时会先移除注释.就是把/*和*/之间的部分去掉,把//以及之后的部分 ...

  6. 快速判断素数 --Rabin-Miller算法

    以前我在判断素数上一直只会 sqrt(n) 复杂度的方法和所谓的试除法(预处理出sqrt(n)以内的素数,再用它们来除). (当然筛选法对于判断一个数是否是素数复杂度太高) 现在我发现其实还有一种方法 ...

  7. c语言 如何判断是不是 可显字符

    c语言 如何判断是不是 可显字符int isprint(int c)若可显示返回1,否则0:要包含头文件ctype.h

  8. 李洪强漫谈iOS开发[C语言-043]-判断较早日期

    李洪强漫谈iOS开发[C语言-043]-判断较早日期

  9. 2java判断素数

    package com.test; import java.math.*;import java.util.Scanner; public class test222 { /** * @param a ...

随机推荐

  1. 软工 · 第十二次作业 - Beta答辩总结

    福大软工 · 第十二次作业 - Beta答辩总结 写第十二次的时候操作失误直接在Beta版本的博客里改了...第七次冲刺的作业链接补在这里 Beta(7/7) 组长本次博客作业链接 项目宣传视频链接 ...

  2. 寒假作业第二篇随笔(A+B)

    Github链接:https://github.com/heihuifei/object-oriented A+B Format (20) Calculate a + b and output the ...

  3. BNUOJ 52318 Be Friends prim+Trie

    题目链接: https://acm.bnu.edu.cn/v3/problem_show.php?pid=52318 B. Be Friends Case Time Limit: 2500msMemo ...

  4. 【CSAPP笔记】5. 汇编语言——数据

    本博客对于汇编的介绍基于32位机器的Intel x86系列处理器和IA32指令集,也涉及少部分x86-64.由于汇编知识相对复杂,这里只做简单介绍和记录,详细请参照书本! 数据格式 下面这张表格中体现 ...

  5. windows服务外壳工具

    Windows下将nginx安装为服务运行       今天看到nginx这个小服务器软件正式版更新到了1.4.2,想玩下它.这个服务器软件虽小,但功能强大,是开源软件,有着良好的性能,被很多个人.企 ...

  6. cropper.js 超级好用的裁剪图片工具

    最近要做一个照片裁剪功能.就选用了cropper.js 代码如下:贴出来 <div class="container"> <div class="row ...

  7. Beta阶段团队项目开发篇章2

    例会时间: 2016.12.4 例会照片 个人工作 上阶段任务验收: 组员任务都已完成. 任务分配 组员 任务内容 韩慧敏 对调查问卷的结果进行分析和总结,确定Beta阶段各任务的优先级,撰写相关博客 ...

  8. Java实现小学四则运算练习

     Github项目地址:https://github.com/feser-xuan/Arithmetic.git 1.需求分析 软件基本功能要求如下: 程序可接收一个输入参数n,然后随机产生n道加减乘 ...

  9. koa中接收前台传递的各种数据类型的方式

    标签(空格分隔): koa 数据类型接收 主要介绍三种会用到的中间件,其实都是自己在开发的过程中踩过的坑 首先介绍koa-body [详情介绍 https://github.com/dlau/koa- ...

  10. 重新认识javascript的settimeout和异步

    1.简单的settimeout setTimeout(function () { while (true) { } }, 1000); setTimeout(function () { alert(' ...