C语言精髓-判别素数

#include <math.h>

#include <stdio.h>

int IsPrimeNumber(int number);

int main()

{

int n, ret;

printf("Input n:");

scanf("%d", &n);

ret = IsPrimeNumber(n);

if (ret!=0)//01

{

printf("%d is a prime number\n", n);

}

else

{

printf("%d is not a prime number\n", n);

}

return 0;

}

//函数功能:判断number是否是素数,函数返回非0值,表示是素数,否则不是素数

int IsPrimeNumber(int number)

{

int i;

if (number <= 1) return 0; // 负数、0和1都不是素数

for (i=2; i<=sqrt(number); i++)

{

if (number&i == 0) // 被整除,不是素数

return 0;

}

return 1;

}

时间: 2024-07-30 13:51:46

C语言精髓-判别素数的相关文章

C语言最优化求素数

初学C语言,看到求素数的代码,不是太满意,自己设计了一个计算流程图.在贴吧里也问了一下,和"埃拉托色尼(Eratosthenes)筛法”有些撞车,当然在下不敢与数学巨匠们争长短,不过还是想自己试一下. 百度了一下有人已经用这类方法做了代码,不过和我的想法有出入. 思路: 1要避免冗余的求余计算的计算次数,这样在数字足够大的时候更能体现更高的计算效率, 1)分母排除偶数,可以减少一半的计算量.具体做法是改+1递增为从第二个素数3开始+2递增; 2)筛选求余计算的分子,而根据素数的定义,只要不被小于

试读《JavaScript语言精髓与编程实践》

有幸看到iteye的活动,有幸读到<JavaScript语言精髓与编程实践_第2版>的试读版本,希望更有幸能完整的读到此书. 说来读这本书的冲动,来得很诡异,写一篇读后感,赢一本书,其实奖励并不大,依靠纯粹的物质奖励,很显然,不会强烈的促使我去读这本书.而原因在于,一方面对javascript的极大兴趣,另一方面之前已经拜读过如<javascript高级程序设计><高性能javascript><javascript设计模式>等书,那我就有了要看看这本书都写了

《javascript语言精髓》笔记

做B\S项目已有一年多,自己是做后台出来的,对写js方面可能也沿用了以前的思路,想想毕竟也是OO语言嘛.然而,从上个项目吃的一些苦头,让我决心静下心来把js的书看看.这本<javascript语言精粹>是别人推荐给我的,之所以选择这本书,是因为我深知代码质量的重要性(想想自己以前写的代码,真想回去重写),代码写的越多,我就越想用更简洁的代码来实现功能,而这当然需要更深入的取理解一下js的设计模式和原理性的东西.很多人说js简单,是因为对这门语言不是很了解,也可以用它来工作,觉得就是一般的OO语

js:语言精髓笔记1--语法

标识符: 命名: 语法以及类型----语法关键字 值(的存储位置)----变量和常量 绑定: 语法关键字对逻辑的绑定----作用域限定 变量对位置的绑定---变量生存周期的限定 声明:约定变量的生存周期和逻辑作用域: 标识符语义关系: 与值相关: 类型 变量: 直接量 对象 与逻辑相关: 控制流程语句: 标签声明 一般流程控制语句 异常 与值和逻辑都相关: 表达式: 值运算 对象存取 逻辑语句: 顺序 分支 循环 其他: 注释 JS引擎运行及响应错误:1.语法分析(语法分析错误):2执行(执行异

c语言精髓

函数定义的语法 (1)C语言函数定义的一般形式 (2)函数名和形式参数都是由用户命名的标识符.在同一程序中,函数名必须唯一,形式参数名只要在同一函数中唯一即可,可以与其他函数中的变量同名. (3)C语言规定,不能在函数的内部定义函数. (4)若在函数的首部省略了函数返回值的类型名,把函数首部写成:函数名(类型名  形式参数1,类型名  形式参数2,……)则默认函数返回值的类型为int类型. (5)除了返回值类型为int类型的函数外,函数必须先定义(或说明)后调用. (6)若函数只是用于完成某些操

javascript语言精髓笔记

javascript是一门浏览器语言,对于后台攻城湿们.则是这样对其定义的 1. js是一门前端语言,因为js通常是web中的view部分,用来渲染最终呈现给用户的页面. 2. js是一门弱类型语言和解释性语言,没有使用编译器(编译器会检查语法错误,同样性质的比如php,ruby,python等.当然,不能说完全没有编译过程,只是不是严格意义上的编译),因为编译的目的最终应该是生成可执行的代码,而不是中间结果. 本文将关注两个方面 1.js重要概念 2.js小tips  主要关注容易被忽略的小问

C语言精髓2

函数调用时的语法要求函数调用时有下列语法要求: (1)调用函数时,函数名必须与所调用的函数名字完全一致. (2)实在参数的个数必须与形式参数的个数一致.实参可以是表达式,在类型上应按位置与形参一一对应匹配.如果类型不匹配,c编译程序按赋值兼容的规则进行转换.若实参和形参的类型不赋值兼容,通常并不给出出错信息,且程序仍然执行,只是不会得到正确的结果. 因此应该特别注意实参和形参的类型匹配. (3)C语言规定:函数必须先定义,后调用(函数的返回值类型为int或char时除外). 函数的两种调用方式函

js:语言精髓笔记5----语言分类

计算模型:源于对计算过程的不同认识: 基于不同计算模型一般分为: 命令式语言: 函数式语言: 逻辑式语言: 面向对象程序设计语言: 基于程序本质分类: 命令式: 结构化编程(冯诺依曼:计算机系统以存储和处理为核心)[面向存储的编程]: 面向对象编程: 说明式: 函数式: 其他: //命令式语言基于存储结构进行算法设计:即:算法+数据结构=程序:数据的表形形式是编程的根本: 命令式语言面临的问题:如何抽象数据存储: 结构化编程:通过运算去改变内存: 结构: 控制结构:顺序,分支,循环: 组织结构:

C 语言实例 - 判断素数。

质数(prime number)又称素数,有无限个.质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数. #include <stdio.h>int main(){    int n, i, flag = 0;    printf("输入一个正整数: ");    scanf("%d",&n);    for(i=2; i<=n/2; ++i) { // 符合该条件不是素数    if(n%i==0) {