📝 문제
💡 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
⚙️ 입력 : 첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500)
⚙️ 출력 : 첫째 줄에 구한 0의 개수를 출력한다.
1676번: 팩토리얼 0의 개수
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
www.acmicpc.net
✅ 풀이
n = int(input())
k = 1
for i in range(1,n+1,1):
k *= i
k = str(k)
cnt = 0
for i in range(len(k)-1, 1, -1):
if k[i] == "0":
cnt += 1
else:
break
print(cnt)
💡 n이 엄청 큰 수가 아니므로, 단순하게 접근했다.
우선 n!을 계산해주고 문자열 형태로 바꾸었다.
그 다음, 문자열의 뒤에서부터 0이 아닌 수가 올 때까지 카운팅을 진행했다.
📝 문제
💡 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
⚙️ 입력 : 첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500)
⚙️ 출력 : 첫째 줄에 구한 0의 개수를 출력한다.
1676번: 팩토리얼 0의 개수
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
www.acmicpc.net
✅ 풀이
n = int(input())
k = 1
for i in range(1,n+1,1):
k *= i
k = str(k)
cnt = 0
for i in range(len(k)-1, 1, -1):
if k[i] == "0":
cnt += 1
else:
break
print(cnt)
💡 n이 엄청 큰 수가 아니므로, 단순하게 접근했다.
우선 n!을 계산해주고 문자열 형태로 바꾸었다.
그 다음, 문자열의 뒤에서부터 0이 아닌 수가 올 때까지 카운팅을 진행했다.