4564 숫자 카드놀이
https://www.acmicpc.net/problem/4564
4564번: 숫자 카드놀이
문제 맨 앞자리에 앉은 상근이는 수업시간이 아무리 지루해도 딴짓을 할 수가 없다. 그런데 오늘은 너무 딴짓이 하고 싶다. 공책에 정인이에게 배운 숫자 카드놀이를 하려고 한다. 숫자 카드놀이를 하려면 먼저 자연수 S를 골라야 한다. 그 다음, 각 자리를 모두 곱하면서 한 자리 수가 나오기 전까지 계속해서 새로운 수를 만드는 게임이다. 예를 들어, 95로 시작한다면, 9 × 5 = 45를 얻게 된다. 45도 두 자리 이상이기 때문에, 4 × 5 = 20를 얻
www.acmicpc.net
이 문제는 n의 각 자리수끼리의 곱을 구해서 출력하다가, 한 자리 수가 나오면 끝내는 간단한 문제이다.
#include <stdio.h>
int main()
{
int n,s=1,i,x=0;
while(1) {
scanf("%d", &n);
if(!n) break;
printf("%d ", n);
while(n/10!=0) {
for(i=100000; i>=1; i/=10) {
if(n/i) x=1;
if(x) s*=n/i;
n-=(n/i)*i;
if(i==1) i=0;
}
n=s;
s=1;
x=0;
printf("%d ", n);
}
puts("");
}
}
'C, C++ > 백준' 카테고리의 다른 글
4583번 거울상 문제를 풀어보았다. (0) | 2019.04.13 |
---|---|
4577번 소코반 문제를 풀어보았다. (0) | 2019.04.13 |
2606번 바이러스 문제를 풀어보았다. (0) | 2019.04.09 |
5904번 Moo 게임 문제를 풀어보았다. (1) | 2019.04.01 |
1145번 적어도 대부분의 배수 문제를 풀어보았다. (2) | 2019.03.25 |