Дано натуральное число. Определить: б) сколько раз в нем встречается цифра, равная последней; в) количество четных цифр в нем. Составное условие и более одного неполного условного оператора не использовать; г) сумму его цифр, больших пяти; д) произведение его цифр, больших семи; е) сколько раз в нем встречаются цифры "0" и "5". В Паскале, не используя массивы
program CountNumbers; var number, lastDigit, countLastDigit, countEvenDigits, sumOverFive, productOverSeven, countZeroAndFive: integer; digit: integer; begin write('Введите натуральное число: '); readln(number); lastDigit := number mod 10; countLastDigit := 0; countEvenDigits := 0; sumOverFive := 0; productOverSeven := 1; countZeroAndFive := 0; while number <> 0 do begin digit := number mod 10; if digit = lastDigit then countLastDigit := countLastDigit + 1; if digit mod 2 = 0 then countEvenDigits := countEvenDigits + 1; if digit > 5 then sumOverFive := sumOverFive + digit; if digit > 7 then productOverSeven := productOverSeven * digit; if (digit = 0) or (digit = 5) then countZeroAndFive := countZeroAndFive + 1; number := number div 10; end; writeln('Сколько раз встречается цифра, равная последней: ', countLastDigit); writeln('Количество четных цифр: ', countEvenDigits); writeln('Сумма цифр, больших пяти: ', sumOverFive); writeln('Произведение цифр, больших семи: ', productOverSeven); writeln('Сколько раз встречаются цифры "0" и "5": ', countZeroAndFive); end.
Этот код считывает натуральное число, затем с помощью цикла while выполняет необходимые вычисления и выводит результаты.
Пример решения на Pascal:
program CountNumbers;var
number, lastDigit, countLastDigit, countEvenDigits, sumOverFive, productOverSeven, countZeroAndFive: integer;
digit: integer;
begin
write('Введите натуральное число: ');
readln(number);
lastDigit := number mod 10;
countLastDigit := 0;
countEvenDigits := 0;
sumOverFive := 0;
productOverSeven := 1;
countZeroAndFive := 0;
while number <> 0 do
begin
digit := number mod 10;
if digit = lastDigit then
countLastDigit := countLastDigit + 1;
if digit mod 2 = 0 then
countEvenDigits := countEvenDigits + 1;
if digit > 5 then
sumOverFive := sumOverFive + digit;
if digit > 7 then
productOverSeven := productOverSeven * digit;
if (digit = 0) or (digit = 5) then
countZeroAndFive := countZeroAndFive + 1;
number := number div 10;
end;
writeln('Сколько раз встречается цифра, равная последней: ', countLastDigit);
writeln('Количество четных цифр: ', countEvenDigits);
writeln('Сумма цифр, больших пяти: ', sumOverFive);
writeln('Произведение цифр, больших семи: ', productOverSeven);
writeln('Сколько раз встречаются цифры "0" и "5": ', countZeroAndFive);
end.
Этот код считывает натуральное число, затем с помощью цикла while выполняет необходимые вычисления и выводит результаты.