Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2016, 16:30   #1
Virel7779
Новичок
Джуниор
 
Регистрация: 10.11.2016
Сообщений: 9
По умолчанию Помогите в решении задачи

Дано целое число N (N<=10^9) и выражение -- n!/n^k=целое число;
Нужно найти найбольшее вероятно число k. Очень прошу помочь, уже 4 дня ломаю голову без остановки(



(Не могу написать саму программу на Паскале)

Последний раз редактировалось Virel7779; 10.11.2016 в 16:45.
Virel7779 вне форума Ответить с цитированием
Старый 10.11.2016, 16:37   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Не можете математически найти решение, или программу на Паскаль не можете составить ( например, тупо перебором ) ?

PS Хотя факториал 10^9 - это конечно круто.. Даже трудно представить сколькизначное число .
type_Oleg вне форума Ответить с цитированием
Старый 10.11.2016, 16:39   #3
Virel7779
Новичок
Джуниор
 
Регистрация: 10.11.2016
Сообщений: 9
По умолчанию

Не могу написать саму программу
Уже было множество идей но 10^9 слишком огромно для них

Лично у меня перебор после 10^6 занимает огромное время
Virel7779 вне форума Ответить с цитированием
Старый 10.11.2016, 16:47   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Ну, ясно что для любого n число k >= 1, ибо:
n!/n^k = (n-1)!/n^(k-1)
т.е. одно n всегда сокращается
type_Oleg вне форума Ответить с цитированием
Старый 10.11.2016, 16:49   #5
Virel7779
Новичок
Джуниор
 
Регистрация: 10.11.2016
Сообщений: 9
По умолчанию

Я это понимаю, но мне это не помогает)
Virel7779 вне форума Ответить с цитированием
Старый 10.11.2016, 16:51   #6
Virel7779
Новичок
Джуниор
 
Регистрация: 10.11.2016
Сообщений: 9
По умолчанию

Я пробывал разбивать n на простые множители через решето Эратосфена, и потом сравнивать количество простых множителей числа с количеством этих простых множителей факториала.
Увы не работает.(Надеюсь я нормально объясняю)
Virel7779 вне форума Ответить с цитированием
Старый 10.11.2016, 16:51   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Нужно найти найбольшее вероятно число k.
простите за тормознутость, а что именно нужно найти?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.11.2016, 16:55   #8
Virel7779
Новичок
Джуниор
 
Регистрация: 10.11.2016
Сообщений: 9
По умолчанию

Найбольшую степень числа n(k и есть степень), что-бы n!/n^k=цельному числу
Например для числа 12 k=5, для 13 k=1.

12^5 = 248832 делит 12! = 479001600 (479001600/248832 = 1925), а 12^6 = 2985984 (479001600/2985984=160,416(6) ) нет.

Последний раз редактировалось Virel7779; 10.11.2016 в 16:57.
Virel7779 вне форума Ответить с цитированием
Старый 10.11.2016, 16:57   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
  j:=Trunc(Sqrt(n));
  if j*j=n then Dec(j);
  k:=1;
  for i:=2 to j do if n mod i = 0 then Inc(k);
Ответ в k

УПС, ответ неверен, упустил, что еще может сокращаться
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 10.11.2016 в 17:03.
Аватар вне форума Ответить с цитированием
Старый 10.11.2016, 17:02   #10
Virel7779
Новичок
Джуниор
 
Регистрация: 10.11.2016
Сообщений: 9
По умолчанию

Не находит максимальный k для некоторых чисел.
На 12 выводит k=3;
12^5 = 248832 делит 12! = 479001600 (479001600/248832 = 1925).

Последний раз редактировалось Virel7779; 10.11.2016 в 17:04.
Virel7779 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста в решении задачи на Delhpi Anton La Iv Помощь студентам 1 08.07.2009 22:13
помогите в решении задачи. gaddam Паскаль, Turbo Pascal, PascalABC.NET 2 24.11.2008 19:06
Помогите в решении задачи! Toxass Общие вопросы Delphi 16 19.11.2008 22:06