코딩테스트 | python/백준

백준 단계별로 풀어보기(약수, 배수와 소수)

iemxl 2023. 6. 6. 17:33

#5086

while True:
    a,b=map(int,input().split())
    if a==0 & b==0:
        break
    if b%a==0:
        print('factor')
    elif a%b==0:
        print('multiple')
    else:
        print('neither')

 

#2501

lst=[]
a,b=map(int,input().split())
for i in range(10000):
    try:
        if a%i==0:
            lst.append(i)
    except:
        pass
try:
    print(lst[b-1])
except IndexError:
    print(0)

 

#9506

while True:
    lst=[]
    n=int(input())
    if n==-1:
        break
    for i in range(1,n):
        if n%i==0:
            lst.append(i)
    if n==sum(lst):
        print(n,'=',end=' ')
        for i in lst[:-1]:
            print(i,end=' + ')
        print(lst[-1])
    else:
        print(n,'is NOT perfect.')

# for문에 (1,n)이라고 0(나누기 오류 뜸 >> try except)과 n(출력방해)이 포함 되지 않고 append할 수 있음

 

#1978

n=int(input())
arr=list(map(int,input().split()))
lst=[]
if 1 in arr:
    arr.remove(1)
for i in arr:
    cnt=0
    for j in range(2,i):
        if i%j==0:
            cnt+=1
    if cnt==0:
        lst.append(i)
print(len(lst))

 

#2581

n=int(input())
m=int(input())
lst=[]
for i in range(n,m+1):
    if i == 1:
        cnt=1
        continue
    cnt=0
    for j in range(2,i):
        if i%j==0:
            cnt+=1
            break
    if cnt==0:
        lst.append(i)
if len(lst)==0:
    print(-1)
else:
    print(sum(lst),min(lst),sep='\n')

 

#11653

n=int(input())
result=[]
while n != 1:
    for i in range(2,n+1):
        if n % i==0:
            n//=i
            print(i)
            break

# 예를 들어 4로 나눠지면 2로 나눠지기 때문에 가능함.