python2 입력받은 자연수 약수 구하는 알고리즘
#-*- coding:utf-8 -*-
n = input("숫자") #숫자 입력받기
for i in range(1,n+1): # n이 9라면 i 는 1부터 9까지 1,2,3,4,5,6,7,8,9
if(n%i ==0): # 9를 i로 나누었을 때 나머지가 0이면 약수
print i,"는",n,"의 약수임"
print "##############" # 밑에는 다른 방식
for i in range(1,n+1): # 위와 같음
mok = int(n/i) # 몫을 mok에 정수로 할당
nmg = n - mok*i # 나머지를 nmg에 할당
if(nmg==0): # 나머지가 0이면 약수
print i,"은",n,"의 약수임"
a =[] # 리스트 초기화
N = input("숫자") # 자연수 N 입력받음
a.append(N) #입력받은 자연수 a[0]에 넣음
for i in range(N-1,-1,-1): # 9를 입력받으면 8부터 0까지 -1씩 줄어듬 8,7,6,5,4,3,2,1,0
try:# 마지막 i가 0이되면 ZeroDivisionError 예외가 발생 따라서 잡아준다.
ng = N % i # 나머지 계산
if(ng==0): #나머지가 0이면
a.append(i) #차례대로 리스트에 넣어줌
except:
continue
for i in range(len(a)-1,-1,-1): # 리스트에 들어간 약수를 오름차순으로 출력하기 위함
print a[i] #a의 길이-1 즉 약수가 3개니까 길이는 3하지만 index는 0~2까지
#따라서 -1을 해준다 따라 2,1,0 순으로 차감
n = input("숫자") #숫자 입력받기
for i in range(1,n+1): # n이 9라면 i 는 1부터 9까지 1,2,3,4,5,6,7,8,9
if(n%i ==0): # 9를 i로 나누었을 때 나머지가 0이면 약수
print i,"는",n,"의 약수임"
print "##############" # 밑에는 다른 방식
for i in range(1,n+1): # 위와 같음
mok = int(n/i) # 몫을 mok에 정수로 할당
nmg = n - mok*i # 나머지를 nmg에 할당
if(nmg==0): # 나머지가 0이면 약수
print i,"은",n,"의 약수임"
a =[] # 리스트 초기화
N = input("숫자") # 자연수 N 입력받음
a.append(N) #입력받은 자연수 a[0]에 넣음
for i in range(N-1,-1,-1): # 9를 입력받으면 8부터 0까지 -1씩 줄어듬 8,7,6,5,4,3,2,1,0
try:# 마지막 i가 0이되면 ZeroDivisionError 예외가 발생 따라서 잡아준다.
ng = N % i # 나머지 계산
if(ng==0): #나머지가 0이면
a.append(i) #차례대로 리스트에 넣어줌
except:
continue
for i in range(len(a)-1,-1,-1): # 리스트에 들어간 약수를 오름차순으로 출력하기 위함
print a[i] #a의 길이-1 즉 약수가 3개니까 길이는 3하지만 index는 0~2까지
#따라서 -1을 해준다 따라 2,1,0 순으로 차감
출력
숫자9
1 는 9 의 약수임
3 는 9 의 약수임
9 는 9 의 약수임
##############
1 은 9 의 약수임
3 은 9 의 약수임
9 은 9 의 약수임
숫자9
1
3
9
댓글
댓글 쓰기