-5

元。に与える2013-7-12013-7-7、5 つの平日 (月~金) があるため、出力は 5 になります。

PS: この問題では、休日は除外されています。週末のみを考慮してください。

これをC ++に実装する考えがある人はいますか?

4

2 に答える 2

1

これはある種の宿題であると確信しているため、このためのコードを書くつもりはありません (または、これを行うために報酬を受け取っているか、実際の問題を解決するのはあなたの仕事であることを意味します)。

C (および C++) には に一連の関数があり<ctime>、時間を操作できます。

これらを考えると、任意の日付を取り、 を使用して a を作成し、time_tを使用しmktimeて一方を他方から減算するとdifftime、「2 つの値の間の秒数」が得られます。 aを structにtime_t変換すると、「平日」のエントリが含まれます。であるため、たとえば、2013 年 7 月 1 日は月曜日であることがわかります。time_ttm

これらすべてを考えると、2 つの日付の間の絶対日数を計算することはかなり可能であり、開始日がわかっている場合は、その期間に土曜と日曜がいくつあるかを調べることができます。

于 2013-07-01T07:18:12.940 に答える