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

Даны два большущих числа. проверьте, делится ли их произведение на девять. формат файла входных данных: в двух строках входного файла даны два целых неотрицательных числа, по одному в строке. запись каждого из них состоит из не более чем 106 цифр. формат файла выходных данных: в единственной строке выходного файла выведите "yes", если произведение данных чисел делится на девять, и "no" в противном случае (без кавычек). программу я написал, но есть проблема: время действия программы превышает 3 секунды, решить эту проблему

Показать ответ
Ответ:
infourazyukp092y0
infourazyukp092y0
06.10.2020 12:16
// PascalABC.NET 3.2, сборка 1456 от 26.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadAllLines('data.txt');
  var f:=OpenWrite('output.txt');
  var s1:=s[0].ToCharArray.Select(c->c.ToDigit).Sum;
  if s1 mod 9=0 then Writeln(f,'YES')
  else begin
    var s2:=s[1].ToCharArray.Select(c->c.ToDigit).Sum;
    if s2 mod 9=0 then Writeln(f,'YES')
    else
      if (s1 mod 3=0) and (s2 mod 3=0) then Writeln(f,'YES')
      else Writeln(f,'NO')
    end;
  f.Close
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота