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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2011, 14:44   #1
Аида
Новичок
Джуниор
 
Регистрация: 14.01.2011
Сообщений: 5
Стрелка Степень

Вам даны целые числа А,В и С. Выведите остаток от деления А^В на С.
Обратите внимание:
(X*Y)mod Z=((X mod Z)*(Y mod Z)) mod Z)
(X+Y)mod Z=((X mod Z)+(Y mod Z)) mod Z)

Формат входных анных
Единственная строка файла содержит 3 целых числа: A,B,C(0<=A, B<=10^18, 1<=C<=10^18). Числа разделены пробелами.

формат выходных данных
Выходной файл должен содержать одно число-ответ к задаче.
Аида вне форума Ответить с цитированием
Старый 14.01.2011, 20:18   #2
Риндера
Delphi, учу С
Форумчанин
 
Аватар для Риндера
 
Регистрация: 20.10.2010
Сообщений: 178
По умолчанию

Чтобы получить числа из файла:
Код:
read(file, A, B, C);
Других сложностей с программой не вижу, тем более если у тебя олипмиада, ты должна распогалать достаточными знаниями. Или я не права?
Риндера вне форума Ответить с цитированием
Старый 14.01.2011, 20:21   #3
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

ето олимпиадная задача?
Pein95 вне форума Ответить с цитированием
Старый 14.01.2011, 20:22   #4
Аида
Новичок
Джуниор
 
Регистрация: 14.01.2011
Сообщений: 5
По умолчанию

нет, ели признаться то код на эту задачку у меня есть, просто я написала, чтобы посмотреть быстро ли здесь отвечают или нет, а так у меня база есть только вот я щас в 11 классе и думая о ЕНТ я почти что все забыла связанное с информатикой((


если кого-то обидела то прошу прощения господа программисты

нет) это не олимпиадная задачка

Последний раз редактировалось Stilet; 14.01.2011 в 22:24.
Аида вне форума Ответить с цитированием
Старый 14.01.2011, 22:28   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Обратите внимание:
На что?
Цитата:
Выведите остаток от деления А^В на С.
^ - Это степень?
Тады так
Код:
var a,b,c:integer;f:text;
begin
 assign(f,'file.txt');reset(f);
 Тут Риндера рулит, только вместо file писать f в данном случае
 write(exp(b*ln(a)) mod c);
 readln;
end.
P.S. Да и файл закрыть не забудь. Процедура Close();
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.01.2011, 22:30   #6
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
A,B,C(0<=A, B<=10^18, 1<=C<=10^18
Stilet
(10^18)^(10^18) не влезет в integer
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 14.01.2011, 23:37   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм... Верно. Однако не подумал...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.01.2011, 01:39   #8
Косюра
Пользователь
 
Аватар для Косюра
 
Регистрация: 14.01.2011
Сообщений: 74
По умолчанию

В чем вопрос? тогда не Integer, a LongInt или Int64. Честно говоря еще сама не решила. Я бы взяла LongInt.
Девушка - переменная бинарного типа с рандомным значением
Косюра вне форума Ответить с цитированием
Старый 15.01.2011, 03:06   #9
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

2 Косюра
В том что даже первый из топ 250 супер-ЭВМ раком встанет если если ему попытаться загрузить в память число (10^18)^(10^18)
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 15.01.2011, 09:11   #10
Косюра
Пользователь
 
Аватар для Косюра
 
Регистрация: 14.01.2011
Сообщений: 74
По умолчанию

Тогда можно сделать через цикл, но 10^18 он конечно долго считать будет.

Код:
Result:=1;
for i:=1 to B do
Result:=Result*(A mod C);
Result := Result mod C;
и кстати нет ограничения на А. Оно в каких пределах может быть?
Девушка - переменная бинарного типа с рандомным значением
Косюра вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Степень Числа 5. СИ Style00001 Помощь студентам 6 07.01.2011 22:31
Степень Foxx Microsoft Office Excel 7 12.09.2010 15:41
возведение в степень ILNARM Паскаль, Turbo Pascal, PascalABC.NET 16 16.10.2009 23:04
степень bbk_serg Помощь студентам 3 01.02.2009 18:43
Степень Droid Общие вопросы Delphi 9 26.04.2008 01:51