Fighertik
30.08.2020 15:20

Перевести программу с циклом while

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
аноним0000001
29.03.2023 14:48

"...напечатает сначала 2, потом - 6" -- это значит a=2 и b=6?


про пятеричные записи ничего не понял...  :) И ИМХО к чему такие сложности? И для чего нам комп и программа? Я подправил исходную прогу чтобы она выдавала все числа подходящие по условию

var x,a,b: longint;


begin

   for var i := 999 DownTo 100 do begin

       a := 0;

       b := 1;

       x := i;

       while x>0 do begin

           if x mod 2 > 0 then a := a+1 else b := b+(x mod 5);

           x := x div 5;

       end;

       if (a = 2) and (b = 6) then writeln('x = ', i, ' a = ', a, ' b = ',b);

   end;

end.


прога проводит расчет для всх трехзначных чисел от 999 до 100

итого мы видим что максимальное подходящее число это 960

при необходимости прогу можно переделать чтобы она находила только максимальное число.

0,0(0 оценок)
Ответ:
Sultanasem2007
19.04.2023 00:21
Предлагается хранить типы блоков в массиве. Каждый элемент - 2Б, количество элементов - 2^20 => всего требуется 2МБ.

При перезаписи блока и очередной переоценке необходимо учитывать типы данных в блоке до перезаписи (T0), после перезаписи (T1) и в соседних блоках (TL, TR).

Если T0 = T1, то количество кусков данных не изменяется, т.е. W[i+1] = W[i]
TL = T0 = TR <> T1 -> W[i+1] = W[i] + 2
TL = T1 = TR <> T0 -> W[i+1] = W[i] - 2
TL = TR, T0 <> TL, T1 <> TL -> W[i+1] = W[i]

Далее рассмотрим случаи, когда TL <> TR
(TL = T0, TR = T1) или (TR = T0, TL = T1) -> W[i+1] = W[i]
(TL = T0, TR <> T1) или (TR = T0, TL <> T1) -> W[i+1] = W[i] + 1
(TL = T1, TR <> T0) или (TR = T1, TL <> T0) - > W[i+1] = W[i] - 1

Если все четыре типа не совпадают, то W[i+1] = W[i]
Если перезаписывается блок с адресом 0, считать, что тип TL не совпадает ни с одним из трех других.Аналогично при перезаписи блока с адресом , но для TR.

Вроде все?
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота