백준 - 파이썬/단계별 - 9 (약수, 배수와 소수)6 *[백준/파이썬] 11653번 소인수분해 # 소인수분해n = int(input())if n == 1: exit()i = 2while n > 1: while n % i == 0: n //= i # 정수 나눗셈 // print(i) i += 1 * 작은 소인수부터 출력해야 하므로 i=2부터 시작한다.while n % i == 0:2, 3, 5,... 등 소인수 순서대로 처리하는 반복문 2025. 5. 15. [백준/파이썬] 2581번 소수 # 소수m = int(input())n = int(input())prime_nums = []for i in range(m, n+1): # m이상 n이하 tmp = 0 # 약수 개수 검사 for j in range(1, i+1): if i % j == 0: tmp += 1 # 소수면 리스트에 넣기 if tmp == 2: prime_nums.append(i)if len(prime_nums) 2025. 5. 15. *[백준/파이썬] 1978번 소수 찾기 나는 오히려 입력받는 부분에서 조금 헤멨다.nums = list(map(int, input().split())) 이렇게 하면 입력 개수만큼 공백으로 구분해서 list에 넣을 수 있다. # 소수 찾기n = int(input())nums = list(map(int, input().split()))# 소수의 개수 출력prime_nums = 0for i in range(n): tmp = 0 for j in range(1, nums[i]+1): if nums[i] % j == 0: tmp += 1 if tmp == 2: prime_nums += 1print(prime_nums) *참고로 1은 소수가 아니다!! 2025. 5. 15. *[백준/파이썬] 9506번 약수들의 합 | join 이용하여 리스트를 문자열로 연결 # join이용해서 리스트 사이를 +로 연결factor_str = ' + '.join((map(str, factor[:-1]))) # 약수들의 합while True: n = int(input()) if n == -1: break #약수 리스트에 담기 factor = [] for i in range(1, n+1): if n % i == 0: factor.append(i) if sum(factor[:-1]) == n: # join이용해서 리스트 사이를 +로 연결 factor_str = ' + '.join((map(str, factor[:-1]))) print(f'{n} = {factor_str}.. 2025. 5. 15. [백준/파이썬] 2501번 약수 구하기 *1부터 n까지 n으로 나누어서 0인 것들만 약수이므로n의약수를 뽑아 factor 리스트에 넣어둔다. # 약수 구하기n, k = map(int, input().split())factor = []for i in range(1, n+1): if n % i == 0: factor.append(i) # else: # continueif len(factor) 2025. 5. 15. [백준/파이썬] 5086번 배수와 약수 # 배수와 약수while True: a, b = map(int, input().split()) if a==0 and b==0: break else: if b % a == 0: # a가 b의 약수일 때 print('factor') elif a % b == 0: # a가 b의 배수일 때 print('multiple') else: print('neither') else:없이 그냥 if를 써도 된다. 현재 중첩되기 때문에. 2025. 5. 15. 이전 1 다음