М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ArinaBelman18
ArinaBelman18
05.06.2021 04:01 •  Информатика

Pascal abc напишите программу, которая находит три наименьших элемента массива и переставляет их в начало массива. остальные элементы должны следовать далее в том же порядке. входные данные первая строка содержит размер массива n . во второй строке через пробел n чисел – элементы массива. гарантируется, что 0 < n ≤ 10000 . выходные данные программа должна вывести элементы полученного массива в одной строке, разделив их пробелами. примеры входные данные 6 6 2 1 5 3 4 выходные данные 1 2 3 6 5 4

👇
Ответ:
Yulia1393
Yulia1393
05.06.2021
Var
 a: array [1..10000] of integer;
 i,j,k,m,n:integer;
begin
 read(n);
 for i := 1 to n do
   read(a[i]);
 for i := 1 to 3 do
   begin
   m := a[i];
   k := i;
   for j := i+1 to n do
     if a[j] < m then
      begin
      m := a[j];
      k := j
      end;
   for j := k downto i+1 do
     a[j] := a[j-1];
   a[i] := m
   end;
 for i := 1 to n do
  write(a[i],' ')
end.
4,5(33 оценок)
Открыть все ответы
Ответ:
Esenbekmalika30
Esenbekmalika30
05.06.2021
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
function IsHamming(n:integer):boolean;
begin
  while n mod 2 = 0 do n:=n div 2;
  while n mod 3 = 0 do n:=n div 3;
  while n mod 5 = 0 do n:=n div 5;
  Result:=(n=1)
end;

begin
  var n:=ReadInteger('n=');
  var s:int64:=0;
  var k:=0;
  var i:=2;
  while k<>n do begin
    if IsHamming(i) then begin
      Inc(k); s+=i; Print(i)
      end;
    Inc(i)
  end;
  Writeln(NewLine,'Сумма элементов последовательности равна ',s);
  n:=ReadInteger('Найти элемент с номером');
  i:=2; k:=0;
  while k<>n do begin
    if IsHamming(i) then Inc(k);
    Inc(i)
  end;
  Writeln('Найденное значение: ',i-1)
end.

Тестовое решение:
n= 33
2 3 4 5 6 8 9 10 12 15 16 18 20 24 25 27 30 32 36 40 45 48 50 54 60 64 72 75 80 81 90 96 100
Сумма элементов последовательности равна 1257
Найти элемент с номером 1000
Найденное значение: 51840000
4,8(48 оценок)
Ответ:
Празеодим
Празеодим
05.06.2021

#include <iostream> // iostream

int main() { // int main

int N; // N

int M; // M

int sum = 0; // сумма чисел хэмминга от n до m

std::cout << "N: "; // запрашиваем N

std::cin >> N;

std::cout << "M: "; // запрашиваем M

std::cin >> M;  

int *hemming = new int[M - N + 1]; // массив с числами хемминга

int counter = 0; // размер массива

for (int i = N; i <= M; ++i) { // записываем числа в массим хемминга

 if (i % 2 == 0 || i % 3 == 0 || i % 5 == 0) { // если остаток от деления

  std::cout << i << " "; // на 2 или 3 или 5 равен нулю

  hemming[counter] = i; // и выводим.  

  sum += hemming[counter]; // прибавляем к сумме числа

  ++counter; // увеличиваем счётчик

 }

}

std::cout << std::endl << sum; // выводим сумму

}

4,8(27 оценок)
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ