Нужна помощь умных женщин
Автор
22 ответа
Последний —
Перейти
Карлос Апельсинов
получается нет тут умных женщин
Гость
Мне мой друг посоветовал этот форум. Сказал, что тут есть некая Эльза - кандидат математических наук, которая ответит на мой вопрос. Еще он сказал, что почти все форумчанки умные женщины с несколькими высшими образованиями...
Alice
Уточните задачу: именно 666 нулей, или 666 и более?
Гость
Да, существует. Конечные нули в факториале образуют множители, дающие нули в конце. Например, возьмем факториал 125. В его составе есть множители 5×2=10, 25×4=100, 125×8=1000. Т.е. это уже гарантирует 6 нулей, как минимум (на самом деле, конечных нулей у 125! гораздо больше, т.к. и другие множители дают нули - например 10, 100 дадут еще 3 нуля)
Т.е. да, такое число существует.
Т.е. да, такое число существует.
Гость
Да, существует. Конечные нули в факториале образуют множители, дающие нули в конце. Например, возьмем факториал 125. В его составе есть множители 5×2=10, 25×4=100, 125×8=1000. Т.е. это уже гарантирует 6 нулей, как минимум (на самом деле, конечных нулей у 125! гораздо больше, т.к. и другие множители дают нули - например 10, 100 дадут еще 3 нуля)
Т.е. да, такое число существует.
Т.е. да, такое число существует.
Нужно точно ответить, существует ли n!, имеющий ровно 666 нолей?
Гость
Пришлось самому проверить формулой Полиньяка.
Такое число не существует, т.к. 2674! имеет 665 нолей, а 2675! уже 667 нолей.
Такое число не существует, т.к. 2674! имеет 665 нолей, а 2675! уже 667 нолей.
Гость
Женщины, я вас разочарован. Покупайте научную литературу и развивайтесь, а не в сексшопы ходите.
Alice
import sys
sys.setrecursionlimit(1000000)
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
num=1
while 1:
count=0
n=factorial(num)
while n % 10 == 0:
count += 1
n //= 10
if count==666:
print(num)
num += 1
Ждите ответа.....
sys.setrecursionlimit(1000000)
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
num=1
while 1:
count=0
n=factorial(num)
while n % 10 == 0:
count += 1
n //= 10
if count==666:
print(num)
num += 1
Ждите ответа.....
Гость
import sys
sys.setrecursionlimit(1000000)
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
num=1
while 1:
count=0
n=factorial(num)
while n % 10 == 0:
count += 1
n //= 10
if count==666:
print(num)
num += 1
Ждите ответа.....
sys.setrecursionlimit(1000000)
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
num=1
while 1:
count=0
n=factorial(num)
while n % 10 == 0:
count += 1
n //= 10
if count==666:
print(num)
num += 1
Ждите ответа.....
Я же в 9 комментарии написал ответ, что не существует. Я поступил более легким путем.
Скачал на телефон систему компьютерной алгебры Maxima on Android.
Нам создал функцию формулы Полиньяка:
f(n):= sum(floor(n/5^i),i,1,floor(log(n)/log(5)))$
Эта функция считает завершающие нули факториала. Пл этой функции нашел, что:
f(2674)=665 (т.е. 2674! имеет 665 завершающих нулей)
f(2675)=667
Т.е. факториал ни одного натурального числа не будет иметь 666 завершающих нолей.
Скачал на телефон систему компьютерной алгебры Maxima on Android.
Нам создал функцию формулы Полиньяка:
f(n):= sum(floor(n/5^i),i,1,floor(log(n)/log(5)))$
Эта функция считает завершающие нули факториала. Пл этой функции нашел, что:
f(2674)=665 (т.е. 2674! имеет 665 завершающих нулей)
f(2675)=667
Т.е. факториал ни одного натурального числа не будет иметь 666 завершающих нолей.
Alice
Я же в 9 комментарии написал ответ, что не существует. Я поступил более легким путем.
Скачал на телефон систему компьютерной алгебры Maxima on Android.
Нам создал функцию формулы Полиньяка:
f(n):= sum(floor(n/5^i),i,1,floor(log(n)/log(5)))$
Эта функция считает завершающие нули факториала. Пл этой функции нашел, что:
f(2674)=665 (т.е. 2674! имеет 665 завершающих нулей)
f(2675)=667
Т.е. факториал ни одного натурального числа не будет иметь 666 завершающих нолей.
Скачал на телефон систему компьютерной алгебры Maxima on Android.
Нам создал функцию формулы Полиньяка:
f(n):= sum(floor(n/5^i),i,1,floor(log(n)/log(5)))$
Эта функция считает завершающие нули факториала. Пл этой функции нашел, что:
f(2674)=665 (т.е. 2674! имеет 665 завершающих нулей)
f(2675)=667
Т.е. факториал ни одного натурального числа не будет иметь 666 завершающих нолей.
Прям вот так взяли и сразу стали считать для 2674, или все же перебором в цикле? Тогда чем это отличается от моего решения?
Гость
Прям вот так взяли и сразу стали считать для 2674, или все же перебором в цикле? Тогда чем это отличается от моего решения?
Когда я задал функцию, я построил для них графики функции, чтобы наглядно понять как возрастание числа n увеличивает завершающие нули в n!. Потом выбрал на глаз.
https://i.postimg.cc/yY43QSH1/Screenshot-2020-11-02-13-09-11.png
https://i.postimg.cc/vTLYSTrT/Screenshot-2020-11-02-13-10-18.png
https://i.postimg.cc/yY43QSH1/Screenshot-2020-11-02-13-09-11.png
https://i.postimg.cc/vTLYSTrT/Screenshot-2020-11-02-13-10-18.png
Alice
Когда я задал функцию, я построил для них графики функции, чтобы наглядно понять как возрастание числа n увеличивает завершающие нули в n!. Потом выбрал на глаз.
https://i.postimg.cc/yY43QSH1/Screenshot-2020-11-02-13-09-11.png
https://i.postimg.cc/vTLYSTrT/Screenshot-2020-11-02-13-10-18.png
https://i.postimg.cc/yY43QSH1/Screenshot-2020-11-02-13-09-11.png
https://i.postimg.cc/vTLYSTrT/Screenshot-2020-11-02-13-10-18.png
Вас не смущает диссонанс между словами "на глаз" и "точная наука"?
Гость
Ах да, чтобы составить скрипт в Maxima, и получить результат не на глазок, нужно знать Lisp, а это уже слишком для тролля с вумана :-D
После строки
f(n):= sum(floor(n/5^i),i,1,floor(log(n)/log(5)))$
можно добавить
k:0$ for i:1 do(k:f(i), if k>=666 then return(i))
и получить 2675.
После можно проверить f(2675) и получить 667. Зная, что цикл должен был остановиться при >=666 и он остановился в 667, то функция ни при каком аргументе не получает 666.
f(n):= sum(floor(n/5^i),i,1,floor(log(n)/log(5)))$
можно добавить
k:0$ for i:1 do(k:f(i), if k>=666 then return(i))
и получить 2675.
После можно проверить f(2675) и получить 667. Зная, что цикл должен был остановиться при >=666 и он остановился в 667, то функция ни при каком аргументе не получает 666.
Гость
Возможно, можно было придумать что-то получше, используя Wolfram Mathematica, который у меня на ПК. Но я писал скрипт на телефоне в бесплатной СКА Maxima.
Alice
Расслабьтесь. Мы поняли, что не только домохозяйки владеют пакетами численной математики ;)
Форум: Развлечения
Всего: 81 397 тем
Новые темы за все время: 81 397 тем
- Мой бывший, хоть и парень, но умел шить, причём весьма неплохо6 ответов
- Какие добрые фильмы, рассказы вы знаете?8 ответов
- Не могу остановиться и не смотреть "женский форум"4 ответа
- Женский форум3 ответа
- Что вкуснее в холодном виде, чем в горячем?29 ответов
- CS2 помоечая игра2 ответа
- Сериал похожий на твин пикс17 ответов
- Как вы относились к ночным клубам?18 ответов
- Набор начинающего повара. Что купить?16 ответов
- Есть тут такие, кто каждые выходные тусит в клубе?7 ответов
Популярные темы за все время: 42 521 тема
- Любителям котов и прочих радостей198 331 ответ
- Рro Не балет60 759 ответов
- Возвращение в Россию после 5 лет в США57 716 ответов
- Свободным душой сюда !)))43 608 ответов
- а что вы помните из того, что уже ушло из современной жизни40 703 ответа
- Задержка путинского пособия.31 607 ответов
- Какую вы любите зиму, морозную или помягче?29 066 ответов
- Клуб довольных жизнью.27 108 ответов
- Как выращивать огурцы?18 101 ответ
- Ассоциации (игра)14 846 ответов
Следующая тема
Предыдущая тема
Как известно, любое натуральное число больше 4 имеет 1 или более завершающих нолей. Например, 5! = 120 (1 завершающий ноль), 12! = 479001600 (2 завершающих ноля).