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。
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!”,输出结果不含引号。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?