設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乘積。
2 115 15
w[i][j]
表示從第i位到第j位可以得到的數,,m[i][j]表示l取到第i位,已經分了j段的最優解
m[i][j]=m[d][j-1]*m[d+1][i] 1
#include
#include
#include
using namespace std;
int n,k;
char a[12];
long long w[20][20],m[20][20];
void call(int n)
long long cmp=0;
for(int i=2;i<=n;i++)
} /* for(int i=1 ; i<= n; i++)
*/ }
void dp(int n)
} } }
int main()
return 0; }
foj 1208 最大k乘積問題
dp題用兩個陣列,w i j 表示第i位到第j位所組成的10進製數 dp i j 表示前i位分成j段得到的最大積 可以得到乙個dp方程 if j 1 dp i j w 1 i if j 1 j i dp i j max 然後初始化陣列dp i j for i 1 i n i dp i 1 w 1 i...
最大k乘積問題
設i是乙個n位十進位制整數。如果將i分割為k段,則可得到k個整數。這k個整數的乘積稱為i的乙個k乘積。試設計乙個演算法,對於給定的i和k,求出i的最大k乘積。設w i j 表示從第i位到第j位的數字表示的整數,m i j 表示前i位分成j段所得到的最大乘積,則 m i 1 w 1 i m i j m...
dp 最大k乘積問題
問題描述 設i是乙個 n位十進位制整數。如果將i劃分為 k段,則可得到k個整數。這k個整數的乘積稱為i 的乙個 k乘積。試設計乙個演算法,對於給定的 i和 k,求出 i的最大 k乘積。程式設計任務 對於給定的i和k,程式設計計算i的最大k 乘積。資料輸入 由檔案input.txt提供輸入資料。檔案的...