[ create a new paste ] login | about

Link: http://codepad.org/6qorN7ie    [ raw code | output | fork ]

dennyrolling - Python, pasted on Jan 20:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def expt(x, y): 
 z = 1 
 while (y > 0): 
   if (y % 2 == 0):
     y = y/2
     x = x*x
   else:
     z = z*x
     y = y-1
   print x, y, z, z * x**y
 print 'done!'
 return z

expt(5, 6);
expt(5, 2);
expt(2, 17);


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
25 3 1 15625
25 2 25 15625
625 1 25 15625
625 0 15625 15625
done!
25 1 1 25
25 0 25 25
done!
2 16 2 131072
4 8 2 131072
16 4 2 131072
256 2 2 131072
65536 1 2 131072
65536 0 131072 131072
done!


Create a new paste based on this one


Comments: