Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define __DEBUG
- double pow_r(double a, int n){
- if(n==1) return a;
- return (n & 1 ? a : 1) * pow_r(a*a, n>>1);
- }
- double pow(double a, int n){
- double pow = 1;
- for(int i = 1; i <= n; i <<= 1){
- if(n & i){
- pow *= a;
- }
- a *= a;
- }
- return pow;
- }
- int main(){
- int n;
- double a;
- #ifdef __DEBUG
- while(true){
- #endif
- printf("Zadejte a n: ");
- if(scanf("%lf %d", &a, &n) != 2 || n < 0){
- printf("Nespravny vstup.\n");
- return 1;
- }
- printf("%f ^ %d = %lf\n", a, n, pow(a, n));
- printf("%f ^ %d = %lf\n", a, n, pow_r(a, n));
- #ifdef __DEBUG
- }
- #endif
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement