FOJ 1208 最大k乘积问题
2008-08-08 10:24
288 查看
设I是一个n位十进制整数。如果将I划分为k段,则可得到k个整数。这k个整数的乘积称为I的一个k乘积。试设计一个算法,对于给定的I和k,求出I的最大k乘积。
对于给定的I和k,编程计算I的最大k乘积。
数据输入
输入文件由多组数据组成。每组数据格式如下:
第1行中有2个正整数n和k。正整数n是序列的长度;正整数k是分割的断数。
接下来的一行中是一个n位十进制整数。(n<=10)
结果输出
对于每组数据,输出计算出的最大k乘积。
输入示例
输出示例
Original: FJ CFCS 2005
这题目很好玩的说.......................~~~~~~~~~~
我是用递归做的,不过大牛说我这也算DP了....Orz
说白了我有点暴力求解的意思....
#include <stdio.h>
char num[10];
int len,k;
int get_arr_val(int _start,int _end)
{
int res=0,i;
for(i=_start;i<=_end;i++)
res=res*10+num[i]-'0';
return res;
}
int get_max_val(int _start,int _k)
{
int sum,i,msum=0;
if(_k==1) return get_arr_val(_start,len-1);
for(i=0;i<=len-_start-_k;i++)
{
sum=get_arr_val( _start, _start+i);
sum*=get_max_val(_start+i+1,_k-1);
if(sum>msum) msum=sum;
}
return msum;
}
int main()
{while(scanf("%d%d",&len,&k)!=EOF)
{
getchar();
gets(num);
printf("%d/n",get_max_val(0,k));
}
return 0;
}
对于给定的I和k,编程计算I的最大k乘积。
数据输入
输入文件由多组数据组成。每组数据格式如下:
第1行中有2个正整数n和k。正整数n是序列的长度;正整数k是分割的断数。
接下来的一行中是一个n位十进制整数。(n<=10)
结果输出
对于每组数据,输出计算出的最大k乘积。
输入示例
2 1 15
输出示例
15
Original: FJ CFCS 2005
这题目很好玩的说.......................~~~~~~~~~~
我是用递归做的,不过大牛说我这也算DP了....Orz
说白了我有点暴力求解的意思....
#include <stdio.h>
char num[10];
int len,k;
int get_arr_val(int _start,int _end)
{
int res=0,i;
for(i=_start;i<=_end;i++)
res=res*10+num[i]-'0';
return res;
}
int get_max_val(int _start,int _k)
{
int sum,i,msum=0;
if(_k==1) return get_arr_val(_start,len-1);
for(i=0;i<=len-_start-_k;i++)
{
sum=get_arr_val( _start, _start+i);
sum*=get_max_val(_start+i+1,_k-1);
if(sum>msum) msum=sum;
}
return msum;
}
int main()
{while(scanf("%d%d",&len,&k)!=EOF)
{
getchar();
gets(num);
printf("%d/n",get_max_val(0,k));
}
return 0;
}
相关文章推荐
- foj 1208 最大k乘积问题
- FOJ--1698--最大乘积--解题报告(大数乘小数的问题)
- FZU_1208_最大k乘积问题
- FZU_1208_最大k乘积问题
- 最大k乘积问题
- C语言最大的乘积问题
- 动态规划之最大k乘积,编辑距离,k好数,节点选择,背包问题
- MOOC清华《程序设计基础》第6章第3题:最大乘积问题(动态规划)
- 最大K乘积问题
- 微软面试题---求子数组最大乘积问题
- 最大连续子序列和,乘积,最长递增子串,最长公共子串,子序列等问题(动态规划等)
- 最大K乘积问题:
- 【dp】最大k乘积问题
- SSL_1007&1595 乘积最大与和最大问题(区间动规练习题)
- 1209 -- 乘积最大问题
- 贪心算法----正整数分解问题 和相同,乘积最大
- 乘积最大问题——动态规划
- 子序列的最大乘积问题
- MOOC清华《程序设计基础》第6章第3题:最大乘积问题(递归法)
- JAVA代码—算法基础:最大连续子数组乘积问题