OCR
3 SEEING, HEARING, AND TOUCHING COMPUTER ALGORITHMS... [while ( ? )( | | | | a rwhile | ? | rfor | rwhile ( ? ){ | | | I? | | tm} | rwhile | ? | | m} | 4 ? Im rfor ( ? ; ? 7 ? ) ( rfor | ? | m} Im ? (a) (b) s = 0; cin >> nr; rwhile (nr != 0 ){ prime = 1; pfor (i= 2 ; i <= sqrt(nr) ; ++i ){ | if (nr % i == 0) { prime = 0; break; } Lm} if (nr > 1 && prime == 1 ){ p=1; | | | | | | | rwhile ( nr != 0 ){ | | p *= nr $ 10; nr /= 10; | | | | m} S += p; } cin >> nr; Lm} prime = 1; pfor (i= 2 ; i <= sqrt(s) ; ++i ){ | if (s $ i == 0) { prime = 0; break; } Lm} if (s > 1 && prime == 1 ){ cout << ”PRIME”; } else { cout << "NOT PRIME"; ) (c) Figure 3.1. The loop skeleton of the algorithm and the equivalent C/C++ program: (a) step 1; (b) intermediate step; (c) step 3