Skip to content
Related Articles
Open in App
Not now

Related Articles

Algorithms | Analysis of Algorithms | Question 19

Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 08 Oct, 2021
Improve Article
Save Article

Consider the following program fragment for reversing the digits in a given integer to obtain a new integer. Let n = D1D2…Dm

int n, rev; 
rev = 0; 
while (n > 0) 
   rev = rev*10 + n%10; 
   n = n/10; 

The loop invariant condition at the end of the ith iteration is: (GATE CS 2004)
(A) n = D1D2….Dm-i and rev = DmDm-1…Dm-i+1
(B) n = Dm-i+1…Dm-1Dm and rev = Dm-1….D2D1
(C) n != rev
(D) n = D1D2….Dm and rev = DmDm-1…D2D1

Answer: (A)

Explanation: We can get it by taking an example like n = 54321. After 2 iterations, rev would be 12 and n would be 543.

Quiz of this Question

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!