Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ помогите решить задачу с факториалом

Автор: dimon-nicolayev 8.04.2011 16:16

найти остаток от деления числа n! на m. n<=1000000, m< 2 в 15 степени

Автор: TarasBer 8.04.2011 17:08

А в чём проблема после каждого умножения брать остаток по модулю эм?
Ну да, нужны 64-битные числа.

На самом деле на асме это делается намного проще.

Автор: dimon-nicolayev 8.04.2011 17:22

я паскаль 4 раза открывал, опыта никакакого, а тут такие задачи, сложные для меня( помоги пожалуста...

Автор: TarasBer 8.04.2011 17:33

Так учебник прочитай.
Фаронова книгу скачай.
Тут с нуля писать что-то за кого-то не принято. Разве что за деньги.

Автор: dimon-nicolayev 8.04.2011 17:58

зачем пишишь если помочь не можешь...показать то что ты такой умный. Показал.круто.

Автор: TarasBer 8.04.2011 18:12

Ололо, чё, обиделся, да?

Автор: volvo 8.04.2011 18:36

dimon-nicolayev, смысл создания темы в чем? "Напишите за меня"? Не будет этого. Ты НИЧЕГО из того, что пытался сделать, не показал (не надо давить на жалость и опять говорить, что ты не знаешь Паскаль. До того, как его открыть, ты должен знать, как будешь решать задачу, алгоритм ее решения должен быть готов. Если ты и алгоритмы придумывать не умеешь - то разговаривать не о чем, учись. Если умеешь - выкладывай свои соображения. А вот потом получишь помощь).

Автор: Krjuger 8.04.2011 18:39

Помочь и сделать за тебя - это разные вещи......

Цитата
я паскаль 4 раза открывал, опыта никакакого, а тут такие задачи, сложные для меня

Из того,какой сложности задача,врятли ее дали бы вам,после 4 уроков.Отсуда напрашивается вывод,что когда надо было открыть ты этого не делал в итоге опыта 0.
Все что нужно чтобы решить TarasBer сказал.У теб есть факториал ты его представляеш как n*(n-1)*(n-2) и тд.Потом ты смотриш первый член факториала это 1 ты делиш 1 на m и береш остаток от деления по модулю(можно и без модуля если числа строго положительные) т.к. максимум у тебя это 2 в 15 степени,то число 100% влезет в один из стандартных типов(угадай в какой),затем ты остаток домножаеш на 2 и береш опять остаток,затем на 3 и опять отстаток и так n-1 раз,в итоге ты получиш нужный тебе остаток от деления.Вот тебе то ,что написал TarasBer,только расписанно.как это реализовать на языке,без твоих наработок тебе врятли кто станет просто так помогать,а за деньги пожалуста любой каприз.Это и пытался до тебя донести человек,а ты начинаешь припираться.

Автор: TarasBer 8.04.2011 19:05

> т.к. максимум у тебя это 2 в 15 степени,то число 100% влезет в один из стандартных типов

Ааа, там же 2 в 15, а не 2 в 32. Тогда я что-то не то загнул про 64-битные числа.

Автор: dimon-nicolayev 8.04.2011 22:42

спасибо вам за столь нужные в ковычках советы всем. И на будущее, если не хочешь помогать нехрен писать всякую лажу с советами как дышать воздухом и как жить! Вас никто не просил это мне писать.

Автор: volvo 10.04.2011 16:32

Вот и прекрасно. Да, я не хочу помогать лодырю. Так понятнее? Я не хочу решать задачу за человека, который сам не желает пошевелить пальцем, и только сидит и ждет, когда же ему скинут решенную задачу, которую он соизволит скопировать и сдать. А на кой фиг нужен ты такой, а? Не подумал? Потом за тобой глюки в твоих программах править? Спасибо, уже есть много такого <...>, не надо плодить еще больше.

На этом до свидания. Тема закрывается. Не хочешь ничего делать сам - не приходи сюда больше.