您的位置:首页 > 其它

2017年4月11日携程笔试题 乘积最大

2017-04-24 00:58 183 查看
题目:



解析:点击打开链接

代码:

#include<iostream>
using namespace std;

int maxNum(int k) //依据一个原理,分解式一定是一段连续的整数,或者是一段连续的整数去掉一个
{
if (k <= 1)return 1;
int n = 1, ans = 1, sum = 0;
while (sum <= k)n++, sum += n, ans *= n;
ans /= sum - k;
return ans;
}
int main()
{
int res;
int _k;
scanf("%d", &_k);
res = maxNum(_k);
printf("%d\n", res);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: