题目描述

一个正整数一般可以分为几个互不相同的自然数的和,如3=1+2,4=1+3,5=1+4=2+3,6=1+5=2+4,…。
现在你的任务是将指定的正整数n分解成m个(m>=1)互不相同的自然数的和,且使这些自然数的乘积最大。

输入

只一个正整数n,(3≤n≤10000)。

输出

第一行是分解方案,相邻的数之间用一个空格分开,并且按由小到大的顺序。
第二行是最大的乘积。

样例输入

10

样例输出

2 3 5
30

数据范围限制

30%的数据 3<=n<=100

程序

#include<cstdio>
#include<iostream>
using namespace std;
int n,m,l,w,k[10001],a[10000],maxn=10000;
void gaojin(int x)
{int g=0,k=0;for (int i=maxn;i>=1;i--){g=a[i]*x+k;a[i]=g%10;k=g/10;}
}
int main()
{freopen("max.in","r",stdin);freopen("max.out","w",stdout);cin>>n;m=n;l=2;    if (n==4) {cout<<n<<endl;cout<<n;return 0;}while (m>=l){w++;k[w]=l;m-=l;l++;}if (m<=w) for (int i=m;i>=1;i--) k[w-i+1]++;else{for (int i=w;i>=1;i--) k[w-i+1]++;for (int i=m-w;i>=1;i--) k[w-i+1]++;}a[maxn]=1;for (int i=1;i<=w;i++) {cout<<k[i]<<' ';gaojin(k[i]);}cout<<endl;l=1;while (a[l]==0) l++;for (int i=l;i<=maxn;i++) cout<<a[i];fclose(stdin);fclose(stdout);return 0;
}

转载于:https://www.cnblogs.com/YYC-0304/p/9500085.html

JZOJ__Day 7:【普及模拟】max相关推荐

  1. JZOJ__Day 10:【普及模拟】【USACO】iCow播放器

    题目描述 被无止境的农活压榨得筋疲力尽后,Farmer John打算用他在MP3播放器市场新买的iCow来听些音乐,放松一下.FJ的iCow里存了N(1 <= N <= 1,000)首曲子 ...

  2. JZOJ__Day 10:【普及模拟】【USACO】山峰暸望

    题目描述 一天,Bessie在眺望美丽的威斯康星的群山的时候,她突然产生了疑问:哪座山是最宽的捏?她决定在地平线上,利用她的新发明的山峰高度测量仪依次做N (1 <= N <= 10,00 ...

  3. JZOJ__Day 9:【普及模拟】Square

    题目描述 今天小D在他的课桌上玩方格纸,现在有一个平面直角坐标系,小D将方块纸放在这个坐标系中,并且方格纸的都与x轴.y轴平行,小D在这上面放了许多的方格纸,然后想知道对于平面直角坐标系中的一个点有多 ...

  4. JZOJ__Day 7:【普及模拟】蚂蚁

    题目描述 n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行.当蚂蚁爬到竿子的端点时就会掉落.由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去.对于每只蚂蚁,我们知道它距离竿子左端的 ...

  5. JZOJ__Day 6:【普及模拟】Oliver的成绩(score)

    题目描述 Oliver进入初中后,觉得自己不能总是玩儿了,应该要好好学习了.正好一次考试结束了,Oliver想知道自己的语文,数学,英语分别与语文年级第一,数学年级第一,英语年级第一相差多少. 由于O ...

  6. JZOJ__Day 5:【普及模拟】权势二进制

    题目描述 一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成.例如0,1,101,110011都是权势二进制而2,12,900不是. 当给定一个n的时候,计算一下最少要多少个权势二进 ...

  7. JZOJ__DAY 4:【普及模拟】最大值

    题目描述 给定n个数,{x1,x2,...,xn}要求从中选出至少一个数,至多n个数,使得乘积之和最大. 输入 第一行整数n,表示有多少个数 接下来n行,每行一个整数xi,-10 ≤xi≤ 10 输出 ...

  8. JZOJ__Day 1【NOIP普及模拟】MATRIX

    题目描述 总所周知,我们住在一个N*N的方阵(正方形)里面.其中每个小格子中都有一个整数.为了离开这个方阵,我们必须找到 最美丽的子方阵.如果我们定义A为某个方阵主对角线上的和,定义B为某个方阵副对角 ...

  9. JZOJ__Day 2:【普及模拟】串

    题目描述 给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等. 输入 一个字符串,只包含01,长度不超过1000000. 输出 一行一个整数,最长的0与1的个数相等的子串的长度. ...

最新文章

  1. abc类计算机,计算机科学ABC类会议分类表
  2. HDLBits 系列(32)Sequence recognition(序列检测)
  3. 单片机课程设计数字心率计_课程设计-基于单片机的数字人体心率计设计.doc
  4. php中abstract和interface的区别
  5. Direct3D中设备丢失处理
  6. 异常已存在具有相同键的条目。_灵敏度高,却已停产——山进PR-D3Plus DX收音机评测...
  7. DMA驱动开发(6,参考资料)有用链接
  8. Linux端口转发 端口映射相关 (iptables实现)
  9. 如何读取yml文件内容
  10. python字符串行列转换_Excel、SQL、Python分别实现行列转换
  11. 基于证书的反垃圾邮件系统
  12. 数据库例题(创建数据库SPJ包含S、P、J和SPJ表)
  13. 【网络工程师】<软考中级>各类以太网标准10BASE-T/100BASE-T4/100BASE-FX/1000BASE-X等详解(了解)
  14. Python学习:输出99乘法口诀表
  15. VBA基础函数:取数组最大下标——UBound函数
  16. Supervised Descent Method(人脸对齐之SDM论文解析)
  17. cocos2dx 3.10 功夫小子学习笔记
  18. 大数据学习相关内容总结
  19. 逆水寒服务器维护到什么时候,逆水寒11月1日更新到什么时候_维护到几点
  20. dg打开软件Android,DG 文件扩展名: 它是什么以及如何打开它?

热门文章

  1. 《蓝桥小记》 2018-04-01
  2. python展示_python展示ppt
  3. [OS复习]虚拟存储管理技术2
  4. [Medical Image Processing] 2. GrayScale Histogram and Threshold-【Isodata Algorithm】
  5. 关于FillSchema与Fill
  6. C#验证Email是否真正存在,不是验证邮件格式,是邮件地址是否存在 .
  7. QT计算器功能的实现
  8. mvc:interceptor 不起作用的一个解决方法
  9. 链表之CIRCLEQ
  10. Hi3516A开发-- UBI 文件系统使用指南