描述

整数分解(版本2)
一个正整数可以分解成若干个自然数之和。请你编一个程序,对于给出的一个正整数n(1<=n<=1500),求出满足要求的分解方案,并使这些自然数的乘积m达到最大。

例如n=10,则可以分解为2+2+3+3,乘积m=2*2*3*3=36

格式

输入格式

一个正整数n

输出格式

输出分解的自然数的最大乘积m

样例1

样例输入1[复制]

10

样例输出1[复制]

36

提示

简单题,所有数据随机生成

题解 : n <= 3 时, 答案最大为n,即不拆。

n > 3 时, 我们发现应该把数拆成尽量多的2和3的和,因为大于2,3的数拆成2,3乘积都别拆成别的大,就算是4也只是与2 * 2等价(4 = 2 + 2), 不会使答案更优。

CODE:

#include <iostream>
#include <cstdio>
#include <cstring>
#define REP(i, s, n) for(int i = s; i <= n; i ++)
#define REP_(i, s, n) for(int i = n; i >= s; i --)
#define MAX_N 1000 + 10using namespace std;int a[MAX_N],la=1;void mul (int e){int s = 0, t = 0;REP(i, 0, la - 1){t = a[i] * e; a[i] = (t + s) % 10;s = (t + s) / 10;}while(s > 0){a[la ++] = s % 10;s /= 10;}
}int main (){int n;scanf("%d",&n);memset (a, 0, sizeof (a));a[0] = 1;if(n%3==0){ REP(i, 1, n / 3) mul(3); }else if(n % 3 == 1){ REP(i, 1, (n / 3 - 1)) mul(3);    mul(4);}else{REP(i, 1, n / 3) mul(3);mul(2);}if (n > 2)REP_(i, 0, la - 1) printf("%d",a[i]);else printf("%d",n);return 0;
}

转载于:https://www.cnblogs.com/ALXPCUN/p/4527068.html

VJ 1033 整数分解(版本2)相关推荐

  1. 整数n分解成素数乘积c语言,用C语言和汇编语言实现将1个整数分解成几个素数的乘积...

    任何1个大于2的整数都可以分解成几个素数的乘积.将1个整数分解成几个素数的乘积是个热门话题. 经常有人问到.本文试图用C语言和32位X86汇编语言给出一个比较好的实现.希望对c语言学习者和 汇编语言学 ...

  2. 7-37 整数分解为若干项之和(20 分)

    7-37 7-37 整数分解为若干项之和(20 分) 将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,-.编程求出正整数N的所有整数分解式子. 输入 ...

  3. 分解 python_面试官:如何用Python实现将一个整数分解成质因数?

    概述 今天主要分享一个关于分解质因数的实例,判断的逻辑稍微多了点,一起来看看吧~ 需求 将一个整数分解质因数.例如:输入90,打印出90=233*5 思路 其实根本不需要判断是否是质数,从2开始向数本 ...

  4. 数论 —— 整数分解

    [概述] 整数分解目前仍是世界级难题,是非常重要的研究方向,其有很多种算法,性能上各有差异,本文仅介绍试除法.Fermat 算法.Pollard Rho 算法. [试除法] 试除法也叫穷举法,是整数分 ...

  5. 7-37 整数分解为若干项之和 (20 分)(dfs)

    7-37 整数分解为若干项之和 (20 分) 将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,-.编程求出正整数N的所有整数分解式子. 输入格式: ...

  6. 整数分解为若干项之和

    7-37 整数分解为若干项之和 (20 分) 将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,-.编程求出正整数N的所有整数分解式子. 输入格式: ...

  7. 51Nod-1383 整数分解为2的幂【数列】

    1383 整数分解为2的幂  任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod 1000000007的结果. 比如N = 7时,共有6种划分方法. 7=1 ...

  8. 编程将一个整数分解成一个质因数的连乘积,并打印在屏幕上

    //编程将一个整数分解成一个质因数的连乘积,并打印在屏幕上 //***本题的难点是既要找出质因数,又要保证其连乘为该数 //***需要两个循环,外循环与内循环 /*每个合数 都可以写成几个 质数 相乘 ...

  9. 51nod 13831048 整数分解为2的幂 [递推]【数学】

    题目连接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1048 ---------------------------- ...

最新文章

  1. 计算机鼠标不好使,鼠标不好用 原因竟然让人哭笑不得
  2. c语言歌曲评选系统报告,C语言程序设计报告—歌曲信息管理系统精要.doc
  3. js blob 下载到本地文件
  4. GNU C中x++是原子操作吗?
  5. vim ctags java源码_如何使用vim的插件Ctags查看Linux源码
  6. ubuntu系统设置开机自启动
  7. 中国移动wlan优化app-截图
  8. 硬盘读写测试工具_硬盘测速工具:Blackmagic Disk Speed Test Mac
  9. 6.Entity FrameWork Core 5.0 删除、修改数据
  10. 哔哩哔哩Java学习视频
  11. ps渐变如何使用?如何使用Photoshop 2021给图片制作出渐变效果?
  12. 如何使用PS改变只有一种颜色图片的颜色
  13. oracle 怎么做日期计算,oracle日期计算
  14. 深度学习建模预测全流程(Python)!
  15. java 的安全管理器
  16. linux下ace安装教程,linux下安装ACE开发环境
  17. win10共享打印机搜索不到计算机,Win10专业版在局域网中搜索不到打印机
  18. 秣小白的C语言旅程——第一站
  19. 设置什么加快计算机启动速度,如何设置CPU加速对电脑启动速度的方法(更改CPU数量可开机提速)...
  20. UNIX环境高级编程 - UNIX基础知识

热门文章

  1. Google MapReduce有啥巧妙优化?
  2. 身为Java程序员,这些开源工具你一定要学会!
  3. Consul 原理和使用简介
  4. Python 怎么样在函数内部对全局变量进行修改
  5. ddnspod php 脚本_使用DNSPOD的域名解析实现DDNS域名动态的脚本
  6. react循环setstate_react -- 关于兄弟组件触发更新的问题
  7. redis 启动_Redis介绍amp;安装amp;启动
  8. python怎么用pip_python怎么使用pip工具
  9. 中国证券期货业南方信息技术中心二期约1.5万个机柜建设项目EPC总包定了!
  10. android格式化手机号正则,Android验证手机号的正则表达式