c#穷举循环代码

现在有一道选项题,答案分为abc三种,10个人来回答,用c#循环代码来穷举出所有的非重复排列。例如aaaaaaaaab和aaaaaaaaab这样整个字符串相同的只可以存在... 现在有一道选项题,
答案分为abc三种,
10个人来回答,用c#循环代码来穷举出所有的非重复排列。

例如aaaaaaaaab和aaaaaaaaab这样整个字符串相同的只可以存在一个
同理,aaaaaaaaab和baaaaaaaaa也只可以存在一个

换句话说,所有排列中,abc这三个选项所出现的个数完全相同是不可以的
比如上面的aaaaaaaaab是9个a,1个b
而baaaaaaaaa也是9个a,1个b
所以这样的排列只能出现一次
最终返回一个List<string>,里面是所有符合条件的字符串。

例如如下是合格输出(注:合格与不合格这几个字不输出,只是标明是否符合条件,不合格的是不用输出的):
aaaaaaaaaa 合格
aaaaaaaaab 合格
aaaaaaaaac 合格
aaaaaaaaaa 不合格(与第1行重复)
aaaaaaaaba 不合格(与第2行重复,因为这两行都是1个b,9个a)
aaaaaaaaca 不合格(与第3行重复,因为这两行都是1个c,9个a)
展开
 我来答
nikli09
推荐于2016-10-19 · TA获得超过139个赞
知道答主
回答量:45
采纳率:0%
帮助的人:49.3万
展开全部
你好,一共三层嵌套。
for(int a = 0; a < 11; a ++)

{
string strTemp = string.empty;
int aCount = a;

while(aCount > 0)

{

strTemp += "a";
aCount--;

}
for(int b = 10-a; b < a;b++)

{
int bCount = b;

while(bCount > 0)

{
strTemp += "b";
bCount--;
}
for(int c = 10-b; c<b; c ++)

{

int cCount = c;

while(cCount>0)

{

strTemp += "c";
cCount--;

}

list.add(strTemp);

}
}
}
大概思路就是这样,你调试一下就可以用了。
更多追问追答
追问
结果不对,总数也不对。
追答

不好意思,刚有点事没回复。

代码太长了添加不了,附件里是CODE

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式