Произведение цифр наименьшего трехзначного числа

Произведение цифр наименьшего трехзначного числа

Задача

Проверить трехзначное число на четность и найти сумму его цифр, если число четное, или произведение его цифр, если число нечетное.

Решение

n — трехзначное число;
a, b, c — первая, вторая и третья цифры трехзначного числа.

Алгоритм решения задачи:

Пусть в программе трехзначное число генерируется случайно с помощью функции random. Для этого передадим ей аргумент 900. Так будет получено случайное число от 0 до 899. Далее к результату прибавим 100. Таким образом получим случайное число от 100 до 999, т. е. охватим весь диапазон трехзначных чисел. Выражение генерации трехзначного числа и присвоения его переменной будет таким: n : = random ( 900 ) + 100 .

Проверить число на четность в языке программирования Паскаль можно как минимум двумя способами:

  1. Использовать встроенную функцию odd, которая возвращает истину (True), если в качестве аргумента ей передается нечетное число, и ложь (False), если передано четное число.
  2. Найти остаток от деления числа на 2. Для этого использовать оператор mod. Если результат неравен нулю, значит число нечетное. Иначе — четное.

Будем использовать первый способ. Тогда заголовок оператора if будет выглядеть так: ifodd ( n ) then . Во втором случае было бы так: if n mod 2 <> 0 then .

До использования конструкции if-else извлечем из трехзначного числа цифры и присвоим их переменным a, b, c. Это делается заранее, т. к. внутри if нам бы пришлось это делать дважды: в ветке if (когда число нечетное) и в ветке else (когда число четное).

Чтобы извлечь первую цифру трехзначного числа, надо его нацело разделить на 100. Т. е. мы найдем количество сотен. Выражение на языке Pascal для этого: n div 100 .

Чтобы извлечь вторую цифру трехзначного числа, можно пойти разными способами. Например, сначала избавиться от последней цифры, разделив нацело на 10, а потом от первой, найдя остаток от деления на 10. В этом случае выражение будет выглядеть так: n div10 mod 10 . Можно поступить по-другому: найти остаток от деления на 100, потом разделить нацело на 10. Получится выражение n mod 100 div 10 .

Читайте также:  Как в одноклассниках написать на стене друга

Последняя цифра любого числа, обозначающая единицы, извлекается путем нахождения остатка от деления на 10: n mod 10 .

Пользователь вводит трехзначное число. Программа должна сложить цифры, из которых состоит это число. Например, если было введено 349, программа должна вывести на экран число 16, так как 3 + 4 + 9 = 16.

Как извлечь отдельные цифры из числа? Если число разделить нацело на десять, в остатке будет последняя цифра этого числа. Например, если 349 разделить нацело на 10, то получится частное 34 и остаток 9. Если потом 34 разделить также, то получится частное 3 и остаток 4; далее при делении 3 на 10 получим частное 0 и остаток 3.

В языках программирования почти всегда есть две такие операции:

1) нахождение целого при делении нацело,

2) нахождение остатка при делении нацело.

В языке программирования Python v.3 первая операция обозначается // (двумя знаками деления), а вторая — % (знаком процента). Например:

Примечание. Операции деления нацело и нахождения остатка с точки зрения арифметики применимы только к целым числам. Но в Python их можно использовать и по отношению к дробным числам:

Алгоритм нахождения суммы цифр трехзначного числа abc (где a — сотни, b — десятки и c — единицы) можно описать так:

  1. Найти остаток от деления abc на 10, записать его в переменную d1. Это будет цифра c.
  2. Избавиться от цифры c в числе abc, разделив его нацело на 10.
  3. Найти остаток от деления ab на 10, записать его в переменную d2. Это будет цифра b.
  4. Избавиться от цифры b в числе ab, разделив его нацело на 10.
  5. Найти остаток от деления a на 10, записать его в переменную d3. Это будет цифра a.
  6. Сложить цифры a, b и c.
Читайте также:  Apple application support was not found

Однако, если нам известно количество разрядов (цифр) числа, есть другой способ вычленения цифр из числа:

  1. Остаток от деления на 10 исходного числа дает последнюю цифру числа.
  2. Если найти остаток от деления на 100 исходного числа, то мы получи последние две цифры числа. Далее следует разделить полученное двухзначное число нацело на 10, и у нас окажется вторая цифра числа.
  3. Если исходное трехзначное число разделить нацело на 100, то получится первая цифра числа.

Ссылка на основную публикацию
Adblock detector