int qrandom(); /* qrandom(N,r) returns a random number between 0 and (N-1) */ int f(); /* f(r) is an arbitrary binary function that returns 1 only for a single value of r, for all other values of r it returns 0 */ quantum_main() { int i, r; r = qrandom(N,0); for(i = 0; i < eta; i++) /* eta is a number of order <img src="http://twimgs.com/ddj/ddj/images/ddj0104b/check.gif">N */ { if (f(r) == 1) invert_phase(); /* f(r) is evaluated within the program itself this does not need an external observation (any observation would perturb the system) */ r = qrandom(N,r); if (r==0) invert_phase(); r = qrandom(N,r); } print(r); }
Figure 3: Quantum program.