Нужна помощь умных женщин
Автор
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
Расслабьтесь. Мы поняли, что не только домохозяйки владеют пакетами численной математики ;)
Форум: Развлечения
Всего: 82 504 темы
Новые темы за все время: 82 504 темы
- Где лучшая шаурма в Москве?11 ответов
- Где самые вкусные роллы в Екатеринбурге?11 ответов
- Ищу русские сериалы про полицейских14 ответов
- Песня "Священная война"8 ответов
- Ролики vs ковролин4 ответа
- Одинаковые ли отпечатки пальцев у близнецов?14 ответов
- Чем отличается крафтовое пиво от обычного?16 ответов
- Мой бывший, хоть и парень, но умел шить, причём весьма неплохо6 ответов
- Какие добрые фильмы, рассказы вы знаете?8 ответов
- Не могу остановиться и не смотреть "женский форум"4 ответа
Популярные темы за все время: 42 851 тема
- Любителям котов и прочих радостей198 331 ответ
- Рro Не балет61 270 ответов
- Возвращение в Россию после 5 лет в США57 718 ответов
- Свободным душой сюда !)))43 611 ответов
- а что вы помните из того, что уже ушло из современной жизни40 704 ответа
- Задержка путинского пособия.31 607 ответов
- Какую вы любите зиму, морозную или помягче?29 066 ответов
- Клуб довольных жизнью.27 109 ответов
- Как выращивать огурцы?18 101 ответ
- Ассоциации (игра)14 846 ответов
Следующая тема
Предыдущая тема
Как известно, любое натуральное число больше 4 имеет 1 или более завершающих нолей. Например, 5! = 120 (1 завершающий ноль), 12! = 479001600 (2 завершающих ноля).