Если текущее число равно n, то последняя цифра в нем - остаток от деления на 10. В цикле проверяем, если последняя цифра числа 8, то увеличиваем переменную-счетчик восьмерок. После этого отбрасываем последнюю цифру. В конце полученное количество умножаем на 1000 и выводим на экран.
Код (C++):
#include <iostream>
int main() {
int n, count = 0;
std::cin >> n;
while (n > 0) {
if (n % 10 == 8) count++;
n /= 10;
}
std::cout << count * 1000;
}
Пример ввода:
88880
Пример вывода:
4000
Сначала переменным c и h задаются значения 1 и 3 соответственно.
""" {c=c*3; h=h +c;} """ -- этот фрагмент кода выполняется пока c ≤ 9 (""" while (c<=9) """).
1) При первом выполнении:
c = c * 3 переменная c примет значение c = 1 * 3 = 3.h = h + c переменная h примет значение h = 3 + 3 = 6.2) При втором выполнении:
c = c * 3 переменная c примет значение c = 3 * 3 = 9.h = h + c переменная h примет значение h = 6 + 9 = 15.Так как {c=c*3; h=h +c;} выполняется пока c ≤ 9, а сейчас (после второго выполнения фрагмента) c = 9, то фрагмент кода будет выполнен ещё раз:
3) При третьем выполнении:
c = c * 3 переменная c примет значение c = 9 * 3 = 27.h = h + c переменная h примет значение h = 15 + 27 = 42.В четвёртый раз фрагмент уже не будет выполнен, так как 42 > 9 => c > 9.
ответ: 42.