一般

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. 重温servlet①

    Servlet是单例的,是线程不安全的.比较灵活,但是容易会使两个线程产生错误 类由我们自己来写,对象由服务器生成,方法由服务器自己调用.   一个servletconfig对象对应着一段web.xm ...

  2. “吃神么,买神么”的第一个Sprint计划(第三天)

    “吃神么,买神么”项目Sprint计划 ——5.23  星期六(第三天)立会内容与进度 摘要:今天的立会主要是报告进度以及遇到的困难. 进度:logo正在进行中,其他基本没什么问题.都确定要做出来的大 ...

  3. Alpha版本冲刺(四)

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:丹丹 组员7:何家伟 组员8:政演 组员9:鸿杰 组员10:刘一好 组员:何宇恒 展示组内最新 ...

  4. angularJS中$apply()方法详解

    这篇文章主要介绍了angularJS中$apply()方法详解,需要的朋友可以参考下   对于一个在前端属于纯新手的我来说,Javascript都还是一知半解,要想直接上手angular JS,遇到的 ...

  5. CSS+JS笔记

    CSS篇: 1.a标签去掉下划线 a { text-decoration:none; }

  6. PAT 1060 爱丁顿数

    https://pintia.cn/problem-sets/994805260223102976/problems/994805269312159744 英国天文学家爱丁顿很喜欢骑车.据说他为了炫耀 ...

  7. windows多线程(二) 等待线程返回

    多线程编程中,有时我们需要等待某一线程完成了特定的操作后再继续做其他事情,要实现这个目的,可以使用Windows API函数WaitForSingleObject,或者WaitForMultipleO ...

  8. jQuery : 有关TypeError: invalid ‘in’ operand obj的错误

    参考 lwx2615 的博客 ,网站:  http://blog.csdn.net/lwx2615/article/details/9668777 由PHP返回一个json数据 $.ajax({ ur ...

  9. vue 组件 子向父亲通信用自定义方法用事件监听

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>T ...

  10. Two Sum III - Data structure design

    Design and implement a TwoSum class. It should support the following operations: add and find. add - ...