求助 c#的编程 很简单

2019-12-22 21:35:30 +08:00
 mitong3269

从 n 个元素中取 n 个元素组成互不相同并且不重复的 n 位数 输入 n 个数字,并显示出能组成的所有互不相同的、不重复的 n 位数。(如输入 1、2、3 三个数字,则输出为 123,132,213,231,312,321 等六组答案;如输入 1、1、1、2 三个数 字,则输出为:1112,1121,1211,2111 等四组答案) 要用 c# 怎么 n 位不重复呢

11832 次点击
所在节点    C#
4 条回复
mitong3269
2019-12-22 21:37:28 +08:00
int n1, n2, n3, n4;
{

Console.WriteLine("请输入数字");
Console.Write("n1=");
n1 = Convert.ToInt16(Console.ReadLine());
Console.Write("n2=");
n2 = Convert.ToInt16(Console.ReadLine());
Console.Write("n3=");
n3 = Convert.ToInt16(Console.ReadLine());
Console.Write("n4=");
n4 = Convert.ToInt16(Console.ReadLine());
if (n1!=n2&&n2!=n3&&n3!=n4) ;
//Console.Write("n1,n2,n3,n4"(n1,n2,n3,n4));
}
我写了个 4 位数的也不行
crella
2019-12-22 22:51:50 +08:00
提个思路

首先新建 id 数组为 1, 2, 3....元素的个数

然后算 id 的全排列,再给这个全排列去掉重复项。
crella
2019-12-22 22:53:27 +08:00
算完 id 的全排列后,按照每个排列中的每个 id 对应的字符,新建一个字符串,得到一个包含很多字符串的数组。最后去掉这个数组里面的重复的字符串。
mitong3269
2019-12-22 23:32:44 +08:00
@crella 谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/631304

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX