Program n1; var x: integer; begin writeln('Введите число'); readln(x); if (x mod 10 = 5) or (x mod 10 = -5) then writeln('Число оканчивается на 5') else writeln('Число не оканчивается на 5'); end.
program p2; var x, y, sum: integer; begin writeln('введите число'); readln(x); if ((x >= 10) and (x <= 99)) or ((x <= -10) and (x >= -99)) then writeln('является двузначным') else writeln('не является двузначным'); y := abs(x); sum := 0; while (y <> 0) do begin; sum := sum + (y mod 10); y := y div 10; end; if sum = 8 then writeln('сумма цифр равна 8') else writeln('сумма цифр не равна 8'); end.
xachen
27.06.2021
Немного странная задача, если учесть, что попугаев может быть нечетное число и одного тогда придется резать в любом случае... Но не суть. ответ ниже..
Так как язык программирования не указан, написал на C++
#include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); size_t boas, elephants, monkeys, parrots; bool flag = false;
// Меняем некоторых животных поменьше на животных побольше // Например, 7 Мартышек можно представить как 1 Слоника и 3 Мартышки monkeys += parrots / 8; parrots %= 8; elephants += monkeys / 4; monkeys %= 4; boas += elephants / 3; elephants %= 3;
// Теперь начинаем делить. Если При делении нужно располовинить какое-либо животное, // лучше просто заменить его на соответствующее животное по-меньше // Например, если канат длиной в 3 Слонёнка, то мы при делении на 2 могут возникнуть проблемы. // А вот если заменить одного слоненка на 4 Мартышек и делить уже 2 Слоников и 4 Мартышки, // то получится 1 Слоненок и 2 Мартышки elephants += 3*(boas % 2); boas /= 2; monkeys += 4*(elephants % 2); elephants /= 2; parrots += 8*(monkeys % 2); monkeys /= 2; if (parrots % 2) { flag = true; cout << "Количество попугаев НЕЧЕТНО" << endl << endl; } parrots /= 2;
var x: integer;
begin
writeln('Введите число');
readln(x);
if (x mod 10 = 5) or (x mod 10 = -5) then
writeln('Число оканчивается на 5')
else
writeln('Число не оканчивается на 5');
end.
program p2;
var x, y, sum: integer;
begin
writeln('введите число');
readln(x);
if ((x >= 10) and (x <= 99)) or ((x <= -10) and (x >= -99)) then
writeln('является двузначным')
else
writeln('не является двузначным');
y := abs(x);
sum := 0;
while (y <> 0) do
begin;
sum := sum + (y mod 10);
y := y div 10;
end;
if sum = 8 then
writeln('сумма цифр равна 8')
else
writeln('сумма цифр не равна 8');
end.