Cod sursa(job #970532)

Utilizator miu_mik93FMI - Paduraru Miruna miu_mik93 Data 7 iulie 2013 08:39:46
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
#define NMax 100000
const int n_max = 10001; // Definim numarul maxim de cifre al numerelor
const int m = 1999999973;
int main()
{
    long long int i, n, p;
    long long a, sol = 1;
    FILE *f = fopen("lgput.in", "r");
	FILE *g = fopen("lgput.out", "w");
	fscanf(f, "%lld %lld", &n, &p);
    for(i=1; i<=p/2; i++)
        sol = (n * n * sol) % m;
    if(p % 2 == 0)
        fprintf(g, "%lld", sol);
    else
        fprintf(g, "%lld", (sol*n) % m);
	fclose(f);
	fclose(g);
    return 0;
}