Вводится целое положительное число. Отыскать меньшую нечетную цифру в числе. Если
Вводится целое положительное число. Отыскать меньшую нечетную цифру в числе. Если в числе нет нечетных цифр, то вывести надпись "В числе нет нечетных цифр"
Задать свой вопрос
Егор Вареничев
язык программирования какой?
Адуков
Андрюха
Тогда пишу на паскале
1 ответ
Степан Полотебнов
Var
a,k,m,min,i,flag:integer;
begin
readln(a);
m:=a; сохраняю введенное значение и считаю кол-во цифр в числе
while m gt;0 do
begin
m:=m div 10;
k:=k+1;
end;
min:=9; записываю самое великое нечетное число
в цикле отсекаю заключительную цифру в числе и проверяю ее на нечетность. Если она нечетная и меньше числа min, то храню ее в min и присваиваю переменной Flag 1. Если к концу программки в переменной flag будет 1, означает желая бы одна нечетная цифра в числе была, если flag=0 тогда в числе нет нечетных
for i:=1 to k do
begin
if (a mod 10lt;=min)and(a mod 2lt;gt;0) then
begin
min:=a mod 10;
flag:=1;
end;
a:=a div 10;
end;
if flag=0 then
writeln('нет нечетных')
else
writeln(min);
end.
a,k,m,min,i,flag:integer;
begin
readln(a);
m:=a; сохраняю введенное значение и считаю кол-во цифр в числе
while m gt;0 do
begin
m:=m div 10;
k:=k+1;
end;
min:=9; записываю самое великое нечетное число
в цикле отсекаю заключительную цифру в числе и проверяю ее на нечетность. Если она нечетная и меньше числа min, то храню ее в min и присваиваю переменной Flag 1. Если к концу программки в переменной flag будет 1, означает желая бы одна нечетная цифра в числе была, если flag=0 тогда в числе нет нечетных
for i:=1 to k do
begin
if (a mod 10lt;=min)and(a mod 2lt;gt;0) then
begin
min:=a mod 10;
flag:=1;
end;
a:=a div 10;
end;
if flag=0 then
writeln('нет нечетных')
else
writeln(min);
end.
Василиса
Набираю число 493570. Программка слетает с известьем, что число очень огромное для представления с заданной точностью. А что - имею право, нигде не написано, в каких пределах это число должно быть.
Miroslava Mihalenkova
Все можно решить гораздо проще.
Машенька Гаренко
var s:string; i,n,min,err:integer; c:char;begin Write('Введите произвольное число: '); Readln(s); min:=10; for i:=1 to Length(s) do begin Val(s[i],n,err); if err=0 then if (n
Nelli Selemeneeva
Приношу прощенья, строчка с char не нужна.
Хайков
Кирилл
Работает для любых чисел в любом формате и даже запрятанных в текст. разреженных пробелами и т.д.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов