В данном репозитории находятся решения к данным задачам. Описание задач и соответствие папкам приведено ниже.
- Клонируйте репозиторий:
git clone [email protected]:nikoeremeev/C_sharp_learn.git
-
task_0: Вывести квадрат числа.
-
task_01: По двум заданным числам проверять является ли первое квадратом второго.
-
task_02: Даны два числа. Показать большее и меньшее число (добавлен вывод при равенстве чисел).
-
task_03: По заданному номеру дня недели вывести его название.
-
task_04: Найти максимальное из трёх чисел.
-
task_05: Написать программу вычисления значения функции y = f(a) (Пришлось переиграть задание, см. в решении).
-
task_06: Выяснить является ли число чётным.
-
task_07: Показать числа от -N до N.
-
task_08: Показать чётные числа от 1 до N.
-
task_09: Показать последнюю цифру трёхзначного числа.
-
task_10: Показать вторую цифру трёхзначного числа.
-
task_11: Дано число из отрезка [10, 99]. Показать наибольшую цифру числа.
-
task_12: Удалить вторую цифру трёхзначного числа.
-
task_13: Выяснить, кратно ли число заданному, если нет, вывести остаток.
-
task_14: Найти третью цифру числа или сообщить, что её нет.
-
task_15: Дано число. Проверить кратно ли оно 7 и 23.
-
task_16: Дано число обозначающее день недели. Выяснить является номер дня недели выходным.
-
task_17: По двум заданным числам проверять является ли одно квадратом другого.
-
task_18: Проверить истинность утверждения ¬(X ⋁ Y) = ¬X ⋀ ¬Y.
-
task_19: Определить номер четверти плоскости, в которой находится точка с координатами Х и У, причем X ≠ 0 и Y ≠ 0.
-
task_20: Задать номер четверти, показать диапазоны для возможных координат.
-
task_21: Программа проверяет пятизначное число на палиндромом.
-
task_22: Найти расстояние между точками в пространстве 2D/3D.
-
task_23: Показать таблицу квадратов чисел от 1 до N.
-
task_24: Найти кубы чисел от 1 до N.
-
task_25: Найти сумму чисел от 1 до А.
-
task_26: Возведите число А в натуральную степень B используя цикл.
-
task_27: Определить количество цифр в числе.
-
task_28: Подсчитать сумму цифр в числе.
-
task_29: Написать программу вычисления произведения чисел от 1 до N.
-
task_30: Показать кубы чисел, заканчивающихся на четную цифру.
-
task_31: Задать массив из 8 элементов и вывести их на экран.
-
task_32: Задать массив из 8 элементов, заполненных нулями и единицами вывести их на экран.
-
task_33: Задать массив из 12 элементов, заполненных числами из [0,9]. Найти сумму положительных/отрицательных элементов массива.
-
task_34: Написать программу замену элементов массива на противоположные.
-
task_35: Определить, присутствует ли в заданном массиве, некоторое число.
-
task_36: Задать массив, заполнить случайными положительными трёхзначными числами. Показать количество нечётных/чётных чисел.
-
task_37: В одномерном массиве из 123 чисел найти количество элементов из отрезка [10,99].
-
task_38: Найти сумму чисел одномерного массива, стоящих на нечётной позиции.
-
task_39: Найти произведение пар чисел в одномерном массиве. Парой считаем первый и последний элемент, второй и предпоследний и т.д.
-
task_40: В указанном массиве вещественных чисел найти разницу между максимальным и минимальным элементами.
-
task_41: Выяснить являются ли три числа сторонами треугольника.
-
task_42: Определить, сколько чисел больше 0 введено с клавиатуры.
-
task_43: Написать программу преобразования десятичного числа в двоичное.
-
task_44: Найти точку пересечения двух прямых заданных уравнением y = k1 * x + b1, y = k2 * x + b2, если b1, k1, b2 и k2 заданы.
-
task_45: Показать числа Фибоначчи.
-
task_46: Написать программу масштабирования фигуры.
Тут для тех кто далеко улетел, чтобы задавались вершины фигуры списком (одной строкой)
например: "(0,0) (2,0) (2,2) (0,2)";
коэффициент масштабирования k задавался отдельно - 2 или 4 или 0.5.
В результате показать координаты, которые получатся при k = 2 получаем "(0,0) (4,0) (4,4) (0,4)". -
task_47: Написать программу копирования массива.
-
task_48: Показать двумерный массив размером m×n заполненный целыми числами.
-
task_49: Показать двумерный массив размером m×n, заполненный вещественными числами.
-
task_50: В двумерном массиве n×k заменить четные элементы на противоположные.
-
task_51: Задать двумерный массив следующим правилом: Aₘₙ = m+n.
-
task_52: В двумерном массиве заменить элементы, у которых оба индекса чётные на их квадраты.
-
task_53: В двумерном массиве показать позиции числа, заданного пользователем, или указать, что такого элемента нет.
-
task_54: В матрице чисел найти сумму элементов главной диагонали.
-
task_55: Дан целочисленный массив. Найти среднее арифметическое каждого из столбцов.
-
task_56: Написать программу, которая обменивает элементы первой строки и последней строки.
-
task_57: Написать программу, которая упорядочивает по убыванию элементы каждой строки двумерного массива.
-
task_58 и task_58a: Написать программу, которая в двумерном массиве заменяет строки на столбцы или сообщить, что это невозможно (в случае, если матрица не квадратная).
-
task_59: В прямоугольной матрице найти строку с наименьшей суммой элементов.
-
task_60 и task_60a: Составить частотный словарь элементов двумерного массива.
Частотный словарь содержит информацию о том, сколько раз встречается элемент входных данных.
Пример: Есть набор данных { 1, 9, 9, 0, 2, 8, 0, 9 }
частотный массив может быть представлен так:0 встречается 2 раза 1 встречается 1 раз 2 встречается 1 раз 8 встречается 1 раз 9 встречается 3 раза
Если набор данных - таблица
1, 2, 3 4, 6, 1 2, 1, 6
на выходе ожидаем получить
1 встречается 3 раза 2 встречается 2 раз 3 встречается 1 раз 4 встречается 1 раз 6 встречается 2 раза
Пример частотного массива для текстовых данных: Входные данные:
Частотный анализ – это один из методов криптоанализа, основывающийся на предположении о существовании нетривиального статистического распределения отдельных символов и их последовательностей как в открытом тексте, так и шифрованном тексте, которое с точностью до замены символов будет сохраняться в процессе шифрования и дешифрования.
Частотный анализ может выглядеть так:
Символ пробел/space встречается 41 раз. Частота 12.28% Символ о встречается 38 раз. Частота 11.38% Символ и встречается 26 раз. Частота 7.78% Символ т встречается 25 раз. Частота 7.49% Символ е встречается 23 раза. Частота 6.89% Символ с встречается 21 раз. Частота 6.29% Символ н встречается 20 раз. Частота 5.99% Символ а встречается 20 раз. Частота 5.99% Символ в встречается 16 раз. Частота 4.79% Символ р встречается 12 раз. Частота 3.59% Символ л встречается 10 раз. Частота 2.99% Символ к встречается 9 раз. Частота 2.69% Символ д встречается 9 раз. Частота 2.69% Символ п встречается 6 раз. Частота 1.80% Символ я встречается 6 раз. Частота 1.80% Символ м встречается 6 раз. Частота 1.80% Символ ь встречается 5 раз. Частота 1.50% Символ ы встречается 5 раз. Частота 1.50% Символ з встречается 4 раза. Частота 1.20% Символ х встречается 3 раза. Частота 0.90% Символ ш встречается 3 раза. Частота 0.90% Символ ф встречается 3 раза. Частота 0.90% Символ ч встречается 3 раза. Частота 0.90% Символ й встречается 3 раза. Частота 0.90% Символ , встречается 3 раза. Частота 0.90% Символ щ встречается 2 раза. Частота 0.60% Символ ю встречается 2 раза. Частота 0.60% Символ у встречается 2 раза. Частота 0.60% Символ г встречается 2 раза. Частота 0.60% Символ ж встречается 1 раз. Частота 0.30% Символ э встречается 1 раз. Частота 0.30% Символ – встречается 1 раз. Частота 0.30% Символ б встречается 1 раз. Частота 0.30% Символ ц встречается 1 раз. Частота 0.30% Символ . встречается 1 раз. Частота 0.30%
-
task_61: Найти произведение двух матриц.
-
task_62 и task_62a: В двумерном массиве целых чисел. Удалить строку и столбец, на пересечении которых расположен наименьший элемент.
-
task_63: Сформировать трёхмерный массив с не повторяющимися двузначными числами и вывести его на экран построчно, с индексами элементов.
-
task_64: Показать треугольник Паскаля *Сделать вывод в виде равнобедренного треугольника.
-
task_65: Спирально заполнить двумерный массив.
-
task_66: Показать натуральные числа от 1 до N, N задано.
-
task_67: Показать натуральные числа от N до 1, N задано.
-
task_68: Показать натуральные числа от M до N, N и M заданы.
-
task_69: Задайте значения M и N. Напишите программу, которая найдёт сумму элементов в промежутке от M до N.
-
task_70: Найти сумму цифр числа.
-
task_71: Написать программу вычисления функции Аккермана.
-
task_72: Написать программу возведения числа А в целую стень B.
-
task_73: Написать программу показывающие первые N чисел, для которых каждое следующее равно сумме двух предыдущих. Первые два элемента последовательности задаются пользователем.
-
task_74: В некотором машинном алфавите имеются четыре буквы «а», «и», «с» и «в». Покажите все слова, состоящие из n букв, которые можно построить из букв этого алфавита.
-
task_75: Есть два массива info и data. Массив data состоит из нулей и единиц хранящий числа в двоичном представлении. Числа идут друг за другом без разделителей. Массив info состоит из чисел, которые представляют колличество бит чисел из массива data. Составить массив десятичных представлений чисел массива data с учётом информации из массива info.
Пример:входные данные: data = {0, 1, 1, 1, 1, 0, 0, 0, 1 } info = {2, 3, 3, 1 } выходные данные: 1, 7, 0, 1
Какие ошибки могут возникнуть при обработке наборов данных?
-
task_76: Есть число N. Скольно групп M, можно получить при разбиении всех чисел на группы, так чтобы в одной группе все числа были взаимно просты. Например для N = 50, M получается 6
Одно из решений : Группа 1: 1 Группа 2: 2 3 11 13 17 19 23 29 31 37 41 43 47 Группа 3: 4 6 9 10 14 15 21 22 25 26 33 34 35 38 39 46 49 Группа 4: 8 12 18 20 27 28 30 42 44 45 50 Группа 5: 7 16 24 36 40 Группа 6: 5 32 48 Ещё одно решение: Группа 1: 1 Группа 2: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 Группа 3: 4 6 9 10 14 15 21 22 25 26 33 34 35 38 39 46 49 Группа 4: 8 12 18 20 27 28 30 42 44 45 50 Группа 5: 16 24 36 40 Группа 6: 32 48
Задача: найти M при заданном N и получить одно из разбиений на группы N ≤ 10²⁰