C# 重新开始的滚动列表
所以我有10个人。 我有12栋房子 每个人都应按顺序进屋 外汇C# 重新开始的滚动列表,c#,C#,所以我有10个人。 我有12栋房子 每个人都应按顺序进屋 外汇 第一座-第一个人进入…然后第二个…第三个…单位列表完成 第二座-第二人进入,第三人进入,第四人进入…最后一人进入1号 第11宫-第一个人进入…然后第二个…第三个…单位列表完成 我怎样才能用重新开始的算法做到这一点。我真的不知道怎么启动它或者用什么 这是给C的# 我要用吗 Array [] [] house 1 - person 1 house 2 - person 2 house 3 - person 3 house 4 -
- 第一座-第一个人进入…然后第二个…第三个…单位列表完成
- 第二座-第二人进入,第三人进入,第四人进入…最后一人进入1号
- 第11宫-第一个人进入…然后第二个…第三个…单位列表完成
Array [] []
house 1 - person 1
house 2 - person 2
house 3 - person 3
house 4 - person 4
house 5 - person 5
house 6 - person 6
house 7 - person 7
house 8 - person 8
house 9 - person 9
house 10 - person 10
house 11 - person 1
house 12 - person 2
试试模算术。如果我们总共有人
(例如,10
),对于给定的房屋
编号(例如,12
),我们可以计算相应的人
编号,如下所示:
int person = 1 + (house - 1) % persons;
其中,%
是余数。例如,对于人员==10
和房屋==12
person = 1 + (12 - 1) % 10 == 2
演示
Func<int, int, int> person = (house, persons) => 1 + (house - 1) % persons;
int personsInTotal = 10;
int housesInTotal = 14;
var report = Enumerable
.Range(1, housesInTotal)
.Select(house => $"house {house} - person {person(house, personsInTotal)}");
Console.Write(string.Join(Environment.NewLine, report));
11号和12号房子来自哪里?你试过什么?对不起应该是12号楼。纠正了。第四模算术,计算余数,
%
;对于给定的门牌号(例如,12
),门牌号将是1+(门牌号-1)%persons
,例如1+(12-1)%10==2
house 1 - person 1
house 2 - person 2
house 3 - person 3
house 4 - person 4
house 5 - person 5
house 6 - person 6
house 7 - person 7
house 8 - person 8
house 9 - person 9
house 10 - person 10
house 11 - person 1
house 12 - person 2
house 13 - person 3
house 14 - person 4