博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Nowcoder] 整数分解的最大乘积
阅读量:4306 次
发布时间:2019-06-06

本文共 558 字,大约阅读时间需要 1 分钟。

给出一个整数n,将n分解为至少两个整数之和,使得这些整数的乘积最大化,输出能够获得的最大的乘积。
例如:
2=1+1,输出1;
10=3+3+4,输出36。
 
思路:
对于整数分解,只有将整数按照3来分解,乘积最大。
对于1,2,3最大结果是0,1,2,对于4最大结果是4。
将原数按照3依次分解相乘,如果最后分解结果小于等于4,则将该数与乘积直接相成。
#include 
#include
using namespace std; int deal(int n){ if (n <= 3) return n-1; int res = 1; while (n > 4) { res *= 3; n -= 3; } res *= n; return res;} int main(){ int n; while (cin >> n) { cout << deal(n) << endl; } return 0;}

 

转载于:https://www.cnblogs.com/immjc/p/9455754.html

你可能感兴趣的文章
Android 虚拟机简单介绍——ART、Dalvik、启动流程分析
查看>>
原理性地理解 Java 泛型中的 extends、super 及 Kotlin 的协变、逆变
查看>>
FFmpeg 是如何实现多态的?
查看>>
FFmpeg 源码分析 - avcodec_send_packet 和 avcodec_receive_frame
查看>>
FFmpeg 新旧版本编码 API 的区别
查看>>
RecyclerView 源码深入解析——绘制流程、缓存机制、动画等
查看>>
Android 面试题整理总结(一)Java 基础
查看>>
Android 面试题整理总结(二)Java 集合
查看>>
学习笔记_vnpy实战培训day02
查看>>
学习笔记_vnpy实战培训day03
查看>>
VNPY- VnTrader基本使用
查看>>
VNPY - CTA策略模块策略开发
查看>>
VNPY - 事件引擎
查看>>
MongoDB基本语法和操作入门
查看>>
学习笔记_vnpy实战培训day04_作业
查看>>
OCO订单(委托)
查看>>
学习笔记_vnpy实战培训day06
查看>>
回测引擎代码分析流程图
查看>>
Excel 如何制作时间轴
查看>>
股票网格交易策略
查看>>