Algorithm/백준
[BAEKJOON] 4375번: 1
NegotiationMan
2023. 8. 24. 18:48
문제
2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 각 자릿수가 모두 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오.
코드
while True:
try:
n = int(input())
except:
break
# 1로만 이루어진 수
num = 1
# 수의 자리수
cnt = 1
while num%n!=0:
num = num * 10 + 1
cnt += 1
print(cnt)
나의 생각
try와 except 구문을 사용하여 입력을 받다가 오류가 발생하면(예를 들어, 입력이 더 이상 없거나 정수가 아닌 값이 들어올 경우) 루프
오류가 발생하지 않으면 num을 10을 곱한 뒤 1을 더해서 다음 수를 만들어 나간다. 그리고 해당 수를 n으로 나눈 나머지를 확인. 만약 나머지가 0이 아니라면, 즉 n의 배수가 아니라면, 또 다음 수를 만들어 나가는 과정을 반복한다. 이때마다 count를 1씩 증가시켜서 자리수를 세어주면 끝!