c语言求出给定范围内的所有质数
程序功能:
输入一个整数,要求打印出这个整数以内的所有质数。
程序示例:
#include <stdio.h> #include <stdlib.h> #include <math.h> bool IsPrime(int x) { bool bResult = false; int i, k; k = (int)sqrt(x); for (i = 2; i <= k; i++) { if (x % i == 0) { break; } } if (i > k) { bResult = true; } else { bResult = false; } return bResult; } int main() { int a = 0; int b = 0; int i = 0; printf("请输入一个整数:"); scanf("%d",&a); for (i = 3; i <= a; i++) { if (IsPrime(i)) { printf("%d\n",i); } } system("pause"); return 0; }
程序解析:
1,IsPrime()函数用来判断一个整数是不是质数,如果是返回true,否则返回false。在这个函数中因为调用了C语言库函数sqrt(),所以要在头文件中包含#include 。
2,scanf_s()函数用来获取用户输入的数据,并将这个数据保存到局部变量中。
小结:
1,math.h头文件中声明了常用的一些数学运算,比如乘方,开方运算等等,如果你要使用C标准库里的函数,就需要包含声该函数的头文件。
2,我们可以使用scanf()函数从终端获取数据。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!
相关推荐
-
JavaScript判断数字是否为质数的方法汇总
前言 今天看到一个题目,让判断一个数字是否为质数.看上去好像不难.因此,我决定实现一下. DOM结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>计算500以内的质数并输出</title> <meta name="viewport" content="width=d
-
ruby判断一个数是否为质数(素数)示例
ruby判断一个数是否为质数 质数又称素数.一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数:(除0以外)否则称为合数 .根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积:而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的. 复制代码 代码如下: def prime?(num) res = [1] res << num if num == 0 || num == 1 return false end 2.upto(
-
使用Python判断质数(素数)的简单方法讲解
质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数.素数在数论中有着很重要的地位.比1大但不是素数的数称为合数.1和0既非素数也非合数.质数是与合数相对立的两个概念,二者构成了数论当中最基础的定义之一.基于质数定义的基础之上而建立的问题有很多世界级的难题,如哥德巴赫猜想等.算术基本定理证明每个大于1的正整数都可以写成素数的乘积,并且这种乘积的形式是唯一的.这个定理的重要一点是,将1排斥在素数集合以外.如果1被认为是素数,那么这些严格的阐述就不得不加上一些限制条
-
Java实现求小于n的质数的3种方法
质数概念 质数,又称素数,指在一个大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数(也可定义为只有1和本身两个因数的数). 最小的素数是2,也是素数中唯一的偶数:其他素数都是奇数.质数有无限多个,所以不存在最大的质数. 一:根据定义去求解: 也是最笨的方式,效率比较低: package test.ms; public class FindPrime { // find the prime between 1 to 1000; public static void main(Str
-
使用C# 判断给定大数是否为质数的详解
C#判断给定大数是否为质数,目标以快速度得到正确的计算结果. 在看到这道题的时候,第一反应这是一道考程序复杂度的题,其次再是算法问题.我们先来看看质数的规则:Link:http://en.wikipedia.org/wiki/Prime_numberC#求质数代码: 复制代码 代码如下: public bool primeNumber(int n){ int sqr = Convert.ToInt32(Math.Sqrt(n)); for (int
-
VBS 正则判别素数(质数)
利用正则判别素数,来源于网络,神人! 复制代码 代码如下: Set regex = New RegExpregex.Pattern = "^1?$¦^(11+?)\1+$"For i = 1 To 100 If Not regex.Test(String(i,"1")) Then WScript.Echo i End IfNext 看到标题你一定会不屑一顾,枚举质数谁不会? 复制代码 代码如下: For i = 1 To 100 For j = 2 To i I
-
php输出1000以内质数(素数)示例
复制代码 代码如下: <?phpfor($i = 2; $i < 1001; $i++) { $primes = 0; for($k = 1; $k <= $i; $k++) if($i%$k === 0) $primes++; if($primes <= 2) // 能除以1和自身的整数(不包括0) echo "<strong>{$i}</strong><br />";}
-
java求100之内的素数(质数)简单示例
质数又称素数.一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数:否则称为合数.根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积:而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的.下面是一个java求100之内的素数简单示例 复制代码 代码如下: public class test { public static void main(String[] args) { int i,n,k=0; for (n = 3; n
-
JavaScript实现找质数代码分享
好吧,也没有背景说明,没有高深技能,纯粹无聊,想找出10000内的所有质数.那么就开始了: function zhishu(num) { if (num == 1) { return false; } if (num == 2) { return true; } for (var i = 2; i <= Math.sqrt(num); i++) { if (num % i == 0) { return false; } } return true; } 使用实例: var zhishuArray
-
python实现挑选出来100以内的质数
这里给大家分享的是使用python实现将100以内的质数挑选出来 代码非常简单,就不多废话了. """ 使用filter将100以内的质数挑选出来 """ # coding = utf-8 import math def func_get_prime(n): return filter(lambda x: not [x%i for i in range(2, int(math.sqrt(x))+1) if x%i ==0], range(2,n+
随机推荐
- Java 回调函数详解及使用
- MYSQL表优化方法小结 讲的挺全面
- javascript Prototype 对象扩展
- Windows XP系统注册表六则设置技巧
- java制作简单的坦克大战
- 一个基于Asp.Net MVC的权限方案
- js 调整select 位置的函数
- ASP.NET(C#)验证数字的两种方法
- 微信公众号-获取用户信息(网页授权获取)实现步骤
- java EJB 加密与解密原理的一个例子
- CI(CodeIgniter)框架视图中加载视图的方法
- ajax编写简单的登录页面
- 分享经典的JavaScript开发技巧
- JS子父窗口互相操作取值赋值的方法介绍
- sql集合运算符使用方法
- Vista边栏天气故障解决办法
- javaWEB中前后台乱码问题的解决方法总结
- Android 沉浸式状态栏与隐藏导航栏实例详解
- 给Linux新手[系列之三]
- PHP生成(支持多模板)二维码海报代码