Задача:
Вводится число. Преобразовать его в другое число, цифры которого будут следовать в обратном порядке по сравнению с введенным числом.
Описание переменных:
n, m
- первое и второе числа;
a
- хранение очередного разряда.
Алгоритм решения задачи:
Алгоритм решения задачи сводится к следующему циклу: 1) взять последнюю цифру в первом числе; 2) записать ее в конец второго; 3) убрать последнюю цифру из первого числа. При этом второе число изначально не должно иметь значащих разрядов. Таким образом последняя цифра первого числа окажется первой цифрой во втором; предпоследняя цифра первого числа - второй во втором числе; и т. д.
n
на 10. Результат сохраняем в переменной a
.n
нацело на 10, тем самым избавляемся от младшего разряда.m
надо увеличивать на единицу, т.е. умножать на 10. (Например если было число 56, то, умножив его на 10, получим 560. Далее следует прибавить остаток из переменной a
, например, 3. В итоге получим 563.) Получаем формулу: m = m * 10 + a.Программа на языке Паскаль:
Задача:
Факториал числа представляет собой произведение всех натуральных чисел от 1 до этого числа включительно. Например, факториал числа 7 выглядит так:
1 * 2 * 3 * 4 * 5 * 6 * 7
Факториал числа обозначается как само число после которого следует восклицательный знак. Например, 7!. Таким образом:
7! = 1 * 2 * 3 * 4 * 5 * 6 * 7 = 5040
С увеличением числа его факториал быстро возрастает. Так если 3! = 6, то уже 10! = 3628800. Поэтому для натуральных чисел больше 12-ти в языке программирования Паскаль просто так факториал вычислить нельзя.
Допустим, требуется определить факториал числа, которое ввел пользователь.
Алгоритм решения задачи:
Переменной factorial сначала присваивается значение 1.
0! = 1 и 1! = 1.
Если пользователь ввел число больше единицы, то выполняется цикл, в теле которого на каждой итерации значение переменной factorial
умножается на следующее натуральное число (переменную i
).
Программа на языке Паскаль: