Помогите пожалуйста(( написать программу ** Паскале. Напишите процедуру (или функцию)...

0 голосов
41 просмотров

Помогите пожалуйста(( написать программу на Паскале. Напишите процедуру (или функцию) определения годов столетия, содержащих максимальное число воскресений.


Информатика (44 баллов) | 41 просмотров
0

без пакета работы с датами это будет весьма муторно

Дан 1 ответ
0 голосов
Правильный ответ

//PascalABC.NET 3.1 сборка 1239
uses System;
uses System.Collections;

begin
    var d := DateTime.Today;
    repeat
        d := d.AddDays(1);
    until d.DayOfWeek = DayOfWeek.Sunday;
    
    var Sundays := new Dictionary();
    
    repeat
        if Sundays.ContainsKey(d.Year) then
            Sundays[d.Year] += 1
        else
            Sundays.Add(d.Year, 1);
        
        d := d.AddDays((-7));
    until d.Year <= 1;<br>    
    var max := Sundays.Values.Max;
    Sundays.Where(x -> x.Value = max).Println;
end.

(53.1k баллов)
0

примерно так