首页 > 试题广场 >

素数判断

[编程题]素数判断
  • 热度指数:49419 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}给定 T 个正整数 n,判断每个 n 是否为素数

【名词解释】
\hspace{15pt}素数:大于 1 且仅能被 1 和自身整除的正整数。

输入描述:
\hspace{15pt}第一行输入一个整数 T1 \leqq T \leqq 10),表示需要判断的整数个数。

\hspace{15pt}接下来 T 行,每行输入一个正整数 n1 \leqq n \leqq 10^5)。


输出描述:
\hspace{15pt}输出 T 行,每行对应一个测试用例:若 n 是素数,输出 \text{Yes};否则输出 \text{No}
示例1

输入

2
1
2

输出

No
Yes

说明

第一个测试用例 n=11 不是素数,输出 No;第二个测试用例 n=22 是素数,输出 Yes。
T = int(input())

for _ in range(T):
    n = int(input())
   
    if n<2:
        print('No')
        continue

    for i in range(2, int(n**0.5)+1):
        if n%i==0:
            print('No')
            break
    else:
        print('Yes')
发表于 2025-12-17 22:48:43 回复(0)
t=int(input())
for i in range(t):
    n=int(input())
    s=0
    for j in range(2,n):
        if n % j ==0:
            s+=1
    if s==0 and n>1:
        print('Yes')
    else:
        print('No')

发表于 2025-11-23 17:22:24 回复(0)
importmath
num = int(input(""))
lst = []
fori in range(1, num + 1):
    number = int(input(""))
    lst.append(number)
fornumber in lst:
    if0<= number <= 1:
        print("No")
    else:
        fori in range(2, int(math.sqrt(number)) + 1):
            ifnumber % i == 0:
                print("NO")
                break
        else:
            print("YES")我代码错在哪
发表于 2025-11-20 13:32:40 回复(0)
T=int(input())
p=1<=T<=10
if p:
    for i in range(T):
        p3=0
        n=int(input())
        p1=1<=n<=10**5
        p2=n==1
        if not p1:continue
        for j in range(2,int(n**0.5)+1):
            if j==n:continue
            if n%j==0:
                p3=1
                break
        print('No'if p2+p3 else'Yes')
else:print('请满足1≦T≦10的正整数')

发表于 2025-10-29 11:23:57 回复(0)
import math

def isprime(n):
    if n == 1:
        return False
    for i in range(2, math.isqrt(n)+1, 1):
        if n % i == 0:
            return False
    return True

T = int(input())
for i in range(T):
    n = int(input())
    if isprime(n):
        print('Yes')
    else:
        print('No')
发表于 2025-08-13 16:18:21 回复(0)
T = int(input())

def prime(x:int):
    flag = True
    if x < 2:
        flag = False
    else:
        for i in range(2, x):
            if x % i == 0:
                flag = False
                break
    return flag
   
for i in range(1, T+1):
    n = int(input())
    if prime(n):
        print('Yes')
    else:
        print('No')
发表于 2025-08-04 11:03:05 回复(0)
from math import sqrt
t=int(input()) for i in range(1,t+1):
    n=int(input()) if n==1: print('No') elif n==2: print('Yes') else:
        is_prime = True  for j in range(2,int(sqrt(n)) + 1):
            
            a=n%j if a==0:
                is_prime = False   break  print('Yes' if is_prime else 'No')
发表于 2025-07-25 22:37:11 回复(0)
import math

T : int = int(input())
for j in range(T):
    n : int = int(input())
    isPrime : bool = True
    if n <= 1:
        isPrime = False

    for i in range(2, int(math.sqrt(n)) + 1, 1):
        if n % i == 0:
            isPrime = False

    print("Yes" if isPrime else "No")

发表于 2025-07-24 10:43:33 回复(0)
t = int(input())
for i in range(t):
    n = int(input())
    s = False
    if n==1:
        print('No')
        continue
    if n==2:
        print('Yes')
        continue
    for j in range(2,n):
        if n%j==0:
            s = True
            break
    print('No') if s else print('Yes')
   
发表于 2025-07-13 23:08:42 回复(0)
import math

T = int(input())

for i in range (T):
    n = int(input())
    if n == 1:
        print("No")
        continue
    for j in range (2, int(math.sqrt(n)+1)):
        if n % j == 0:
            print("No")
            break
    else:
        print("Yes")


发表于 2025-07-13 08:04:02 回复(0)
# 碰碰运气
import random
[print(['Yes','No'][random.randint(0,1)]) for i in range(int(input()))]
发表于 2025-07-07 22:42:45 回复(0)