c#Math/Formula计算

c# Math/Formula Calculation

我想在我的 C# 项目中解决一个有趣的问题,我的头很痛,所以非常感谢任何建议

基本上我有一名员工每 3 周工作一次

第 1 周 - 他们周一工作

第 2 周 - 他们在周三工作

第 3 周 - 他们周五工作

第 4 周 - 他们周一工作

第 5 周 - 他们周三工作 ..等等

我需要一个公式来显示他们在任何给定周的哪一天工作,即他们在就业的第 49 周将在哪一天工作?

关于如何解这个方程有什么想法吗?

干杯 安东尼

如评论中所述,我们可以在您的公式中使用模 (%) 运算符。

int dayInt = (nthWeek % 3);

This will give you result in 0, 1, 2. 0 - friday, 1 - Monday, 2- wednesday

代码如下:

int nthWeek = 49;

    int result = (nthWeek % 3);

    switch(result)
    {
        case 0:
            Console.WriteLine("Worker is working on Friday");
        break;

        case 1:
            Console.WriteLine("Worker is working on Monday");
        break;

        case 2:
            Console.WriteLine("Worker is working on Wednesday");
        break;

        default:
            Console.WriteLine("Worker is working on other day");
        break;
    }

实施:DotnetFiddler

这将给出所需的输出:

using System;
using System.Collections.Generic;

public static void WhichDaysAreTheyWorking()
{
   List<String> daysOfTheWeek = new List<String>();
   daysOfTheWeek.Add("Monday");
   daysOfTheWeek.Add("Tuesday");
   daysOfTheWeek.Add("Wednesday");
   daysOfTheWeek.Add("Thursday");
   daysOfTheWeek.Add("Friday");
   daysOfTheWeek.Add("Saturday");
   daysOfTheWeek.Add("Sunday");
   int i = 0;
   for (int week = 1; week < 50; week++)
   {
      if (daysOfTheWeek[i].Equals("Friday"))
      {
          Console.WriteLine("Week # " + week + " They work " + daysOfTheWeek[i]);
          Console.WriteLine("Week # " + (week + 1) + " They work " + daysOfTheWeek[i - 4]);
          i = 2;
          week = week + 1;
          continue;
      }
      else
      {
          Console.WriteLine("Week # " + week + "They work " + daysOfTheWeek[i]);
          i = i + 2;
      }
   }
   Console.ReadKey();
}