Есть ответ 👍

)дан массив, содержащий 2016 положительных целых чисел, не превышающих 1000. необходимо найти и вывести максимальный из тех элементов этого массива, восьмеричная запись которых содержит не менее четырёх цифр и оканчивается цифрой 4. если таких чисел в массиве нет, ответ считается равным нулю. исходные данные объявлены так, как показано ниже. запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных. const n=2016; var a: array [1..n] of integer; i, m, k: integer; begin for i: =1 to n do readln(a[i]); … end. в качестве ответа вам необходимо фрагмент программы, который должен находиться на месте многоточия. в этом случае вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.

284
401
Посмотреть ответы 3

Ответы на вопрос:


Const n=2016;   var  a: array [1..n] of integer; i, m, k: integer; begin for i: =1 to n do a[i]: =random(1000)+1; //readln(a[i]);   m: =0; for i: =1 to n do   if (a[i]> =8*8*8)and(a[i] mod 8 = 4)and(a[i]> m)   then m: =a[i];   writeln('m = ',m); end. пример: m = 996

Const   n=2016; var   a: array [1..n] of integer;   i, m, k: integer; begin   for i: =1 to n do       readln(a[i]);   k: =0;   for i: =1 to n do begin       m: =a[i]-516;       if m> =0 then begin           if m mod 8=0 then begin               m: =m div 8;               if (m - m mod 8) mod 8 = 0 then                   if a[i]> k then k: =a[i]               end           end       end;   writeln(k) end. объяснения число 1000₁₀ = 1750₈, а минимальное четырехзначное восьмеричное число - это 1000₈ = 512₁₀. следовательно, искомые числа лежат на интервале [512; 1000] и всегда содержат 1 в старшем разряде своего восьмеричного представления. вычтем из исходного числа 512 и тогда можно рассматривать только трехзначные восьмеричные числа. трехзначное восьмеричное число в расширенной записи имеет вид n=abc₈ = (a×8²+b×8¹+c)₁₀ = 64a+8b+c. по условию с=4, поскольку число должно оканчиваться на 4 в своем восьмеричном представлении. мы получили соотношение n-4 = 64a+8b = 8(8a+b), т.е. n-4 должно быть кратно 8. итак, первый шаг - получить a[i]-516 и если оно не отрицательно, проверить нулевой остаток от деления этой величины на 8. если это так, полагаем m=(a[i]-4) div 8. рассматриваем уравнение m=8a+b. a=(m-b)/8. понятно, что m-b> 0 и a должно быть кратно 8. что и следует проверить. если все так и есть - число подходит и следует обычная проверка алгоритма поиска максимума.

Const a = 67.45; var  k,d,b : real; begin  writeln('введите сумму в рублях: ');   read(k);   b : = k/a;   writeln('ваша сумма в $: ', b: 3: 2); end.   

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

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

Подпишись на наш телеграмм канал

GTP TOP NEWS