The Gateway to Computer Science Excellence
+1 vote
258 views

Consider the following pseudo-code fragment in which an invariant for the loop is “ $m ^*x^k=p^n$ and $k \geq 0$ ” (here, $p$ and $n$ are integer variable that have been initialized):

/* Pre-conditions : $p \geq 1 \wedge n \geq 0$ */

/* Assume that overflow never occurs */

int $x=p$; int $k=n$; int $m=1$;

while $(k < >0)$ {

if (k is odd) then $m=m^*x$;

$x=x^*x$;

$k=\lfloor k/2 \rfloor$;       /* floor$(k/2)$ */

}

Which of the following must be true ar the end of the while loop?

  1. $x=p^n$
  2. $m=p^n$
  3. $p=x^n$
  4. $p=m^n$ 
in Programming by Veteran (425k points)
edited by | 258 views

1 Answer

0 votes

This pseudo code basically represents the exponentiation algorithm. With p as the base and n as the power and the final result is stored in m.

Answer : B

by (41 points)

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
50,644 questions
56,500 answers
195,548 comments
101,002 users