题库练习 变幻数
← 上一题 下一题 →

A2165 | 变幻数

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

给定一个十进制正整数n,它的递归变幻数定义如下:

1.如果n的位数多于1位(忽略前置的0),将n的各个位上的数相乘,乘积为m。称m为n的子变幻数,n称为m的父变幻数。求一个数的变幻数等于求其子变幻数。即求n的变幻数等于求m的变幻数。

2.如果n的位数只有一位,n的变幻数即为它本身。 如求679的变幻数过程为:679 -> 378(=6\*7\*9) -> 168(=3\*7\*8) -> 48(=1\*6\*8) -> 32(=4\*8) -> 6(=2\*3),所以679的变幻数为6。

现在的问题是给定一个子变幻数k,问k的父变幻数最小是多少? 如:k=18,则k的父变幻数可以是29,也可以是92。但最小为29。

输入格式

一个子变幻数k(位数小于1000)。

输出格式

k的最小父变幻数。 当不存在父变幻数时请输出“There is no such number!”,输出结果不含引号。

输入输出样例

输入 #1
48
输出 #1
68
C++ 编辑器
输入
输出