ВУЗ:
Составители:
int odd(unsigned long x)
{
return (x & 0x01);
}
void ExtBinEuclid(unsigned long u, unsigned long v, unsigned
long &result)
{
int didswap = 0;
unsigned long u1, u2, u3;
unsigned long k, t1, t2, t3;
if (even(u) && even(v)) return;
if (u < v)
{
didswap = 1;
swap (u, v);
}
for (k = 0 ; even(u) && even(v) ; k++)
{
printf("%d && %d = %d\n", even(u), even(v), even(u) &&
even(v));
u >>= 1;
v >>= 1;
}
u1 = 1;
u2 = 0;
u3 = u;
t1 = v;
t2 = u - 1;
t3 = v;
do
{
do
{
if (even(u3))
{
if (odd(u1) || odd(u2))
{
u1 += v;
u2 +=u;
}
u1 >>= 1;
u2 >>= 1;
u3 >>= 1;
}
if (even(t3) || (u3 < t3))
Страницы
- « первая
- ‹ предыдущая
- …
- 82
- 83
- 84
- 85
- 86
- …
- следующая ›
- последняя »