动态规划用于处理大数字相乘问题
发布时间
阅读量:
阅读量
题目要求解析
今年被国际数学联盟正式确立为“2000——世界数学年”,同时又正值我国著名数学家华罗庚先生诞辰90周年纪念日。在华罗庚先生的故乡江苏金坛,举办了一场形式新颖、内容丰富的数学智力竞赛活动,你的一位亲密朋友XZ也荣幸地参与其中。在竞赛过程中,主持人向所有参赛者提出了一道题目:
假设存在一个长度为N的数字序列,要求参赛者利用K个乘号将其划分为K+1个部分,并寻找一种划分方式,使得这K+1个部分的乘积达到最大值。
为了确保所有选手能够准确理解题目的含义,主持人还提供了一个具体的示例进行说明:
假设有一个数字序列:312,当N=3且K=1时,存在以下两种划分方式:
312=36
312=62
此时符合题目要求的最佳结果是:31*2=62
现在,请你协助你的好友XZ编写一个程序以求得正确的答案。
输入格式如下:
程序输入包含两行内容:
第一行包括两个自然数N和K(其中6≤N≤40,且1≤K≤6)
第二行则是一个长度为N的数字字符串。
输出格式如下:
输出所求得的最大乘积结果(该结果应为一个自然数)。
样例输入如下:
4 2
1231
样例输出如下:
62
代码块
#include<stdlib.h>
#include<stdio.h>
#define MAX
全部评论 (0)
还没有任何评论哟~
