Ural 1014 Product of Digits 解题报告
时间:2011-06-17
来源:C小加
在手机上看
手机扫描阅读
题意:
是找到一个最小的正整数Q,使Q的各位数的乘积等于N。
思路:
从9到2取余。
代码:
#include <iostream>
#include <algorithm>
using namespace std;
bool fun(int x,int *ops,int &num)
{
if(x==1) return 1;
for(int i=9;i>=2;i--)
{
if(x%i==0)
{
ops[num]=i;
num++;
return fun(x/i,ops,num);
}
}
return 0;
}
int main()
{
int n;
while(cin>>n)
{if(n==0) cout<<10<<endl;
else if(n<=9) cout<<n<<endl;
else
{
int ops[11];
int num=0;
if(fun(n,ops,num))
{
sort(ops,ops+num);
for(int k=0;k<num;k++)
cout<<ops[k];
cout<<endl;
}
else
cout<<-1<<endl;
}
}
return 0;
}
相关阅读 更多
热门阅读
- office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
- 如何安装mysql8.0
阅读:31
- Word快速设置标题样式步骤详解
阅读:28
- 20+道必知必会的Vue面试题(附答案解析)
阅读:37
- HTML如何制作表单
阅读:22
- 百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
- ET文件格式和XLS格式文件之间如何转化?
阅读:24
- react和vue的区别及优缺点是什么
阅读:121
- 支付宝人脸识别如何关闭?
阅读:21
- 腾讯微云怎么修改照片或视频备份路径?
阅读:28