Напишите программу, решающую задачу подсчета соответствующих количеств — C#(Си шарп)

Таблицей умножения назовем таблицу размера n строк на m столбцов, в которой на пересечении i-ой строки и j-ого столбца стоит число i · j (строки и столбцы нумеруются с единицы). В одной из математических школ было решено провести педагогический эксперимент. Для того, чтобы ученикам было проще запоминать таблицу умножения, некоторые числа в ней будут покрашены в красный, некоторые — в синий, а некоторые — в зеленый цвет (оставшиеся числа будут черными). Процесс покраски чисел можно условно разбить на четыре этапа. На первом этапе все числа красятся в черный цвет. На втором — все четные числа красятся в красный цвет, на третьем — все числа, делящиеся на 3, красятся в зеленый цвет, на четвертом — все числа, делящиеся на 5, красятся в синий цвет. Директор школы хочет знать, какое количество картриджей для принтеров необходимо закупить для печати таблиц. Поэтому ему необходима информация о том, сколько чисел какого цвета будет в одной раскрашенной таблице умножения n на m. Напишите программу, решающую задачу подсчета соответствующих количеств

Пример ввода:
10 10
Пример вывода:
RED : 21
GREEN : 39
BLUE : 36
BLACK : 4

using System;
using System.Linq;
 
var values = Console.ReadLine().Split();
var rows = int.Parse(values[0]);
var columns = int.Parse(values[1]);
 
var colors = Enum.GetValues<Color>().ToDictionary(color => color, _ => 0);
for (var y = 1; y <= rows; y++)
{
    for (var x = 1; x <= columns; x++)
    {
        var product = y * x;
        Color color = GetColor(product);
        colors[color]++;
    }
}
 
foreach (var (color, count) in colors)
{
    Console.WriteLine($"{color}: {count}");
}
 
static Color GetColor(int product)
{
    var color = Color.Black;
    if (product % 2 == 0)
    {
        color = Color.Red;
    }
 
    if (product % 3 == 0)
    {
        color = Color.Green;
    }
 
    if (product % 5 == 0)
    {
        color = Color.Blue;
    }
 
    return color;
}
 
internal enum Color { Black, Red, Green, Blue }

Leave a Comment