RosettaCodeData/Task/Generator-Exponential/PARI-GP/generator-exponential.pari
2017-09-25 22:28:19 +02:00

5 lines
213 B
Text

g = List(1); \\ generator stack
genpow(p) = my(a=g[1]++);listput(g,[0,p]);()->g[a][1]++^g[a][2];
genpowf(p,f) = my(a=g[1]++);listput(g,[0,p]);(s=0)->my(q);while(ispower(p=g[a][1]++^g[a][2],f)||(s&&q++<=s),);p;