测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A2165. 变幻数

编程题 提高+/省选-
知识点

题目描述

给定一个十进制正整数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

说明/提示

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