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

Напишите программу,которая в последовательности натуральных чисел определяет наибольшее число,кратное 3 и оканчивающееся на 6. программа получает на вход количество чисел в последовательности, а затем сами числа. в последовательности всегда имеется число,кратное 3 и оканчивающееся на 6. количество чисел не превышает 1000. введенные числа не превышают 30000. программа должна вывести одно число: наибольшее число,кратное 3 и оканчивающееся на 6.

👇
Ответ:
alex1439
alex1439
17.10.2022
Var a,n,i,max36:integer;
begin
  readln(n);
  max36:=6;
  for i:=1 to n do begin
    readln(a);
    if (a mod 3 =0) and (a mod 10=6) and (a>max36) then
      max36:=a;
  end;
  writeln(max36);
end.

Тестовое решение:
5

6
36
48
66
124

66
4,7(3 оценок)
Открыть все ответы
Ответ:
dgamal05
dgamal05
17.10.2022
Использован алгоритм 115б "Генератор перестановок", опубликованный в книге М.И.Агеев, В.П.Алик, Ю.И.Марков. Библиотека алгоритмов 101б - 150б. Москва, "Советское радио", 1978 и переведенный на Паскаль с языка АЛГОЛ-60.

const
  n=7;
var
  p,d:array[2..n] of integer;
  a:array[1..n] of string:=('426','62','84','4','2','8','24');
  prim115:boolean;

procedure Perm(n:integer);
var
  t:string;
  k,q:integer;
  label index,iter,trans;
begin
  if prim115 then begin
    prim115:=False;
    for k:=2 to n do begin p[k]:=0; d[k]:=1 end
    end;
  k:=0;
index:
  q:=p[n]+d[n]; p[n]:=q;
  if q=n then begin d[n]:=-1; goto iter end;
  if q<>0 then goto trans;
  d[n]:=1; k:=k+1;
iter:
  if n>2 then begin n:=n-1; goto index end;
  q:=1; prim115:=true;
trans:
  q:=q+k; t:=a[q]; a[q]:=a[q+1]; a[q+1]:=t
end;

var
  s,maxs:string;
  i,m:integer;
  pal:boolean;
begin
  prim115:=true; maxs:='';
  repeat
    s:='';
    for i:=1 to n do s:=s+a[i];
    m:=Length(s); pal:=True;
    for i:=1 to m div 2 do
      if s[i]<>s[m-i+1] then begin pal:=false; break end;
    if pal then
      if maxs<s then maxs:=s;
    Perm(n);
  until prim115;
  Writeln(maxs)
end.

Результат выполнения программы:
842624426248
4,6(67 оценок)
Ответ:
SilverSalt
SilverSalt
17.10.2022
Даны числа 426, 62, 84, 4, 2, 8, 24
Рассмотрим число 426. Так как мы составляем палиндром, при этом количество чисел в палиндроме чётное, то в нем должна быть обратная запись этого числа - 624. Её мы можем получить из чисел 62 и 4.
Имеем: зеркальные числа 426 и 624 
Остались числа 84, 2, 8, 24. Из них мы можем составить два зеркальных числа - 842 и 248. Осталось составить палиндром. Так как надо создать максимально возможный палиндром, то число 842 должно быть вначале, а после - число 624.
ответ:
842624426248
4,5(86 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ