Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Both the for loop and the do-while loop can be transformed into a simple while l

ID: 3770662 • Letter: B

Question

Both the for loop and the do-while loop can be transformed into a simple while loop. For each of the following examples, write equivalent code using a while loop instead. (a) int factorial ( int n) { int i, ret =1; for (i =2; i <= n; i++) ret = i; return ret; } (b) #include double rand_double () { / generate random number in [0 ,1) / double ret =(double )rand (); return ret /(RANDMAX+1); } int sample_geometric_rv(double p) { double q; int n= 0; do { q = rand double (); n++; } while (q >= p); return n; } Note: You only need to modify the sample_geometric_rv() function.

Explanation / Answer

(a)
int factorial ( int n) {
int i=2, ret =1;
   while(i <= n){
       ret *= i;
       i++;
   }

   return ret;
}

b.

int sample_geometric_rv(double p) {
   double q;
   int n= 0;
   q = rand double ();
   n++;
   while (q >= p){
       q = rand double ();
       n++;
   }

   return n;
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote