Числовой ребус: ПРИМЕР РИМЕР ИМЕР МЕР ЕР Р=ЗАДАЧА. ОТЧЕТ ЛАБ 1. Лабораторная работа 1 по дисциплине Информатика Арифметические задачи Группа Студенты Преподаватель Романов Е. Л
Скачать 23.96 Kb.
|
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСТИЕТ Лабораторная работа №1 по дисциплине «Информатика» Арифметические задачи Группа: Студенты: Преподаватель: Романов Е.Л. НОВОСИБИРСК 2022 ЗаданиеЧисловой ребус: ПРИМЕР+РИМЕР+ИМЕР+МЕР+ЕР+Р=ЗАДАЧА Теоретические сведенияНужно найти такие цифры, соответствующие буквам, чтобы выполнялось равенство. Каждой букве соответствует одна цифра, все буквы - это различные цифры. Проектирование программыОбсуждение основных идей алгоритма Идея: Для нахождения значений, соответствующих буквам, можно использовать перебор всех цифр для каждой буквы. Но при этом учитывать, чтобы все цифры были различны. Также нужно учитывать что буквы П, Р, И, М, Е, З не могут быть равны нулю, потому что с них начинаются числа. «Составные части» программы: Цикл перебора цифр для букв П, Р, И, М, Е, З: for (num_P = 1; num_P < 10; num_P++) Цикл перебора цифр для букв А, Д, Ч: for (num_A = 0; num_A < 10; num_A++) Проверка на различность цифр: if (num_N == num_PI || num_N == num_P) continue; Расчет правой и левой части равенства: summa = num_PI * pow(10, 5) + num_P * pow(10, 4) * 2 + num_N * pow(10, 3) * 3 + num_M * pow(10, 2) * 4 + num_E * 10 * 5 + num_P * 6; // расчет левой части уравнения otvet = num_3 * pow(10, 5) + num_A * pow(10, 4) + num_D * pow(10, 3) + num_A * pow(10, 2) + num_4 * 10 + num_A; // расчет правой части уравнения Вывод букв и соответствующих им цифр: printf("n = %d\nP = %d\nN = %d\nM = %d\nE = %d\n3 = %d\nA = %d\nD = %d\n4 = %d\n", num_PI, num_P, num_N, num_M, num_E, num_3, num_A, num_D, num_4); Переменные: num_PI – буква П num_P – буква Р num_N – буква Н num_M – буква М num_E – буква У num_3 – буква З num_A – буква А num_D – буква Д num_4 – буква Ч otvet – значение правой части равенства summa – значение левой части равенства Текст программы с комментариями #include #include int main(){ int num_PI, num_P, num_N, num_M, num_E, num_3, num_A, num_D, num_4; // Инициализация переменых для букв int otvet, summa; // Инициализация переменых для проверки условия // Перебор значения цифр для букв for (num_PI = 1; num_PI < 10; num_PI++){ . . . } return 0; } Пример работы программы П = 8 Р = 5 И = 1 М = 7 Е = 4 З = 9 А = 0 Д = 6 Ч = 3 851745 + 51745 + 1745 + 745 + 45 + 5 = 906030 . |