на главнуюВсе эхи RU.ALGORITHMS
войти ?

Возведение в степень чисел

От Vik (2:5020/400) к All

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


From: Vik <vik@chelnydom.ru>

Хочу изучить RSA от Микрософта. Точнее посмотреть как они возводят в
степень числа. Привожу свой вариант, на языке си. Две константы просто
члены ряда Фибоначчи. Укажите плиз где и с какого места читать код RSA
в windows.
#define F1 9227465UL
#define F2 14930352UL
static unsigned long a0,a1,a2,a3;
unsigned long tutu(unsigned long b,unsigned long c,unsigned long d)
{
unsigned long e=1UL;
if(d<16UL) {
if(d&8UL)
e*=a3;
if(d&4UL)
e*=a2;
if(d&2UL)
e*=a1;
if(d&1UL)
e*=a0;
return e;
}
if(d>c) {
e=tutu(b,c,d-c);
d=c;
}
return e*tutu(c-b,b,d);
}
int main()
{
unsigned long f;
scanf("%lu%lu",&a,&f);
a0=a;a1=a*a;a2=a1*a1;a3=a2*a2;
printf("%lu\n",tutu(F1,F2,f));
return 0;
}

--- ifmail v.2.15dev5.4
* Origin: http://groups.google.com (2:5020/400)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.ALGORITHMS?msgid=<1187359670@c3g2000yqd.googlegroups.com>+0a4ac6e7