"...напечатает сначала 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
при необходимости прогу можно переделать чтобы она находила только максимальное число.
При переводе в двоичную систему мы каждое число делим на 2. 18 мы делим на 2 берём по 9. От 18-18=0. Дальше где в ответе у нас получилось 9 мы эту девятку делим на 2 берём по 4 это 8 от 9-8=1 пишим 1. Дальше мы 4 делим на 2 берём по 2 ответ 4 будет ноль. Потом 2 делим на 2 берём по 1. 2-2=0
И вот те чифры которые у нас остались от деления когда мы вычитал от 18-18,от 9-8. Мы их записываем в обратном порядке. Вот и ответ 10010. Надеюсь хорошо объяснила
"...напечатает сначала 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
при необходимости прогу можно переделать чтобы она находила только максимальное число.
5 цифр ответ 10010
Объяснение:
При переводе в двоичную систему мы каждое число делим на 2. 18 мы делим на 2 берём по 9. От 18-18=0. Дальше где в ответе у нас получилось 9 мы эту девятку делим на 2 берём по 4 это 8 от 9-8=1 пишим 1. Дальше мы 4 делим на 2 берём по 2 ответ 4 будет ноль. Потом 2 делим на 2 берём по 1. 2-2=0
И вот те чифры которые у нас остались от деления когда мы вычитал от 18-18,от 9-8. Мы их записываем в обратном порядке. Вот и ответ 10010. Надеюсь хорошо объяснила
Если не понятно спрашивай ;)