Для решения задачи о проверке, является ли шестизначный номер трамвайного билета «счастливым», нам необходимо выполнить следующие шаги:
Ввод числа: Пользователь должен ввести шестизначное число, представляющее номер билета.
Проверка на корректность: Убедимся, что введенное число действительно шестизначное. Это можно сделать, проверив длину строки.
Разделение числа на две части: Извлечем первые три и последние три цифры из введенного числа.
Вычисление суммы цифр: Посчитаем сумму первых трех цифр и сумму последних трех цифр.
Сравнение сумм: Сравним полученные суммы. Если они равны, то билет считается «счастливым».
Вывод результата: В зависимости от результата сравнения, выведем сообщение о том, является ли билет «счастливым» или нет.
Теперь представим блок-схему и программу на языке Pascal для решения этой задачи.
Блок-схема
- Начало
- Ввод N (номер билета)
- Проверка длины N
- Если длина не равна 6, вывести сообщение об ошибке и завершить программу.
- Извлечь цифры:
a1 = N div 100000
a2 = (N div 10000) mod 10
a3 = (N div 1000) mod 10
b1 = (N div 100) mod 10
b2 = (N div 10) mod 10
b3 = N mod 10
- Сумма первых трех цифр: S1 = a1 + a2 + a3
- Сумма последних трех цифр: S2 = b1 + b2 + b3
- Если S1 = S2, то
- Вывести "Билет счастливый"
- Иначе вывести "Билет не счастливый"
- Конец
Программа на Pascal
program LuckyTicket;
var
N: Integer;
a1, a2, a3, b1, b2, b3: Integer;
S1, S2: Integer;
begin
Write('Введите шестизначный номер билета: ');
Readln(N);
// Проверяем, является ли число шестизначным
if (N < 100000) or (N > 999999) then
begin
Writeln('Ошибка: номер должен быть шестизначным.');
Exit;
end;
// Извлекаем цифры номера билета
a1 := N div 100000;
a2 := (N div 10000) mod 10;
a3 := (N div 1000) mod 10;
b1 := (N div 100) mod 10;
b2 := (N div 10) mod 10;
b3 := N mod 10;
// Вычисляем суммы
S1 := a1 + a2 + a3;
S2 := b1 + b2 + b3;
// Проверяем, является ли билет счастливым
if S1 = S2 then
Writeln('Билет счастливый')
else
Writeln('Билет не счастливый');
end.
Пояснения:
- Ввод и проверка: Программа запрашивает у пользователя шестизначный номер и проверяет его корректность.
- Извлечение цифр: Используем операции деления и взятия остатка для получения каждой цифры из номера билета.
- Суммы и сравнение: Считаем суммы первой и второй половины, затем сравниваем их.
- Вывод: Выводим результат проверки на экран.
Эта программа позволяет определить, является ли введенный номер «счастливым» или нет, и предоставляет соответствующий вывод.