importsysinput=sys.stdin.readlinedefprime_number(m,n):primes=[False,False]+[True]*(n-1)# 0,1은 False
foriinrange(2,int(n**(0.5)+1)):ifprimes[i]==True:forjinrange(i*2,n+1,i):# i*2 부터 n+1까지 i 단위로 반복함
primes[j]=Falseforindexinrange(m,n+1):ifprimes[index]:print(index)m,n=map(int,input().split(" "))prime_number(m,n)
4948 - 베르트랑 공준
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
importsysinput=sys.stdin.readlinearr=[0]*2+[1]*246912# 123456까지 수 제한이 있으므로 2n의 범위인 246912까지 배열 선언
foriinrange(2,246913):ifarr[i]:forjinrange(i*2,246913,i):# 에라토스테네스의 체에서 소수의 배수를 없애는 순서
arr[j]=0whileTrue:num=int(input())ifnum==0:breakprint(sum(arr[num+1:num*2+1]))
importsysinput=sys.stdin.readline# 에라토스테네스의 체로 미리 소수를 담아두는 배열을 만듬
arr=[0]*2+[1]*999999foriinrange(2,1000001):ifarr[i]:forjinrange(i*2,1000001,i):arr[j]=0T=int(input())# 테스트 케이스
foriinrange(T):count=0# 정답을 담을 변수
N=int(input())forjinrange(2,N//2+1):ifarr[j]andarr[N-j]:count+=1print(count)
13909 - 창문 닫기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# import sys
# input = sys.stdin.readline
# for N in range(27):
# arr = [0] * N
# for i in range(N):
# for j in range(i + 1, N, i + 1):
# arr[j - 1] = 1 if arr[j - 1] == 0 else 0
# print(f"{N} : {sum(arr)}")
n=int(input())print(int(n**0.5))
댓글남기기