Файл: Лабораторная работа 1 по дисциплине Информатика Арифметические задачи Группа Студенты Преподаватель Романов Е. Л.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.12.2023
Просмотров: 34
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСТИЕТ
Лабораторная работа №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
.