Files
workspace/ds/others/fastpow.c
e2hang ebcee63b7c New
2026-01-09 00:05:37 +08:00

20 lines
338 B
C

#include <stdio.h>
#include <stdlib.h>
double fastpow(double a, long long n){
if(a == 1 || n == 0) return 1;
double tmp = fastpow(a, n / 2);
double ans = tmp * tmp;
if(n % 2 == 1) ans *= a;
return ans;
}
int main(){
double a;
long long n;
scanf("%lf %lld", &a, &n);
printf("%.8lf \n", fastpow(a, n));
return 0;
}