Cod sursa(job #2042195)

Utilizator alex2kamebossPuscasu Alexandru alex2kameboss Data 18 octombrie 2017 10:27:43
Problema Calcul Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <iostream>
#include <cstdio>
#include <string>

using namespace std;
unsigned int a,c,b,ant;
unsigned int s,m;
unsigned int pow(int p)
{
    int r=1;
    int b=10;
    while(p)
    {
        if(p%2==0)
        {
            b*=b;
            p/=2;
        }
        if(p%2==1)
        {
            r*=b;
            p--;
            b*=b;
            p/=2;
        }
    }
    return r;
}
int main()
{
    freopen("calcul.in","r",stdin);
    freopen("calcul.out","w",stdout);
    scanf("%d\n%x\n%d", &a,&b,&c);
    m=pow(c);
    ant=s=a;
    for(int i=1; i<b; i++)
    {
        ant=(ant*a)%m;
        s=(s+ant)%m;
    }
    if(c==2)
        printf("%02d", s);
    else if(c==3)
        printf("%03d", s);
    else if(c==4)
        printf("%04d", s);
    else if(c==5)
        printf("%05d", s);
    else if(c==6)
        printf("%06d", s);
    else if(c==7)
        printf("%07d", s);
    else if(c==8)
        printf("%08d", s);
    else if(c==9)
        printf("%09d", s);
    else
        cout<<s;
    return 0;
}