最大K乘积问题
来源:互联网 发布:房天下 源码 编辑:程序博客网 时间:2024/04/30 10:22
#include "iostream"#include "string"#include "fstream"#include "algorithm"using namespace std;/*I(s,t)表示从s位开始的t位数字组成的十进制数f(i,j)表示I(0,i)的最大j乘积f(i,j) = max{ f(b,j-1) * I(b,i-b) } 1<=b<i */const int MAX = 9;int f[MAX][MAX];string num;int I(int i, int j){ string str = num.substr(i, i+j); //截取 return atoi(string(str).c_str()); //转为数字}//返回n位十进制整数num的最大k乘积int dyna(int n, int k){ int i, j, b, temp; int len = num.length(); for(i=1; i<=len; i++) f[i][1] = I(0, i); for(i=2; i<=len; i++) for(j=2; j<=k; j++) { f[i][j] = f[1][j-1] * I(1, i-1); for(b=2; b<i; b++) { temp = f[b][j-1] * I(b, i-b); if(temp > f[i][j]) f[i][j] = temp; } } return f[len][k];}int main(){ ifstream fin("k.txt"); int n, k; cout << "输入十进制位数n=:"; fin >> n; cout << n; cout << "\n输入划分的段数k=:"; fin >> k; cout << k; cout << "\n输入十进制整数num=:"; fin >> num; cout << num << endl; cout << num << "的最大" << k << "乘积为:" << dyna(n, k) << endl; fin.close(); return 0;}
0 0
- 最大K乘积问题:
- 最大k乘积问题
- 最大K乘积问题
- 最大K乘积问题
- 最大K乘积问题
- 最大k乘积问题
- 最大k乘积问题
- 最大k乘积问题
- 最大k乘积问题
- 【dp】最大k乘积问题
- FZU_1208_最大k乘积问题
- FZU_1208_最大k乘积问题
- 算法 最大k乘积问题
- 最大k乘积问题(dp)
- 最大K乘积问题(DP专题)
- 最大K乘积问题(DP专题)
- FOJ 1208 最大k乘积问题
- foj 1208 最大k乘积问题
- C#中的数据类型与注释
- 关于ICMP Redirect路由的一个不是bug的bug
- 推荐系统(二) —— 利用用户行为数据 —— 基于领域的算法
- 进程和线程
- python3爬虫问题 POST data should be bytes or an iterable of bytes
- 最大K乘积问题
- 美团点评融资之际与阿里矛盾升级
- Map KeySet方法
- HTML5中的storage存储
- Hbuilder--让手爽,飞一般的编码
- 数组变MaxTree-java
- 3个月零基础入门数据分析师是一件完全可能的事!
- JavaScript用法详解
- sqlserver进程死锁的解决办法(一)