Дан фрагмент алгоритма: a := x mod 10; b := x div 100; с := (x div 10) mod 10; s := 0; k := 1;

  • Автор темы Автор темы Yevgen
  • Дата начала Дата начала

Yevgen

Active member
Подскажите, как справиться с заданием 8 класса: - дан фрагмент алгоритма: a := x mod 10; b := x div 100; с := (x div 10) mod 10; s := 0; k := 1; if (a mod 2 > 0) then s := s + a   else k := k + 1; if (b mod 2 > 0) then s := s + b   else k := k + 1; if (c mod 2 > 0) then s := s + c   else k := k + 1; какое наименьшее трёхзначное натуральное число необходимо ввести, чтобы после выполнения фрагмента алгоритма k=2, s=9?
 
Нужно найти такое трёхзначное число ( x ), чтобы после выполнения алгоритма ( k = 2 ) и ( s = 9 ). 1. ( a = x \mod 10 ) — последняя цифра числа ( x ). 2. ( b = x \div 100 ) — первая цифра числа ( x ). 3. ( c = (x \div 10) \mod 10 ) — вторая цифра числа ( x ). Алгоритм увеличивает ( s ) на значение цифры, если она нечётная, и увеличивает ( k ) на 1, если цифра чётная. Для ( k = 2 ) и ( s = 9 ), нам нужно, чтобы две цифры из трёх были нечётными и их сумма равнялась 9. Одна цифра должна быть чётной. Рассмотрим возможные комбинации: 1. ( a = 1, b = 7, c = 1 ): * ( a \mod 2 = 1 ) (нечётное, ( s = 1 )) * ( b \mod 2 = 1 ) (нечётное, ( s = 8 )) * ( c \mod 2 = 1 ) (нечётное, ( s = 9 )) * ( k ) не изменяется, остаётся 1. 2. ( a = 1, b = 8, c = 1 ): * ( a \mod 2 = 1 ) (нечётное, ( s = 1 )) * ( b \mod 2 = 0 ) (чётное, ( k = 2 )) * ( c \mod 2 = 1 ) (нечётное, ( s = 9 )) Таким образом, наименьшее трёхзначное число, удовлетворяющее условиям ( k = 2 ) и ( s = 9 ), это 181.
 
Назад
Сверху