|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.04.2012, 19:05 | #1 |
Пользователь
Регистрация: 15.04.2012
Сообщений: 28
|
Быстрое возведение в степень.(ошибка)
#include <stdio.h>
#include <math.h> #include <conio.h> #include <stdlib.h> #include <iostream.h> int main(){ int p,a,s; int y,t,x; char buf[100]; cout<<"vvedite chislo:\n"; cin>>a; cout<<"\nvvedite stepen:\n"; cin>>x; cout<<"\nvedite p:"; cin>>p; itoa(x,buf,2); t=log2(x); s=a; y=1; for(int i=0;i<=t;i++) { if(buf[i]==1) y=(y*s)%p; s=(s*s)%p;} cout<<"\n="<<y; getch(); return y; } быстрое возведение в степень по формуле a^xmodp=y.помогите найти и исправить ошибку |
15.04.2012, 20:05 | #2 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
Код:
И возведение в степень Вы слегка неуклюже реализовали.
Форматируйте код, будьте людьми.
|
15.04.2012, 20:33 | #3 |
Пользователь
Регистрация: 15.04.2012
Сообщений: 28
|
просто препод сказал тут одно исправить и заработает.а с 0 писать я просто не успею.
|
15.04.2012, 20:39 | #4 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
А в чем, собственно, ошибка? Неправильно степень считает?
Форматируйте код, будьте людьми.
|
15.04.2012, 21:19 | #5 |
Пользователь
Регистрация: 15.04.2012
Сообщений: 28
|
да неправильно считает.1 выдает.как мне распечатать массив buf функции itoa только не cout'ом.препод сказал добавить
|
15.04.2012, 21:39 | #6 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
itoa, как я понял, переводит число в указанную систему счисления, причем записывает он, я полагаю, слева направо. А Ваш алгоритм был бы корректен, если бы она записывала результат справа налево. Да и вообще весь алгоритм странный. Вот, в общем
Код:
Форматируйте код, будьте людьми.
Последний раз редактировалось Granus; 15.04.2012 в 21:42. |
15.04.2012, 21:58 | #7 |
Пользователь
Регистрация: 15.04.2012
Сообщений: 28
|
спасибо большое. все работает
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Возведение в степень | XYLIGANXYL | Общие вопросы по Java, Java SE, Kotlin | 7 | 17.09.2016 15:20 |
возведение в степень | [CODER] | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 6 | 14.04.2014 10:18 |
Возведение в степень | Dima-War | Общие вопросы C/C++ | 7 | 18.03.2012 09:37 |
Возведение в степень. | Drakulov | Свободное общение | 30 | 01.03.2011 16:35 |
возведение в степень | Lissisa | Помощь студентам | 1 | 21.03.2009 22:34 |