c#算法 运算符

来源:百度知道 编辑:UC知道 时间:2024/05/13 07:08:24
给定k个正整数,用算术运算符+,-,*,/将这k个正整数连接起来,使最终的得数恰为m。完成 string Caculate(int[] k, int m)方法,它接受k和m,返回连接的字符串(比如”1*2+5”)使其恰好等于m 。如果没有这样的连接,则返回为空字符串””。 最好要有注释
这个答案我知道。还有别的不?而且最好有注释

穷举算法
private static string Caculate(int[] k, int wa, int m, string[] str,int sum)
{
for (int i = 0; i < wa; i++)
{

for (int j = i + 1; j < wa; j++)
{

int A = k[i];
int B = k[j];
k[j] = k[wa - 1];
string a = str[i];
string b = str[j];
str[j] = str[wa - 1];
str[i] = a + '+' + b;
k[i] = A + B;
sum = k[i];
if (m == k[i])
{
return str[i];

}
Caculate(k, wa-1, m, str,sum);
k[i] = A - B;
str[i] = a + '-' + b