2. Укажите наибольшее и наименьшее из таких чисел , при вводе которых алгоритм печатает...

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

2. Укажите наибольшее и наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7.
var x, a, b : integer;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
a := a + 1;
b := b + (x mod 6);
x := x div 6;
end;
writeln(a); write(b);
end.


Информатика (71 баллов) | 229 просмотров
Дан 1 ответ
0 голосов
Немного изменив ваш код я получил вот это:

var x, a, b : integer;
begin
  for var i:=0 to MaxInt do
    begin
      a := 0; b := 1;
      x:=i;
      while x > 0 do
        begin
          a := a + 1;
          b := b + (x mod 6);
          x := x div 6;
        end;
      If (a=3) and (b=7) then Println(a,b,i);
  end;
end.

Результат:
3 7 41 
3 7 46 
3 7 51 
3 7 56 
3 7 61 
3 7 66 
3 7 76 
3 7 81 
3 7 86 
3 7 91 
3 7 96 
3 7 111 
3 7 116 
3 7 121 
3 7 126 
3 7 146 
3 7 151 
3 7 156 
3 7 181 
3 7 186 

Судя с результата, ответ: Минимальное - 41, Максимальное - 186
(5.8k баллов)
0

А "останавливается" она там, благодаря условию в конце цикла If (a=3) and (b=7) then Println(a,b,i);

0

так таких пар 3 и 7 несколько

0

Если что среда PascalABC.NET

0

ну и потом главное, эту задачу на ЕГЭ надо решить без программы в Паскале- то есть рассуждениями...

0

Да пар несколько, но есть x при которых пара 3 7 появляется первый раз и еще одна когда она появляется последний раз

0

Нет указаний в условии , как делать, каким способом.. Как можем так и выкручиваемся

0

здесь нет, и спасибо вам за решение- я его ни коим образом не хаю, наоборот-разберусь.

0

но такие задачи есть именно в егэ и он у нас сдается без ПК ((((((

0

"я это прочитала,но я так поняла чтобы цикл не пошел четвертый раз число х должно быть меньше 6^3=216.." Сразу что-то не подумал, да вполне можно было пустить цикл от 36 до 216, разницы в ответе нет, просто разница во времени выполнения

0

да он моментально сработал, спасибо