Ik heb even een simpel ding inelkaar geflansd om modulair machten te verheffen.
Nou wil ik de output controleren, dus heeft iemand een programma dat modulair kan machtsverheffen (source, of executable maakt niet uit) waarmee ik mijn source kan controleren?
Kan iemand mij uitleggen wat er trouwens mis is aan de onderstaande code:
Deze moet effectiever zijn, doordat er minder berekeningen plaatsvinden, maar het werkt niet
code:
1
2
3
4
5
6
7
8
9
10
11
12
| double ModMacht(double a, double m, double n)
{
double c = a;
long int counter;
for(counter = 1; counter < m; counter++)
{
c = a * c;
c = fmod(c, n);
cout << counter << "\n";
}
return c;
} |
Nou wil ik de output controleren, dus heeft iemand een programma dat modulair kan machtsverheffen (source, of executable maakt niet uit) waarmee ik mijn source kan controleren?
Kan iemand mij uitleggen wat er trouwens mis is aan de onderstaande code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| double ModMacht(double a, double k, double n)
{
double t = 1;
while (a > 0)
{
if(k/2==int(k/2)) //is k even?
{
k = k - 1;
t = modf(t * a, n);
}
k = k / 2;
a = modf(a * a, n);
}
cout << t;
return t;
} |
Deze moet effectiever zijn, doordat er minder berekeningen plaatsvinden, maar het werkt niet
micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©