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

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

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


Информатика Начинающий (612 баллов)
оставил комментарий Одаренный (1.8k баллов)

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

оставил комментарий Архангел (142k баллов)

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

оставил комментарий Архангел (142k баллов)

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

оставил комментарий Архангел (142k баллов)

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

оставил комментарий Начинающий (612 баллов)

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

оставил комментарий Архангел (142k баллов)

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

оставил комментарий Начинающий (612 баллов)

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

Дано ответов: 2
0 голосов
БОГ (194k баллов)
 
Правильный ответ

Почему задачу нужно решать без использования строк - понятно, а почему нельзя использовать тип 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 баллов)

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

оставил комментарий БОГ (194k баллов)

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

оставил комментарий Архангел (142k баллов)

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

оставил комментарий БОГ (194k баллов)

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 баллов)

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

оставил комментарий Архангел (142k баллов)

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

оставил комментарий Архангел (142k баллов)

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

оставил комментарий Одаренный (1.6k баллов)

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

оставил комментарий Одаренный (1.6k баллов)

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

оставил комментарий Архангел (142k баллов)

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

оставил комментарий Начинающий (612 баллов)

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

оставил комментарий Одаренный (1.6k баллов)

а массивы?

оставил комментарий Одаренный (1.6k баллов)

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

оставил комментарий Архангел (142k баллов)

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

оставил комментарий Начинающий (612 баллов)

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

...