Development Project

[ Baekjoon - 단계별로 풀어보기(05/31) ] - 8단계 : 기본 수학 2 본문

CodingTest/Baekjoon

[ Baekjoon - 단계별로 풀어보기(05/31) ] - 8단계 : 기본 수학 2

나를 위한 시간 2022. 5. 31. 23:55
  • 1978 : 소수 찾기
n=int(input())
l=list(map(int,input().split()))
cnt=0
for i in l[:n]:
    if i==1:
        continue
    ok=0
    for j in range(1,i+1):
        ok+=1 if i%j==0 else 0
    cnt+=1 if ok==2 else 0
print(cnt)

 

  • 2581 : 소수
m,n=int(input()),int(input());num=m;l=[]
while num>=m and num<=n:
    ok=1
    if(num<2):
        ok=0
    for i in range(2,num):
        if(num%i==0):
            ok=0
    if ok==1:
        l.append(num)
    num+=1
print(-1 if not l else f"{sum(l)}\n{min(l)}")

 

  • 11653 : 소인수분해
n=int(input());i=2
while n!=1:
    if n%i==0:
        print(i)
        n/=i
    else:
        i+=1

 

  • 1929 : 소수 구하기
m,n=map(int,input().split())
prime=[True]*(n+1)
prime[0]=False
prime[1]=False
for a in range(len(prime)):
    if prime[a]:
        for b in range(a*2, n+1, a):
            prime[b]=False
for i in range(m,n+1):
    if prime[i]==True:
        print(i)

 

  • 4948 : 베르트랑 공준
while True:
    n=int(input())
    cnt=0
    if n==0:
        break
    prime=[True]*(2*n+1)
    prime[0]=False
    prime[1]=False
    for a in range(len(prime)):
        if prime[a]:
            for b in range(a*2, 2*n+1, a):
                prime[b]=False                
    for i in range(n+1, 2*n+1):
        if prime[i]==True:
            cnt+=1
    print(cnt)

 

  • 9020 : 골드바흐의 추측
from sys import stdin

T=int(stdin.readline())

def prime(number): 
    if number<2:
        return False
    for j in range(2,int(number**0.5)+1):
        if number%j==0:
            return False
    return True

for i in range(T): 
    n=int(stdin.readline()) 
    a=int(n/2)
    b=int(n/2)

    for k in range(int(n/2)):
        if prime(a) and prime(b):
            print(a,b)
            break
        else:
            a=a-1
            b=b+1

 

Comments