Дано натуральное число. Определить есть ли в нем цифры 2 и 5 Pascal Не используя boolean...

0 голосов
120 просмотров

Дано натуральное число.
Определить есть ли в нем цифры 2 и 5
Pascal
Не используя boolean очень прошу, срочно надо!!!


Информатика (612 баллов) | 120 просмотров
0

Можно прочитать число строкой и поискать в каждом символе myStr[ i ] , если такой вариант устроит - напишу в ответе подробнее

0

какая может быть срочность в ночь с субботы на воскресенье?

0

Ну устраивает ответ - задавайте вопрос в новой редакции и учтите там все.

0

Потому что модератор следит за выполнением Правил. И никакой агрессии тут нет. Вы неправы, пытаясь заставить ответившего изменить ответ, потому что Вы что-то не учли, задавая свой вопрос.

0

факт в том, что я не просто хочу списать решение, а понять как решать, не понимаю почему со стороны модератора проявляется такая агрессия, если для вас это очень легко и вы не хотите писать решение, то зачем комментировать?

0

В воскресенье??? Ну-ну...

0

завтра сдаю это задание учителю, вот в чем срочность

Дано ответов: 2
0 голосов
Правильный ответ

Почему задачу нужно решать без использования строк - понятно, а почему нельзя использовать тип boolean - загадка. С учетом пожеланий программа может быть такой:
var n,k:integer;
begin
write('n=');readln(n);
k:=0;
while n>0 do
 begin
  if (n mod 10=2)or(n mod 10=5) then k:=1;
  n:=n div 10;
end;
if k=0 then writeln('В числе нет 2 и 5')
       else writeln('В числе есть 2 и/или 5');
end.

(194k баллов)
0

Вот такой ещё вариант:

0

Условие задачи можно понять по-разному. Можно - что надо разделять, а можно - что нет, а можно - что требуется, чтобы цифры в числе были обе (и 2, и 5).

0

Случаи "только 2", "только 5" и "2 и 5" решили не разделять?

0

var n,k2,k5:integer;
begin
write('n=');readln(n);
k2:=0; k5:=0;
while n>0 do
begin
case n mod 10 of
2:inc(k2);
5:inc(k5);
end;
n:=n div 10;
end;
if k2=0 then writeln('В числе нет 2') else writeln('В числе есть 2');
if k5=0 then writeln('В числе нет 5') else writeln('В числе есть 5');
end.

0 голосов

Самый простой по-моему вариант

(1.6k баллов)
0

Вы написали, не использовать boolean - его и не использовали, все тут нормально.

0

См. внизу историю вопроса, ответ ПРИНЯТ

0

как то, против правил не хочу идти)

0

Лан тогда не буду

0

Запрещено менять ответ с пометкой "Проверено"

0

тоже нет, только циклы

0

а массивы?

0

Сейчас изменю

0

А тогда надо писать в задании, чем можно пользоваться.

0

Спасибо конечно же, но строковый тип мы еще не изучали