説明なし

aleukhin 28596c4ae2 1st com 8 ヶ月 前
ConsoleApp1 7451d47937 1st com 8 ヶ月 前
.gitignore.txt 7451d47937 1st com 8 ヶ月 前
readme.md 28596c4ae2 1st com 8 ヶ月 前

readme.md

индивидуальная задача14

using System;

class Program
{
    static void Main()
    {
        double num = Math.Pow(2, 11213) - 1;
        string numStr = num.ToString();
        if (numStr.Contains("99"))
        {
            Console.WriteLine("две идущие подряд девятки естть");
        }
        else
        {
            Console.WriteLine("не встречаются");
        }
    }
}

ответ:не встречаются

num1

using System;

class Program
{

    static void Main(string[] args)
    {
        Console.WriteLine("Введите дату в формате ДД.ММ.ГГГГ:");
        string dateString = Console.ReadLine();


        if (DateTime.TryParseExact(dateString, "dd.mm.yyyy", null, System.Globalization.DateTimeStyles.None,
                out DateTime date))
        {
            Console.WriteLine("является валидной");
        }
        else
        {
            Console.WriteLine("не является валидной");
        }
    }
}

ответ: Введите дату в формате ДД.ММ.ГГГГ: 11.11.2001 является валидной; Введите дату в формате ДД.ММ.ГГГГ: 32.32.2024 не является валидной

num2

using System;

class Program
{
    static void Main()
    {

        Console.WriteLine("введите первую дату в формате ДД.ММ.ГГГГ:");
        DateTime data1 = DateTime.Parse(Console.ReadLine());

        Console.WriteLine("введите вторую дату в формате ДД.ММ.ГГГГ:");
        DateTime data2 = DateTime.Parse(Console.ReadLine());



        TimeSpan raz = data1 - data2;

        int normraz = Math.Abs((int)raz.TotalDays);


        Console.WriteLine("кол-во дней между датами: " + normraz);
    }
}

ответ: введите первую дату в формате ДД.ММ.ГГГГ: 10.10.2005 введите вторую дату в формате ДД.ММ.ГГГГ: 01.08.2006 кол-во дней между датами: 295

num3

class Program
{
    static void Main()
    {
        
       
        Console.WriteLine("введите первую дату и время в формате ДД-ММ-ГГГГ ЧЧ:ММ:СС:");
        DateTime data1 = DateTime.Parse(Console.ReadLine());
        Console.WriteLine("введите вторую дату и время в формате ДД-ММ-ГГГГ ЧЧ:ММ:СС:");
        DateTime data2 = DateTime.Parse(Console.ReadLine());

        
        TimeSpan raz = data2 - data1;
        double normraz = Math.Abs(raz.TotalHours); 
        Console.WriteLine("кол-во часов между датами: " + normraz);
    }
}

ответ: введите первую дату и время в формате ДД-ММ-ГГГГ ЧЧ:ММ:СС: 10.10.2005 13:37:00 введите вторую дату и время в формате ДД-ММ-ГГГГ ЧЧ:ММ:СС: 01.08.2006 09:14:34 кол-во часов между датами: 7075,626111111111

num4

class Program
{
    static void Main()
    {
        
       
        Console.WriteLine("введите первую дату и время в формате ДД-ММ-ГГГГ ЧЧ:ММ:СС:");
        DateTime data1 = DateTime.Parse(Console.ReadLine());
        Console.WriteLine("введите вторую дату и время в формате ДД-ММ-ГГГГ ЧЧ:ММ:СС:");
        DateTime data2 = DateTime.Parse(Console.ReadLine());

        
        TimeSpan raz = data2 - data1;
        double normraz = Math.Abs(raz.TotalMinutes);

        
        Console.WriteLine("кол-во минут между датами: " + normraz);
    }
}

ответ: введите первую дату и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС: 10.10.2005 10:10:10 введите вторую дату и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС: 01.08.2006 10:10:10 кол-во минут между датами: 424800

num5

class Program
{
    static void Main()
    {
        Console.WriteLine("введите год:");
        int year = int.Parse(Console.ReadLine());
        DateTime den = new DateTime(year, 1, 1).AddDays(255);


        Console.WriteLine($"день программиста в {year} году: {den.ToString("dd.mm.yyyy")} ({den.DayOfWeek})");
    }
}

ответ: введите год: 2005 день программиста в 2005 году: 14.00.2005 (Wednesday)

num6

class Program
{
    static void Main()
    {
        Console.WriteLine("введите год");
        int year = int.Parse(Console.ReadLine());
        Console.WriteLine("введите число от 1 до 365");
        int day = int.Parse(Console.ReadLine());
        if (day >= 1 || day<=365)
        {
            DateTime den = new DateTime(year, 1, 1).AddDays(day-1);
            Console.WriteLine(($"в {year} году день {day} является: {den.ToString("dd.MM.yyyy")} ({den.DayOfWeek})")); 
        }
        else
        {
            Console.WriteLine("введите число от 1 до 365");
        }
    }
}

jndtn: введите год: 2003 введите число от 1 до 365 13 в 2003 году день 13 является: 13.01.2003 (Monday)

num7

using System;

Console.Write("введите дату: ");
DateTime date = new DateTime(2024,4, 30);
DateTime date1 = DateTime.Parse(Console.ReadLine());
if (date > date1)
{
    TimeSpan difference = date - date1;
    int s = difference.Days;
    Console.WriteLine("осталось " + s + " дней до экзамена");
}

else if (date < date1)
{
    TimeSpan difference = date1 - date;
    int s = difference.Days;
    Console.WriteLine("прошло " + s + " дней от экзамена");
}

else
{
    Console.WriteLine("сегодня экзамен!");
}

ответ: введите дату: 2024.4.23 осталось 7 дней до экзамена

num8

using System;

Console.Write("введите дату: ");
DateTime date1 = DateTime.Parse(Console.ReadLine());
date1 = date1.AddDays(1);
Console.WriteLine("завтра дата: " + date1.ToString("dd.mm.yyyy"));

ответ: введите дату: 10.10.2005 завтра будет: 11.10.2005

num9

using System;

class Program
{
    static void Main()
    {
       Console.WriteLine("введите день и месяц рождения:");
        string input = Console.ReadLine();
        DateTime birthday;
        
        if (DateTime.TryParseExact(input, "dd.MM", null, System.Globalization.DateTimeStyles.None, out birthday))
        {

            DateTime today = DateTime.Today;

 
            if (birthday.Day == today.Day && birthday.Month == today.Month)
            {
                Console.WriteLine("поздравляем с днем рождения! :з ");
            }
            else
            {
                TimeSpan difference = birthday.AddYears(today.Year - birthday.Year) - today;
                int daysUntilBirthday = (int)difference.TotalDays;

                if (daysUntilBirthday < 0)
                {
                    difference = birthday.AddYears(today.Year - birthday.Year + 1) - today;
                    daysUntilBirthday = (int)difference.TotalDays;
                }

                Console.WriteLine("до дня рождения осталось " + daysUntilBirthday + " дней");
            }
        }
    }
}

ответ: 10.10 до дня рождения осталось 220 дней

num10

using System;

class Program
{
    static void Main()
    {
        Console.Write("введите время: ");
        string time1 = Console.ReadLine();

        if (TimeSpan.TryParse(time1, out TimeSpan time))
        {
            int seconds = (time.Hours * 3600) + (time.Minutes * 60) + time.Seconds;
            Console.WriteLine("кол-во секунд, которые прошли с начала суток: " + seconds);
        }
        else
        {
            Console.WriteLine("неккоректный формат времени");
        }
    }
}

ответ: введите время: 0:24 кол-во секунд, которые прошли с начала суток: 1440

num11

using System;

class Program
{
    static void Main()
    {
        List<DateTime> Dates = new List<DateTime>
        {
            new DateTime(2007, 7, 13),
            new DateTime(2005, 10, 10),
            new DateTime(2012, 5, 9),
            new DateTime(2021, 7, 12),
            new DateTime(2020, 9, 5),
            new DateTime(2021, 9, 6),
            new DateTime(2001, 6, 29),
            new DateTime(2023, 8, 1)
        };

        DateTime today = DateTime.Today;
        DateTime date1 = Dates[0];
        TimeSpan date2 = today - date1;

        foreach (DateTime date in Dates)
        {
            TimeSpan difference = today - date;
            if (Math.Abs(difference.Days) < Math.Abs(date2.Days))
            {
                date2 = difference;
                date1 = date;
            }
        }

        Console.WriteLine("ближайшая дата: " + date1.ToShortDateString());
    }
}

ответ: ближайшая дата: 01.08.2023

Num12

using System;

class Program
{
    static void Main()
    {
        List<DateTime> Dates = new List<DateTime>
        {
            new DateTime(1982, 3, 12),
            new DateTime(2021, 8, 11),
            new DateTime(2020, 9, 20),
            new DateTime(2006, 10, 15)
        };
        DateTime date1 = GetNearestDate(Dates);
        Console.WriteLine($"ближайшая дата рождения: {date1:dd.mm.yyyy}");

        static DateTime GetNearestDate(List<DateTime> dates)
        {
            DateTime today = DateTime.Today;
            dates.Sort((d1, d2) => Math.Abs((d1 - today).Days).CompareTo(Math.Abs((d2 - today).Days)));
            return dates[0];
        }
    }
}

ответ: ближайшая дата рождения: 11.08.2021

num13

using System;

class Program
{
    static void Main()
    {
        string[] Dates = { "18.05.1887", "10.05.2005", "29.11.1913", "13.11.2000", "17.10.2008" };
        Dictionary<string, int> month1 = new Dictionary<string, int>();

        foreach (var date in Dates)
        {
            DateTime date1 = DateTime.ParseExact(date, "dd.mm.yyyy", null);
            string month = date1.ToString("mmmm");

            if (month1.ContainsKey(month))
            {
                month1[month]++;
            }
            else
            {
                month1.Add(month, 1);
            }
        }

        var popul = month1.Aggregate((l, r) => l.Value > r.Value ? l : r).Key;
        Console.WriteLine("cамый популярный месяц: " + popul);

    }
}

ответ: cамый популярный месяц: 11

num14

using System;

class Program
{
    static void Main()
    {
        int totalYears = 15;

        int fridayCount = 0;
        int totalCount = 0;

        for (int year = 1900; year < 1900 + totalYears; year++)
        {
            for (int month = 1; month <= 12; month++)
            {
                DateTime date = new DateTime(year, month, 13);
                if (date.DayOfWeek == DayOfWeek.Friday)
                {
                    fridayCount++;
                }

                totalCount++;
            }
        }

        double fridayProbability = (double)fridayCount / totalCount;

        Console.WriteLine("вероятность выпадения 13 на пятницу: " + fridayProbability);
        
        for (DayOfWeek day = DayOfWeek.Sunday; day <= DayOfWeek.Saturday; day++)
        {
            int dayCount = 0;
            for (int year = 1900; year < 1900 + totalYears; year++)
            {
                for (int month = 1; month <= 12; month++)
                {
                    DateTime date = new DateTime(year, month, 13);
                    if (date.DayOfWeek == day)
                    {
                        dayCount++;
                    }
                }
            }

            double dayProbability = (double)dayCount / totalCount;
            Console.WriteLine("вероятность выпадения 13 на " + day + ": " + dayProbability);
        }
    }
}

ответ: вероятность выпадения 13 на пятницу: 0,15 вероятность выпадения 13 на Sunday: 0,1388888888888889
вероятность выпадения 13 на Monday: 0,14444444444444443
вероятность выпадения 13 на Tuesday: 0,1388888888888889
вероятность выпадения 13 на Wednesday: 0,14444444444444443 вероятность выпадения 13 на Thursday: 0,1388888888888889
вероятность выпадения 13 на Friday: 0,15
вероятность выпадения 13 на Saturday: 0,14444444444444443

num15

using System;

class Program
{
    static void Main()
    {
        string wod = "00:00-01:00,00:30-02:30,01:30-03:00,02:00-04:00,02:30-05:00";

        string[] schel = wod.Split(',');
        int[] time1 = new int[24];

        foreach (string schedule in schel)
        {
            string[] times = schedule.Split('-');
            string[] startTime = times[0].Split(':');
            string[] endTime = times[1].Split(':');

            int hour1 = int.Parse(startTime[0]);
            int hour2 = int.Parse(endTime[0]);

            for (int i = hour1; i < hour2; i++)
            {
                time1[i]++;
            }
        }

        int maxTime = 0;
        for (int i = 0; i < 24; i++)
        {
            if (time1[i] > maxTime)
            {
                maxTime = time1[i];
            }
        }

        Console.WriteLine("максимальное количество касс работает с/по: ");
        for (int i = 0; i < 24; i++)
        {
            if (time1[i] == maxTime)
            {
                Console.WriteLine("{0:00}:00 - {1:00}:00", i, i + 1);
            }
        }

        }
    }

ответ: максимальное количество касс работает с/по: 02:00 - 03:00

num16

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("введите нужный год:");
        int year = int.Parse(Console.ReadLine());

        int weekendCount = 0;

        for (int month = 1; month <= 12; month++)
        {
            for (int day = 1; day <= DateTime.DaysInMonth(year, month); day++)
            {
                DateTime date = new DateTime(year, month, day);
                if (date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday)
                {
                    weekendCount++;
                }
            }
        }

        Console.WriteLine("кол-во выходных дней в " + year + " году: " + weekendCount);
    }
}

ответ: введите нужный год: 2024 кол-во выходных дней в 2024 году: 104