Informatică, întrebare adresată de bcosmin01, 9 ani în urmă

Rezolvarea in c++ as dori !

Anexe:

Răspunsuri la întrebare

Răspuns de GeneralRex121
3

#include <iostream>

#include <cmath>

using namespace std;

int putere(int a, int b, int c){

int apowb;

if(b % 2 == 0){

apowb = pow(a, b/2) * pow(a, b/2);

} else if (b % 2 != 0){

apowb = a * pow(a, b-1);

}

return (apowb % c);

}

int main()

{

cout << putere(3, 6, 100) << endl;

}


bcosmin01: pe asta am luat 100 de puncte
bcosmin01: #include

#include

using namespace std;

ifstream f("lgput.in");

ofstream g("lgput.out");

int n,p,m;

int putere(int a,int b,int c)

{

if(b==0)return 1;
else if(b%2==0)
return putere(a*a%c,b/2,c);

else return a*putere(a*a%c,b/2,c)%c;

}
GeneralRex121: am cautat si prin carti si pe forumuri si toata lumea zicea ca cea mai optimizata si rapida metoda e sa folosesti o functie inline cu template sau cu inmultire repetata
GeneralRex121: nu stiu de ce nu mergea
bcosmin01: nu e problema
bcosmin01: auzi pot de acum sa iti mai cer ajutorul la probleme?
bcosmin01: gen un discord ceva caci chiar te-ai implicat si iti multumesc pentru tot efortul depus
bcosmin01: iar u o sa mai am intrebari
bcosmin01: eu
GeneralRex121: iti dau in privat
Alte întrebări interesante