cherry-sweet871435
?>

Иван на уроке информатики узнал об исполнителе "увеличитель". он может выполнять только 3 команды:1. ×22. +13. возводит в квадратСколькими различными можно из 4 получить число 21? (действия могут повторяться)​

Информатика

Ответы

Serkova_Elena251

первый: 322222 (4² + 1 + 1 + 1 + 1 + 1)

второй: 1122222

третий: 121222

четвёртый: 12212

пятый: 2112

шестой: 221222222222

седьмой: 22212222222

восьмой: 2222122222

девятый: 222221222

десятый: 22222212

одиннадцатый: 22222222222222222

ответ

Бондарен1076

Про­ана­ли­зи­ру­ем каж­дую по­сле­до­ва­тель­ность.

По­сле­до­ва­тель­ность 122 не может быть по­лу­че­на в ре­зуль­та­те вы­пол­не­ния ал­го­рит­ма, по­сколь­ку числа за­пи­сы­ва­ют­ся в по­ряд­ке не­убывания, а число 22 не может яв­лять­ся раз­но­стью двух чисел, мень­ших шестнадцати.

По­сле­до­ва­тель­ность 212 может быть по­лу­че­на в ре­зуль­та­те вы­пол­не­ния ал­го­рит­ма, пред­ло­жен­но­го учи­те­лем, в этом слу­чае ис­ход­ные цифры были: F, D, 1.

По­сле­до­ва­тель­ность 313 не может быть по­лу­че­на в ре­зуль­та­те вы­пол­не­ния ал­го­рит­ма, пред­ло­жен­но­го учи­те­лем, по­сколь­ку из ана­ли­за преды­ду­щей по­сле­до­ва­тель­но­сти ясно, что не удаст­ся вы­брать такие три числа в шест­на­дца­те­рич­ной системе.

По­сле­до­ва­тель­ность 3A не может быть по­лу­че­на в ре­зуль­та­те вы­пол­не­ния ал­го­рит­ма, по­сколь­ку обе раз­но­сти долж­ны быть за­пи­са­ны как де­ся­тич­ные числа.

Пра­виль­ный ответ ука­зан под но­ме­ром 2.

TrubnikovKlimenok926
Замечание. Так как количество вводимых чисел заранее не известно, то откроем бесконечный цикл со всегда верным условием True, но как только будет введено число 0, остановим цикл командой break.

Программа:

program z;
var k,s,x:integer;
begin
k:=0;              {начальное значение количества двузначных чисел}
s:=0;              {начальное значение суммы двузначных чисел}
while True do  {открываем бесконечный цикл}
begin
readln(x);        {вводим число х}
if x=0 then break;  {если введенное число равно 0, то остановить цикл}
if (x>9)and(x<100) then  {если число двузначное, т.е. от 10 до 99} 
    begin 
    k:=k+1;         {количество увеличиваем на 1}
    s:=s+x;         {увеличиваем предыдущее значение суммы на число х}
    end;
end;
if k=0 then writeln('NO')  {если двузначных чисел не было, то вывод NO}
   else writeln(s/k);          {иначе вывод ср.арифметического}
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Иван на уроке информатики узнал об исполнителе "увеличитель". он может выполнять только 3 команды:1. ×22. +13. возводит в квадратСколькими различными можно из 4 получить число 21? (действия могут повторяться)​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Filintver
Ubuleeva826
zeltos384
minchevaelena23
Maionova
tata-novik
isaev
filimon131262
aromastil88
asvirskiy26
borodin
fotostock
donliolik
alexander4590
znaberd786