Cod sursa(job #2902711)

Utilizator Shapka-NevedimkaSemenenco Stanislav Shapka-Nevedimka Data 16 mai 2022 18:57:15
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator c-32 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define  _CRT_SECURE_NO_WARNINGS
long int power(int x, int n)
{
    long int result = 1;

    while(n!=0)
    {
        if(n%2==1)
        {
            result*=x;
            n=n-1;
        }
        if(n>0)
        {
            x*=x;
            n=n/2;
        }
    }
    return result;
}
int main()
{
    int n,p;
    FILE* f,g;
    if((f=fopen("lgput.in","rt")!=NULL)
    {
        fscanf(f,"%d%d",n,p);
    }
    fclose(f);
    if((g=fopen("lgput.out","wt")!=NULL)
    {
        fprintf(g, "%lu", power(n,p));
    }
    fclose(g);
}