Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva Infoarena Monthly / Răspuns: 037 ClassicTask : Noiembrie 25, 2012, 09:56:13
Va rog explicati-mi ce gresesc si de ce imi merg doar primele 5 teste.

#include <stdio.h>
long long int N, P, M;
long long int res   = 1;
long long int n     = 0;

int main(void)
{
    freopen("classictask.in", "r", stdin) ;
    freopen("classictask.out", "w", stdout)   ;
    scanf("%lld %lld %lld", &N, &P, &M);
    n = N;
    while (P != 0)
    {
        if ((P & 1) != 0)   // numarul este impar ?
            res = (res * n) % M;
        n = (n * n) % M;
        P >>= 1;
    }
    printf("%lld\n", res);
    return 0;
}
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines