首页 技术 正文
技术 2022年11月20日
0 收藏 631 点赞 4,113 浏览 689 个字

  题目链接:http://cstfs.gdufs.edu.cn:8080/JudgeOnline/problem.jsp?id=1237 (好像是内网的0.0)

  简单来说,这道题目就是把一个数分解为若干个互不相同的数使得乘积最大。

  分解为不相同的数确实有点难(若没这个限制的话直接就把它分成若干个3来解决即可,可以证明得到的)
  首先可以想到分解出来的数肯定是很接近的,甚至是连续的,而且如上所说我们可以从 2开始分解(1就不要考虑了,有等于无,1*任何数都为原数)
  然后从 2开始一直不断累加,直到累加的结果很接近 n,然后,重点就是如何处理剩下的那部分了,如果把它直接加给累加的最后一个数(i)的话那么就会拉开 i和 i-1的距离了,所以我们从 2开始,不断进行尝试,看累加后有没和已经得到的数列重复,一旦找到合适的那么就是最后的结果了。
  最后说一句,鉴于广外OJ的超弱数据,我也不知道我的思路有没错,而且所有的处理均为暴力,我连中间可以用累加和的公式来处理的都跳过了,直接暴力地递增累加(0.0)

 #include<iostream>
using namespace std;
typedef long long LL; int main(){
LL n,i,j;
cin>>n;
LL sum= , ans= ;
for(i=; ; ++i){
if(sum+i > n) break;
sum+= i;
ans*= i;
}
--i;
int remain= n-sum;
for(j=; j<=i; ++j)
if(j+remain > i){
ans= ans/j*(j+remain);
break;
}
cout<<ans<<endl;
return ;
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,104
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,581
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,428
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,200
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,835
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,918