-
2019-02-20 09:44:34
L1-028 判断素数 (10 分)
本题的目标很简单,就是判断一个给定的正整数是否素数。
输入格式:
输入在第一行给出一个正整数
N
(≤ 10),随后N
行,每行给出一个小于231的需要判断的正整数。输出格式:
对每个需要判断的正整数,如果它是素数,则在一行中输出
Yes
,否则输出No
。输入样例:
2 11 111
输出样例:
Yes No
代码:
#include<bits/stdc++.h> using namespace std; #define ll long long #define inf 0x3f3f3f3f #define mem(a,b) memset(a,b,sizeof(a)) void pri(int n) { if(n==1) { cout<<"No"<<endl; return ; } int t=sqrt(n); for(int i=2;i<=t;i++) { if(n%i==0) { cout<<"No"<<endl; return ; } } cout<<"Yes"<<endl; return ; } int main() { int n,t; cin>>n; while(n--) { cin>>t; pri(t); } return 0; }
更多相关内容 -
使用Python判断质数(素数)的简单方法讲解
2020-12-23 20:27:30质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。... 前几天偶尔的有朋友问python怎么判断素数的方法,走网上查了查,总结了python脚本判断一 -
判断质数 素数——我知道的最快的方法.pdf
2020-12-18 03:36:04判断质数 素数——我知道的最快的方法.pdf -
【数论基础】判断素数、埃拉托色尼筛选法、欧几里得算法、反复平方法
2021-01-07 03:21:39bool isPrime(int d){//判断是否是素数 if(d==2) return true; if(d<2||d%2==0) return false; int i=3; while(i<=sqrt(d)){//注意开方,减少无所谓的运算 if(d%i==0) return false; i+=2; } -
scratch判断质数1.sb3
2020-04-23 10:54:21质数和合数是数学中的两个基本概念,两位数以内的质数和合数还比较好区分,位数一多,很多人就不太好判断了,但如果借用工具的话,这个问题就比较容易得到解答了。Scratch是一款深受青少儿喜爱的编程入门工具,虽然... -
python怎么判断素数
2020-09-16 14:27:44在本篇文章里小编给大家整理了关于python判断素数的方法和代码,需要的朋友们可以学习下。 -
判断素数(sqrt).cpp
2021-03-27 19:45:42判断素数(sqrt).cpp -
质数判断程序-判断质数.c
2020-04-05 01:52:44质数判断程序-判断质数 -
蒙特卡罗法判断素数(质数)
2021-01-07 11:00:22给定一个正整数n ( >= 3), 判断是不是素数。 思路介绍 使用蒙特卡罗法算法结合费尔马小定理结合二次探测定理。 费尔马小定理:如果p是素数,则有 ap−1 mod p=1a^{p-1} \; mod \; p = 1ap−1modp=1, a∈[2,p−... -
判断素数算法
2014-09-05 20:34:51素数的测试方法,但不完全,算法导论书上的算法 -
java 判断是否为质数
2020-11-01 23:46:07判断是否为质数,最优化的运行效率,减少性能损耗。测试计算机的运算速度。java学习的入门基础,最优化计算时间 -
Java判断质数(素数)
2021-07-13 13:42:42Java键盘输入一个数n,判断质数(素数)方法 import java.util.Scanner; public class test{ public static void main(String[] args){ System.out.print("请输入一个大于1的数判断是否为质数:"); Scanner in=new...题目1:判断101-200之间有多少个(质数)素数,并输出所有素数。
/** * 判断素数的方法:用一个数分别去除2到sqrt(这个数), * 如果能被整除,则表明此数不是素数,反之是素数。 */ // 方法一 遍历范围数 public class Demo { public static void main(String[] args) { // 2,3为素数所以计数初始值为2 int count = 2; // 从2到sqrt(i)找出整除数,所以从i = 4开始 for (int i = 4; i <= 200; i++) { for (int j = 2; j <= Math.sqrt(i); j++) { // 先遍历2到sqrt(i)中有没有可以被整除的,若有则为素数退出当前循环 if (i % j == 0) { System.out.println(i + "这个数不是素数!"); break; } // i % j != 0判定完毕,但不清楚是否遍历到sqrt(i) // 所以加一层判定sqrt(i) - j < 1输出素数i; // else if (Math.sqrt(i)-j < 1) { ++count; System.out.println(i + "这个数是素数!"); } } } System.out.println("共有" + count + "个素数"); } }
// 方法二 键盘输入数据进行判断,创建判断质数方法 import java.util.Scanner; public class Demo { public static void main(String[] args) { System.out.print("请输入一个大于1的数判断是否为质数:"); Scanner in = new Scanner(System.in); int n = in.nextInt(); if(isPrime(n)) { System.out.println(n+ "是质数!"); } else { System.out.println(n+ "不是质数!"); } } public static boolean isPrime(int n) { boolean flag = true; // Math.sqrt(n),n的平方根 // 质数判断,在[2,Math.sqrt(n)]范围内,没有一个数能整除n,则n是质数 for(int i = 2;i <= Math.sqrt(n); i++) { if(n%i == 0) { flag = false; break; } } return flag; } }
// 方法三 在遍历数时创建int flag(进行01判断) public class Demo { public static void main(String[] args) { int count = 2; for (int i = 4; i <= 200; i++) { int flag = 0; for (int j = 2; j <= Math.sqrt(i); j++) { if (i % j == 0) { System.out.println(i + "不是素数!"); // 如果说数第一次取余等于0,则不为素数,count=1 flag = 1; break; } } // 从2到sqrt(i)遍历完成,如果count<1则为素数 if (flag < 1) { ++count; System.out.println(i + "是素数!"); } } System.out.println("一共有" + count + "个素数!"); } }
-
判断质数
2021-04-28 09:04:35判断整数是否为质数 无 CREATE FUNCTION CheckPrimeNumber(@No BIGINT) RETURNS TINYINT AS BEGIN IF @No = 1 RETURN 0 DECLARE @maxV BIGINT, @Index BIGINT SET @maxV = @No - 1 SET @Index = 2 WHILE @Index @...判断整数是否为质数 无 CREATE FUNCTION CheckPrimeNumber(@No BIGINT) RETURNS TINYINT AS BEGIN IF @No = 1 RETURN 0 DECLARE @maxV BIGINT, @Index BIGINT SET @maxV = @No - 1 SET @Index = 2 WHILE @Index @maxV BEGIN DECLARE @maxV2 BIGINT, @Index2 B
判断整数是否为质数
CREATE FUNCTION CheckPrimeNumber(@No BIGINT)
RETURNS TINYINT
AS
BEGIN
IF @No <= 1
RETURN 0
DECLARE @maxV BIGINT,
@Index BIGINT
SET @maxV = @No - 1
SET @Index = 2
WHILE @Index < @maxV
BEGIN
DECLARE @maxV2 BIGINT,
@Index2 BIGINT
SET @maxV2 = @maxV
SET @Index2 = @Index
WHILE @Index2 < @maxV2
BEGIN
IF @Index2 * @Index = @No
RETURN 0
SET @Index2 = @Index2 + 1
END
SET @Index = @Index + 1
END
RETURN 1
END
GO
SELECT dbo.CheckPrimeNumber(13) -- 返回值1,表示素数,0表示非素数。 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网
-
素数判断程序
2017-12-05 16:22:34该程序为判断素数的一个小的C语言程序,可以让大家参考。 -
使用Python判断质数(素数)的简单
2020-12-30 11:38:39这篇文章主要介绍了使用Python判断质数(素数)的简单方法讲解,经常被用来做科学计算的Python处理这种小问题当然手到擒来^_-需要的朋友可以参考下质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被...这篇文章主要介绍了使用Python判断质数(素数)的简单方法讲解,经常被用来做科学计算的Python处理这种小问题当然手到擒来^_-需要的朋友可以参考下
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。质数是与合数相对立的两个概念,二者构成了数论当中最基础的定义之一。基于质数定义的基础之上而建立的问题有很多世界级的难题,如哥德巴赫猜想等。算术基本定理证明每个大于1的正整数都可以写成素数的乘积,并且这种乘积的形式是唯一的。这个定理的重要一点是,将1排斥在素数集合以外。如果1被认为是素数,那么这些严格的阐述就不得不加上一些限制条件。 前几天偶尔的有朋友问python怎么判断素数的方法,走网上查了查,总结了python脚本判断一个数是否为素数的几种方法:
1.运用python的数学函数
import math
def isPrime(n):
if n <= 1:
return False
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
2.单行程序扫描素数
from math import sqrt
N = 100
[ p for p in range(2, N) if 0 not in [ p% d for d in range(2, int(sqrt(p))+1)] ]
运用python的itertools模块
from itertools import count
def isPrime(n): www.gxlcms.com
if n <= 1:
return False
for i in count(2):
if i * i > n:
return True
if n % i == 0:
return False
3.不使用模块的两种方法方法1:
def isPrime(n):
if n <= 1:
return False
i = 2
while i*i <= n:
if n % i == 0:
return False
i += 1
return True
方法2:
def isPrime(n):
if n <= 1:
return False
if n == 2:
return True
if n % 2 == 0:
return False
i = 3
while i * i <= n:
if n % i == 0:
return False
i += 2
return True
eg:求出20001到40001之间的质数(素数)既然只能被1或者自己整出,那说明只有2次余数为0的时候,代码如下:
#!/usr/bin/python
L1=[]
for x in xrange(20001,40001):
n = 0
for y in xrange(1,x+1):
if x % y == 0:
n = n + 1
if n == 2 :
print x
L1.append(x)
print L1
结果如下:
20011
20021
20023
20029
20047
20051
20063
20071
20089
20101
20107
20113
20117
20123
20129
20143
20147
20149
20161
20173
….
更多使用Python判断质数(素数)的简单相关文章请关注PHP中文网!
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
-
Java经典案例之-判断质数(素数)
2021-02-26 17:11:52/*** 描述:任意输入两个数n,m(n* 分析:素数即质数,除1和本身之外,不能被其他自然数整除的数。* 判断素数的方法为:用一个数分别去除2到sqrt(这个数),如果能被整除,这表明此数不是素数,反之是素数。* 作者:... -
c语言判断素数(质数)
2020-12-20 20:31:42一、输入一个正整数并判断它是否为素数 1.素数是指大于1且只能被1和它本身整除的正整数,2是最小素数,素数有无穷个; 2.如果整数x大于2,那么就判断x对2~(x-1)取余是否为0,如果是,肯定不是素数,如果都不是,则... -
判断素数(质数)的四种方法
2022-01-10 16:45:32根据素数的定义除了1和它本身没有其他的因数,就是素数,所以把数用从2~数本身-1的数字除于看看有没有被整除,如果没有被整除那么这个数就是质数。这个办法只适用于用于被判断数较小的情况。数字太大会非常慢。 时间... -
C++如何判断一个数字是否为质数
2020-12-31 20:45:12质数:对于大于1的自然数,若除了1和它本身,没有别的因数,则称这个数为质数,质数也叫素数。反之,称其为合数。 #include #include using namespace std; void IsPrime(int); int main() { int Input; cout <... -
java经典算法|判断素数(质数)
2021-09-07 13:27:55判断101-300之间有多少个素数(质数),并输出所有素数。 -
C语言基础:如何判断素数(质数)与合数
2022-01-05 18:18:28C语言基础:如何判断素数(质数)与合数 文章目录C语言基础:如何判断素数(质数)与合数1. 素数与合数2. 正因数与公约数3. 代码示例 1. 素数与合数 素数又叫质数(prime number),有无限个。素数定义为在大于1的... -
java判断素数(质素)
2021-03-01 07:46:38素数就是质素,英文是Prime Number。...下面是java判断素数的几种方法:/*** 时间复杂度O(n)** @param n* @return*/public static boolean isPrime0(int n) {if (n < 2)return false;for (int i ... -
2java判断素数
2021-03-01 11:06:34import java.math.*;...public class test222 {/*** @param args* 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。** 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被... -
Python判断质数(素数)的简单方法详解
2020-12-15 14:16:52质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。质数是与合数相对立的两个概念,... -
判断素数labview程序
2016-05-04 15:35:09多种方法判断素数