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

Написать программу, которая определяет является ли целое n, заданное пользователем числом Мерсенна. 4 ≤ n ≤ 2 000 000 000.

Показать ответ
Ответ:
Ksyusha891
Ksyusha891
21.03.2021 22:50
Type
  Dat = record
    d: integer;
    m: integer;
    y: integer
  end;

function jday(pd: Dat): longint;
// Алгоритм 199б
// "Переход от календарной даты к порядковому номеру дня и обратно"
// взят из сборника // "Библиотека алгоритмов 151б-200б", М.И.Агеев и др.,
// М.: Радио и связь, 1981
//
// Алгоритм возвращает порядковый номер дня по Юлианскому календарю.
// Работает для дат, начиная с 01.01.4713 до н.э.
var
  c, ya: longint;
begin
  with pd do
  begin
    if m > 2 then m := m - 3
    else
    begin
      m := m + 9;
      y := y - 1
    end;
    c := y div 100;
    ya := y mod 100;
    Result := ((146097 * c) div 4) + ((1461 * ya) div 4) +
      ((153 * m + 2) div 5) + d + 1721119
  end;
end;

function jdate(j: longint): Dat;
// Алгоритм 199б
// "Переход от календарной даты к порядковому номеру дня и обратно"
// взят из сборника // "Библиотека алгоритмов 151б-200б", М.И.Агеев и др.,
// М.: Радио и связь, 1981
//
// Алгоритм возвращает дату григорианского календаря по
// порядковому номеру дня Юлианского календаря.
// Работает для дат, начиная с 01.01.4713 до н.э.
var
  dd, mm, yy: integer;

begin
  j := j - 1721119;
  yy := (4 * j - 1) div 146097;
  dd := (4 * j - 1 - 146097 * yy) div 4;
  j := (4 * dd + 3) div 1461;
  dd := (4 * dd + 7 - 1461 * j) div 4;
  mm := (5 * dd - 3) div 153;
  dd := (5 * dd + 2 - 153 * mm) div 5;
  yy := 100 * yy + j;
  if mm < 10 then mm := mm + 3
  else begin mm := mm - 9; yy := yy + 1 end;
  Result.d := dd;
  Result.m := mm;
  Result.y := yy
end;

var
  d1,d2: Dat;
begin
  Writeln('Введите дату рождения в формате <день месяц год>: ');
  Read(d1.d, d1.m, d1.y);
  d2:=jdate(jday(d1)+5000);
  Writeln('5000 дней прожито ',d2.d,'.',d2.m,'.',d2.y)
end.

Тестовое решение:
Введите дату рождения в формате <день месяц год>:
9 10 1997
5000 дней прожито 18.6.2011
0,0(0 оценок)
Ответ:
sanie777velieva
sanie777velieva
17.02.2020 14:08
Принцип программного управления компьютером состоит в том, что программа состоящая из набора команд, записывается в память компьютера, а компьютер автоматически исполняет эту программу.
В основу архитектуры современных персональных компьютеров положен магистрально-модульный принцип. Модульная организация компьютера опирается на магистральный (шинный) принцип обмена информацией между устройствами.
Современные процессоры выполняются в виде микропроцессоров. Физически микропроцессор представляет собой интегральную схему тонкую пластинку кристаллического кремния прямоугольной формы площадью всего несколько квадратных миллиметров, на которой размещены схемы, реализующие все функции процессора. Кристалл-пластинка обычно помещается в пластмассовый или керамический плоский корпус и соединяется золотыми проводками с металлическими штырьками, чтобы его можно было присоединить к системной плате компьютера.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота