Gate2018 cs Q51

  • Option : B
  • Explanation :
    // n takes 2^40
    unsigned long int fun(unsigned long int n) {
    // initialized sum = 0
    unsigned long int i, j, sum = 0;
    //First it takes i = n = 2^40,
    //then it divides i by 2 and incremented once j
    //each time, that's will make makes j = 40,
    for( i=n; i>1; i=i/2) j++;
    //Now the value of j = 40,
    //it divides j by 2 and incremented once sum
    //each time, that's will make makes sum = 5,
    for( ; j>1; j=j/2) sum++;
    //returns sum = 5
    return sum;
    }
    So, answer is 5.
Cancel reply

Your email address will not be published. Required fields are marked *


Cancel reply

Your email address will not be published. Required fields are marked *