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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2009, 19:05   #1
Lion_paint
 
Регистрация: 27.02.2009
Сообщений: 7
По умолчанию Задача степень

Вводится 3 числа n,k,p(1 ≤ N ≤ 10000, 1 ≤ K ≤ 100, 2 ≤ P ≤ 10^9)
требуется посчитать скмму k-х степеней первых n натeральных чисел взятых по модулю p
Пример
10 1 997 55
Lion_paint вне форума Ответить с цитированием
Старый 27.02.2009, 19:21   #2
Lion_paint
 
Регистрация: 27.02.2009
Сообщений: 7
По умолчанию

задачи в Paskal
Lion_paint вне форума Ответить с цитированием
Старый 28.02.2009, 19:20   #3
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

Код:
var s:int64;
    n,k,p,i:longint;
begin
readln(n,k,p);
s:=0;
for i:=1 to n do
  s:=s+(round(power(i,k)) mod p);
writeln(s);
end.
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Старый 28.02.2009, 19:54   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Жалко только что в Паскале нет ни Int64, ни Power.
puporev вне форума Ответить с цитированием
Старый 28.02.2009, 20:02   #5
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

У меня есть и Int64 и Power).
Это решение чтобы было оттолкнуться от чего.
Оно не совсем правильное, так как нет своих наработок.
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Старый 28.02.2009, 20:04   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Имхо задача на длинную арифметику.
Только вот условие я что-то до конца не понял. А конкретно:
Цитата:
взятых по модулю p
И почему в примере 4 числа, когда вводятся только 3?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 28.02.2009, 20:06   #7
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Четвертое число это результат, т.е. сумма первых 10 чисел в первой степени.
puporev вне форума Ответить с цитированием
Старый 28.02.2009, 20:08   #8
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

Можно обойтись и без "длинки" так как модуль есть.
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Старый 28.02.2009, 20:10   #9
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Да, это задача не на длинную арифметику, а на соображаловку. У меня ее практически нет.
puporev вне форума Ответить с цитированием
Старый 28.02.2009, 20:56   #10
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вот. Функцию подсмотрел на алголисте.
Вроде подходит.
Код:
uses crt;
var
n,k,p,i : longint;
sum : longint;

function powmod(a,k,n : longint) : longint;
 var b : longint;
 begin
 b := 1;
 while k<>0 do
  begin
  if k mod 2 = 0 then
   begin
   k := k div 2;
   a := (a*a) mod n;
   end
  else
   begin
   dec(k);
   b := (b*a) mod n;
   end;

  end;
 Result := b;
 end;

begin
clrscr;
sum := 0;
readln(n,k,p);
for i:=1 to n do
 sum := sum + powmod(i,k,p);
writeln('sum= ',sum);
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Степень числа Серафимий Долговяз Помощь студентам 1 26.02.2009 18:26
Степень числа Серафимий Долговяз Помощь студентам 3 26.02.2009 07:09
степень bbk_serg Помощь студентам 3 01.02.2009 18:43
Степень Droid Общие вопросы Delphi 9 26.04.2008 01:51