排班表算法代码 , 新人 没学多久 希望大神不要说的那么复杂

qq_26548941 2016-05-18 07:39:41
一共5个人 ,早班一人 午班一人 晚班两人 周末晚班3人
一个星期换一次班
周一到周五每人休息一次 比如早班休息 中班顶上,中班休息晚班顶上
...全文
770 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
大鱼> 2016-05-19
  • 打赏
  • 举报
回复
这个东西还是自己想比较好,一般很少人会费劲给你想算法的。这是个逻辑问题,又不是难点的技术问题。
qq_26548941 2016-05-19
  • 打赏
  • 举报
回复
谢谢大家 昨晚已经搞定了
xuzuning 2016-05-19
  • 打赏
  • 举报
回复
共 5 个人,每天 4 人上班,轮空一人(休息) 并不需要 早班休息 中班顶上,中班休息晚班顶上 ,让替补顶上即可 周末由替补上晚班就可满足 周末晚班3人
  • 打赏
  • 举报
回复
string[] peoples = Enumerable.Range(1, 5).Select(n => string.Format("P{0}", n)).ToArray();
for (var i = 0; i < 7; i++)
{
Console.WriteLine("*******周{0}排班**********", i + 1);
var tmp = peoples;
if(i<peoples.Length)
{
Console.WriteLine("{1}休息", i + 1, peoples[i]);
tmp = peoples.Where(p => p != peoples[i]).ToArray();
}
Console.WriteLine("早班{0} 中班{1} 晚班{2}", tmp[0], tmp[1], string.Join(",", tmp.Skip(2)));
}
//轮班就是将第一位移到最后一位

轮班给你注释了,你应该自己写
为轮子而生 2016-05-19
  • 打赏
  • 举报
回复
一共就5个人,这都不能成为“算法”了吧,你觉得它简单,就真的简单了。 拿张草稿纸演算一下,如果不考虑编程,你会怎么排?
  • 打赏
  • 举报
回复
直接要算法代码,不是应该考虑怎么设计数据表吗, 值班不需要记录吗,就固定模式,以后不需要更改吗?
飞天凤凰601 2016-05-19
  • 打赏
  • 举报
回复
楼主,这问题也拿来问???

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧