#include int stepen1(int a, int x); int stepen2(int a, int x); int stepen3(int a, int x); int main(){ printf("%d\n",stepen1(2,10)); printf("%d\n",stepen2(2,10)); printf("%d\n",stepen3(2,10)); return 0; } int stepen1(int a, int x){ if(x==0) return 1; return a*stepen1(a,x-1); } int stepen2(int a, int x){ if(x==0) return 1; if(x%2==0) return stepen2(a,x/2)*stepen2(a,x/2); else return stepen2(a,x/2)*stepen2(a,x/2)*a; } int stepen3(int a, int x){ int n2res; if(x==0) return 1; n2res=stepen3(a,x/2); if(x%2==0) return n2res*n2res; else return n2res*n2res*a; }