一道笔试题目
来源:互联网 发布:对于网络直播的看法 编辑:程序博客网 时间:2024/05/18 20:09
转载自:http://blog.csdn.net/lanzhihui_10086/article/details/40000371
题目描述:编写一个函数,输入一个正整数n,返回一个最小的正整数m(m至少包含两位数),使得m的各位乘积等于n,如果某个n不存在这样的m,则返回-1,
例如:
输入:12
输出:26
输入:100
输出:455
输入:7
返回:17
- #include<iostream>
- using namespace std;
- int func(int n)
- {
- int num=0;
- int s;
- int m[10]={0};
- int p=0;//数组m的下标
- int sum=n;
- int i=2;//1~81得用两位数来表示
- int q=9;
- bool falg=false;
- while(sum>9*q)//计算大于81的数应该用几位数字表示 82~729之间用3位数表示
- {
- i++;
- q*=9;
- }
- int r=i-1;//后面要从数组m的i-1位开始输出,记录下i-1的值
- while(i)//找出满足条件的i位数
- {
- for(int j=9;j>=1&&!falg;j--)
- {
- s=sum;
- if(sum%j==0)
- {
- falg=true;
- m[p++]=j;
- sum/=j;
- }
- }
- if(s==sum&&sum>=10)
- {
- return -1;
- }
- --i;
- falg=false;
- }
- for(;r>=0;r--)
- {
- num=num*10+m[r];
- }
- return num;
- }
- int main()
- {
- int n;
- //for(;;)
- //{
- cin>>n;
- int sum=func(n);
- cout<<sum<<endl;
- //}
- system("pause");
- return 0;
- }
运行结果:
题目来自网络。
0 0
- 笔试的一道题目
- 一道笔试题目
- 微软一道笔试题目
- 一道笔试题目
- 一道笔试题目
- 一道笔试题目
- 一道笔试题目
- 一道android笔试题目
- 华为的一道笔试题目
- 一道javascript正则笔试题目
- 一道有趣的笔试题目!
- 百度一道笔试题目的答案
- 笔试的一道关于测试的题目
- 阿里巴巴的笔试的一道题目
- 2012校园招聘的一道笔试题目
- 试题:网易笔试的一道题目
- 一道网易笔试题目-几何相关
- 分享一道类继承的笔试题目
- 易语言5.2破解笔记
- 与大师同行 第57届世界互联网峰会 2014年11月13-16日 中国·深圳
- 2014/10/12 Eclipse下JDBC连接MySQL数据库与示例
- OpenGL初学:安装配置与第一个程序
- 大学
- 一道笔试题目
- 如何选择开源许可证?
- 与大师同行 第57届世界互联网峰会 2014年11月13-16日 中国·深圳
- 【C/C++】【Linux&Windows】Windows系统下的文件夹扫描与Linux系统下的实现比较
- x4412开发板&ibox卡片电脑项目实战15-移植第一个hello x4412内核驱动
- 前方有雾--葡桃
- 第七周项目1电阻串联
- UIUC同学Jia-Bin Huang收集的计算机视觉代码合集
- 生成元