Составьте функцию, которая будет проверять, является ли число симметричным - Pascal ABC
Формулировка задачи:
Помогите пж с такой задачкой, очень нужно к завтрашнему дню.
Числа, запись которых состоит из двух одинаковых последовательностей цифр, называются симметричными. Например, 357 357 или 17 421 742 - симметричные числа. Составьте функцию, которая будет проверять, является ли число симметричным.
Исходные данные - последовательность чисел, заканчивающаяся нулем. Используя эту функцию, выделить из этой последовательности симметричные числа.
Спасибо
Решение задачи: «Составьте функцию, которая будет проверять, является ли число симметричным»
textual
Листинг программы
uses crt; function simm(n:integer):boolean; var k,m:integer; begin k:=trunc(ln(n)/ln(10))+1; //количество цифр в натуральном числе m:=round(power(10,k div 2));//половина разряда числа //если число разрядов четное и последовательность цифр в первой половине = 2 половине simm:=(k mod 2=0)and(n div m=n mod m) end; var n:integer; begin write('n='); readln(n); if simm(n)then write('Симметричное') else write('Не симметричное') end.
Объяснение кода листинга программы
- Входные данные: число n (считается с клавиатуры).
- Выходные данные: булево значение true, если число n симметричное, иначе false.
- Используемая библиотека: crt (для ввода/вывода).
- Объявление функции: simm(n: integer): boolean.
- Локальные переменные:
- k (количество цифр в числе n).
- m (половина разряда числа n).
- Вычисление k и m:
- k := trunc(ln(n) / ln(10)) + 1 (количество цифр в натуральном числе).
- m := round(power(10, k div 2)) (половина разряда числа n).
- Проверка симметричности числа n:
- (k mod 2 = 0) (количество цифр в числе n четное).
- (n div m = n mod m) (последовательность цифр в первой половине числа равна 2 половине).
- Возвращаемое значение функции:
- true, если условие в п.7 выполняется, иначе false.
- Ввод значения переменной n с клавиатуры.
- Вывод на экран результата проверки симметричности числа n.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д