fork(1) download
  1. #include<stdio.h>
  2. double power(double x, int n);
  3. double multiply(double x, int n);
  4. double divide(double x, int n);
  5. typedef double (*use)(double, int);
  6. double powerpower(use s, double x, int n, int m);
  7. int main(){
  8. double x;
  9. int n,m;
  10.  
  11. scanf("%lf %d %d",&x,&n,&m);
  12.  
  13. use fn = power;
  14. printf("%f\n",powerpower(fn, x, n, m));
  15.  
  16. fn = multiply;
  17. printf("%f\n",powerpower(fn, x, n, m));
  18.  
  19. fn = divide;
  20. printf("%f",powerpower(fn, x, n, m));
  21. }
  22.  
  23. double power(double x, int n){
  24. if(n==1){
  25. return x;
  26. }
  27. else{
  28. return (x*power(x,n-1));
  29. }
  30. }
  31.  
  32. double multiply(double x, int n){
  33. return (x*n);
  34. }
  35.  
  36. double divide(double x, int n){
  37. return (x/n);
  38. }
  39.  
  40. double powerpower(use s, double x, int n, int m){
  41. double i=(*s)(x,n);
  42. if(m==1){
  43. return i;
  44. }
  45. else{
  46. double j= power(i,m);
  47. return j;
  48. }
  49.  
  50. }
Success #stdin #stdout 0s 2172KB
stdin
1.2 2 2
stdout
2.073600
5.760000
0.360000