在编程语言中a b c d 四个数中间三个运算符三个远算符为加减乘除中任意三种,意思是ab 之间可 70
在编程语言中abcd四个数中间三个运算符三个远算符为加减乘除中任意三种,意思是ab之间可以有加减乘除中的一个,bc和cd同理,这样在数学里不是有4*4*4=64个组合么?...
在编程语言中a b c d 四个数中间三个运算符三个远算符为加减乘除中任意三种,意思是ab 之间可以有加减乘除中的一个,bc 和cd 同理,这样在数学里不是有4*4*4=64个组合么?那么这个怎么在编程语言中体现,把64个组合都包含,有没有简单的方法,除了一一列举。
展开
2个回答
展开全部
应该是64-2种,因为默认都为+时会占去一个位置,比如
a+b+c+d
a-b+c+d
a*b+c+d
a/b+c+d
a+b-c+d,注意,此处b+c已被前面占用,所以只能是b-c
同理
a+b+c-d又是一种,c+d被占用。
至于楼主所说的方法,这个实现起来有点难度,个人是把四则运算符存储在一个字符数组里。
然后对四则运算符进行排列,每排出一个即放进字符串数组里,每排出一个即对字符串数组进行比对,看有没有重复,没有重复继续排列。直到循环结束时输出字符串数组就是所有的排列顺序。
a+b+c+d
a-b+c+d
a*b+c+d
a/b+c+d
a+b-c+d,注意,此处b+c已被前面占用,所以只能是b-c
同理
a+b+c-d又是一种,c+d被占用。
至于楼主所说的方法,这个实现起来有点难度,个人是把四则运算符存储在一个字符数组里。
然后对四则运算符进行排列,每排出一个即放进字符串数组里,每排出一个即对字符串数组进行比对,看有没有重复,没有重复继续排列。直到循环结束时输出字符串数组就是所有的排列顺序。
2016-01-11
展开全部
int tmpAllSize = 0;
int curPartSize = 0;
int prePartSize = 0;
for (int i = 1; i <= Scale; i++)
{
curPartSize = m_msgCL2D.msgHeight[i] * m_msgCL2D.msgWidth[i];
tmpAllSize += curPartSize * 4 - prePartSize;
prePartSize = curPartSize;
}
m_msgCL2D.allSize = tmpAllSize;
m_bInitFlag2D = true;
return true;
}
int curPartSize = 0;
int prePartSize = 0;
for (int i = 1; i <= Scale; i++)
{
curPartSize = m_msgCL2D.msgHeight[i] * m_msgCL2D.msgWidth[i];
tmpAllSize += curPartSize * 4 - prePartSize;
prePartSize = curPartSize;
}
m_msgCL2D.allSize = tmpAllSize;
m_bInitFlag2D = true;
return true;
}
追问
什么东东
看不明白,怎么abcd 都没有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询