num = int(input("3보다 큰 양의 정수 입력 : "))
is_prime, count = 0, 0
for num in range(2, num+1):
for i in range(2, num):
if num%i == 0:
is_prime = False
break
else:
is_prime = True
if is_prime == True:
print(num)
count += 1
else:
count = count
print("입력한 정수보다 작은 소수의 갯수 = %d개" % count)
이 코드에 대해서 질문 2개만 하겠습니다
1.처음시작할때 num과i가 2가 되는건 알았습니다. 그러면 이 다음에는 어떻게 바뀌나요? 3,3으로 바뀌나요? 아님 2,3으로 바뀌나요?
2.num과i가 각각 2로 됐으면 num%i==0 이 2%2==0 이 될거고 2와 2를 나눈 나머지가 0이니까 if가 참이 돼서 prime이false가 되니 break로 갈줄알았는데 else로 가서 True가 되더라구요... 왜이런건지모르겠어요...