윤년 구하는 프로그램, 완전수, 소수 판단 프로그램
윤년은 해당 연도를 4로 나눴을때 나누어 떨어지면 윤년입니다.
하지만 4로 나누어 떨어지고 100으로 나누어 떨어지면 평년입니다.
100으로도 나누어 떨어지지만 400으로도 나누어 떨어지면 윤년입니다.
이외의 나머지 연도는 모두 평년입니다.
year = int(input("연도 입력 : "))
if year % 400 == 0:
print(year, ": 윤년입니다.")
elif year % 100 == 0:
print(year, ": 평년입니다.")
elif year % 4 == 0:
print(year, ": 윤년입니다.")
else :
print(year, ": 평년입니다.")
if year % 4 == 0:
이 구문이 먼저 작성됐다면 4로 나누어 떨어지면서 100으로도 나누어 떨어지는 평년 역시 윤년으로 출력될 것이다.year = int(input("연도 입력 : "))
li = []
for i in range(1, year+1):
if i % 400 == 0:
li.append(i)
elif i % 100 == 0:
pass
elif i % 4 == 0:
li.append(i)
else:
pass
print("윤년 :", li)
list.append()
를 활용하여 최종 윤년을 보기 쉽게 리스트로 출력하였다.완전수는 자기 자신을 제외한 양의 약수를 더했을 때 자기 자신이 되는 정수를 말합니다.
최초 다섯 개의 완전수는 6, 28, 496, 8128, 33550336
N = int(input("수 입력 : "))
li = []
for i in range(1, N):
if N % i == 0:
li.append(i)
if sum(li) == N:
print(N,": 완전수")
for i in range(1, N):
, N+1이 아니라 N까지 해주는 이유는 완전수를 계산할 때 자기자신은 제외하기 때문이다.N = int(input("수 입력 : "))
for i in range(1, N+1):
li = []
for j in range(1, i):
if i % j == 0:
li.append(j)
if sum(li) == i:
print(i, ": 완전수")
소수는 약수의 개수가 2개 즉, 1과 자기자신만을 약수로 가지고 있는 수를 말합니다.
N = int(input("수 입력 : "))
count = 0
for i in range(1, N+1):
if N % i == 0:
count += 1
if count == 2:
print(N,"은 소수입니다.")
N = int(input("수 입력 : "))
for i in range(1, N+1):
li = []
for j in range(1, i+1):
if i % j == 0:
li.append(j)
if len(li)==2:
print(i, ": 소수")
len(li)
를 통해 리스트의 길이 즉, 리스트 요소의 개수가 2인 수를 찾아서 출력한다.