문제
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씩 증가시켜서 자리수를 세어주면 끝!
'Algorithm > 백준' 카테고리의 다른 글
| [BAEKJOON] 10808번: 알파벳 개수 (0) | 2023.09.04 |
|---|---|
| [BAEKJOON] 1037번: 약수 (0) | 2023.08.24 |
| [BAEKJOON] 2004번: 조합 0의 개수 (0) | 2023.08.24 |
| [BAEKJOON] 1676번: 팩토리얼 0의 개수 (0) | 2023.08.23 |
| [BAEKJOON] 10872번: 팩토리얼 (0) | 2023.08.23 |