#Z1038. 最大乘积
最大乘积
题目描述
给定一个正整数 (不含前导零),你需要把它从某两个相邻数位之间切开,分成左右两个非负整数(不含前导零)。将这两个非负整数相乘,求所有切法中乘积的最大值。
例如 ,可以切成 ,,。最大值为 。
输入格式
一行一个正整数 。保证 。
输出格式
一行一个整数,表示最大乘积。
1456
870
90
0
样例解释
样例 :切法有 ,,,最大 。
样例 :只有一种切法 。
数据范围与约定
| 子任务 | 分值 | 限制 |
|---|---|---|
给定一个正整数 n(不含前导零),你需要把它从某两个相邻数位之间切开,分成左右两个非负整数(不含前导零)。将这两个非负整数相乘,求所有切法中乘积的最大值。
例如 n=1456,可以切成 1×456=456,14×56=784,145×6=870。最大值为 870。
一行一个正整数 n。保证 n≥10。
一行一个整数,表示最大乘积。
1456
870
90
0
样例 1:切法有 1×456=456,14×56=784,145×6=870,最大 870。
样例 2:只有一种切法 9×0=0。
| 子任务 | 分值 | 限制 |
|---|---|---|
| 1 | 30 | n<100 |
| 2 | n≤109 | |
| 3 | 40 | n≤1018 |