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

N-factorial это произведение всех чисел от 1 до n. для задного числа n определите сколько нулей в конце десятичной записи n-factorial . в единственной строке входного файла содержится одно целое положительное числа nn(1

👇
Ответ:
veronekareshet
veronekareshet
21.04.2022
Сначала банальный код - рабочий, но уже на больших числах будет переполнение переменной факториала.
var n, i, fact, ans : integer;
begin
  read(n);
  fact := 1;
  for i := 2 to n do
    fact := fact * i;
  while (fact mod 10 = 0) do begin
    ans := ans + 1;
    fact := fact div 10;
  end;
  writeln(ans);
end.

Теперь более "умный" код, в нём использован тот факт, что простое число p входит в разложение факториала числа N = [N/p] + [N/p^2] + [N/p^3] + ..., где [x] - целая часть числа x.
var n, i, fact, c, pow, ans : integer;
{c - сколько раз входит в разложение числа n! цифра 5}
begin
  read(n);
  pow := 5;
  while (pow <= n) do begin
    c += n div pow;
    pow := pow * 5;
  end;
  writeln(c);
end.
4,5(78 оценок)
Открыть все ответы
Ответ:
Леся059
Леся059
21.04.2022
"((7 - 2 - 2)^2 )^2  - 2 = 79"

#Ruby22
def f0(number, log)
    return [number * number, "(" + log + ")^2 "]
end

def f1(number, log)
    return [number - 2, log + " - 2"]
end

end_num = 79
for n in 1..5
    for i in 0..2**n-1
        s = ("000000000000000000000000000000" + i.to_s(2))[-n..-1]
        start_num = 7
        log = start_num.to_s
        for k in 0..s.size-1

            start_num, log = f0(start_num, log) if s[k] == "0"
            start_num, log = f1(start_num, log) if s[k] == "1"
            # break if start_num > end_num
        end
        # p [start_num, log, s, n]
        if start_num == end_num then
            log += " = " + end_num.to_s
            p log
        end
    end
end
4,6(49 оценок)
Ответ:
kavabanga1337
kavabanga1337
21.04.2022
Можно заметить, что нас с каждым днем окружает все больше электронных приборов, делающих нашу жизнь проще.
Компьютеры, телевизоры, сотовые телефоны, электрочайники, умные автомобили и много чего еще в этом духе. В принципе удивительного в этом ничего нет. Человек стремится максимально улучшить, упростить свою жизнь, избавить себя от рутины. Для этого он изобретает все новые и более совершенные технологии. Так были изобретены первые роботы.
Роботы уже полной мерой вошли в нашу жизнь. Теперь мы просто не представляем ее без них. Некоторые роботы готовят еду, некоторые роботы разносят лекарства, убирают, стирают и выполняют огромное количество других функций.
Если заглянуть немного в будущее, то можно предположить, что появятся роботы, которые будут нам по дому, будут для нас что-то типа прислуги. Смогут выгуливать наших домашних животных нашим детям готовить домашние задания, сидеть с младенцами, когда родителям нужно отъехать куда-нибудь. Да и внешне они будут выглядеть точно также как и люди.
4,5(28 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ