Problem ID:
hsg9_2024_1
Points:
1 (partial)
Time limit:
1.0s
Memory limit:
512M
Input:
stdin
Output:
stdout
Author:
Problem source:
Problem type
Một số được gọi là số trung hòa nếu số đó có đúng một chữ số hoặc các chữ số của nó có chứa số ~0~. Chẳng hạn các số: ~3, 9, 120, 2024, 100000~ là các số trung hòa.
Cho một số nguyên dương ~N~, nếu ~N~ chưa là số trung hòa thì ta biến đổi ~N~ bằng tích các chữ số của ~N~. Cứ biến đổi như thế cho đến khi ta thu được số trung hòa.
Ví dụ: ~N = 2369~
- Biến đổi lần ~1~: ~N = 2 \times 3 \times 6 \times 9 = 324~ chưa là số trung hòa.
- Biến đổi lần ~2~: ~N = 3 \times 2 \times 4 = 24~ chưa là số trung hòa.
- Biến đổi lần ~3~: ~N = 2 \times 4 = 8~ là số trung hòa.
Yêu cầu: Viết chương trình cho phép kiểm tra xem ~N~ có phải là số trung hòa hay không và số lần biến đổi để ~N~ là số trung hòa.
Dữ liệu vào
- Nhập từ bàn phím một số nguyên dương ~N~ ~(N \le 10^{19})~.
Kết quả ra
Xuất ra màn hình gồm ba dòng như sau:
- Dòng thứ nhất xuất ra màn hình chữ
YES
nếu ~N~ là số trung hòa hoặc chữNO
nếu ~N~ không là số trung hòa. - Dòng thứ hai xuất ra màn hình số lần biến đổi để ~N~ trở thành số trung hòa.
- Dòng thứ ba, nếu ~N~ không là số trung hòa thì xuất ra màn hình số trung hòa thu được sau một lần biến đổi. Ngược lại nếu ~N~ là số trung hòa xuất ra màn hình
---
Ví dụ ~1~
Dữ liệu
6
Kết quả
YES
0
---
Ví dụ ~2~
Dữ liệu
2369
Kết quả
NO
3
8
Comments