В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
tomatlinder
tomatlinder
09.10.2021 11:07 •  Информатика

Задание по программированию на Pascal


Задание по программированию на Pascal

Показать ответ
Ответ:
marijasoe19gmailcon
marijasoe19gmailcon
25.01.2022 08:20
Const
  nn=50;

type
  data = record
    number : 1..31;
    month : 1..12;
    year : 1901..1997
  end;

var
  d:array[1..nn] of data;
  i,n,k:integer;
  s,s1,s2,s3:string;
begin
  Write('Количество дат (1..50)-> '); Read(n);
  Writeln('Введите через пробел день, месяц, год: ');
  for i:=1 to n do Read(d[i].number,d[i].month,d[i].year);
  { a }
  Write('Самый ранний из годов: ');
  k:=d[1].year;
  for i:=2 to n do
    if d[i].year<k then k:=d[i].year;
  Writeln(k);
  { б }
  Writeln('Все весенние даты');
  for i:=1 to n do
    if d[i].month in [3..5] then
      Write(d[i].number,'.',d[i].month,'.',d[i].year,' ');
  Writeln;
  { в }
  Write('Cамая поздняя дата: ');
  Str(d[1].year,s1); Str(d[1].month,s2); Str(d[1].number,s3);
  if Length(s2)=1 then s2:='0'+s2;
  if Length(s3)=1 then s3:='0'+s3;
  s:=s1+s2+s3;
  for i:=2 to n do
  begin
    Str(d[i].year,s1); Str(d[i].month,s2); Str(d[i].number,s3);
    if Length(s2)=1 then s2:='0'+s2;
    if Length(s3)=1 then s3:='0'+s3;
    if s<s1+s2+s3 then s:=s1+s2+s3
  end;
  Writeln(Copy(s,7,2)+'.'+Copy(s,5,2)+'.'+Copy(s,1,4))
end.

Тестовое решение:
Количество дат (1..50)-> 6
Введите через пробел день, месяц, год:
18 4 1950
16 5 1968
5 8 1970
3 9 1968
11 6 1964
16 12 1967
Самый ранний из годов: 1950
Все весенние даты
18.4.1950 16.5.1968
Cамая поздняя дата: 05.08.1970
0,0(0 оценок)
Ответ:
Kpoper772
Kpoper772
09.02.2021 05:16
В шестеричной системе алфавит состоит из цифр 0,1,...5.
Четырехразрядное число по условиям задания (1) и (2) имеет вид aabb,
где a=1,2,...5, b=0,1,...5.
В развернутой записи число имеет вид
a×6³+a×6²+b×6+b×1 = 6²×a(6+1)+b(6+1) = 7(36a+b)
При этом по условию (3) можно записать, что k² = 7(36a+b)
Чтобы число 7(36a+b) было полным квадратом, 36a+b должно быть кратно 7, а остаток от деления (36a+b) на 7 также должен быть полным квадратом.
Получаем, что 36a+b = 7m²
Минимальное значение 36a+b равно 36×1+0 = 36, следовательно m>2 (при m=2 получим 7×4=28, что меньше 36).
При m=3 получаем 36a+b = 63 и при a∈[1;5], b∉[0;5] решений нет.
При m=4 получаем 36a+b = 112 и находим a=3, b=4 - есть решение!
При m=5 получаем 36a+b = 175 и при a∈[1;5], b∉[0;5] решений нет.
При m=6 получаем 36a+b = 175 и получаем, что a=7, а это недопустимо. Дальше смысла проверять нет.
Итак, a=3, b=4, число 3344₆ = 7×(36×3+4) = 784₁₀ = 28²

ответ: 3344
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота