• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to secondary sidebar

GoHired

Interview Questions asked in Google, Microsoft, Amazon

Join WeekEnd Online Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

  • Home
  • Best Java Books
  • Algorithm
  • Internship
  • Certificates
  • About Us
  • Contact Us
  • Privacy Policy
  • Array
  • Stack
  • Queue
  • LinkedList
  • DP
  • Strings
  • Tree
  • Mathametical
  • Puzzles
  • Graph

The Magic HackerEarth Nirvana solutions Hiring Challenge

February 25, 2015 by Dhaval Dave

Navi got a task at school to collect N stones. Each day he can collect only one stone. As N can be a very large number so it could take many days to complete the task,
but then he remembers that his mother gave him a magic that can double anything (i.e if he has 2 stones, the magic will make them to 4 stones). Navi can use this magic any number of time on the collected stone on a particular day and add this to the previously collected stones. Remember that he wants exactly N stones and he can’t throw any stone. If he gets more than N stones then he gets 0 marks, of course he doesn’t want 0 marks. Help him to collect exactly N stones in minimum number of days.

Input

First line of input will contain number of test cases (T). Then next T lines contains a single number N, which is number of stones Navi has to collect.

Output

For each test case, Print a single number which is the minimum number of days taken by Navi to complete the task.

Constraints

1 <= T <= 10^5
0 <= N <= 10^9

Sample Input (Plaintext Link)

2
1
3
Sample Output (Plaintext Link)
1
2
Explanation : 
When N = 1, in 1 day he can collect stone.
When N = 3, on 1st day he collect 1 stone, make it double. so now he has 2.
On day 2, he can collect one , so total now he has collected 3 stones in 2 days.
 
Code Solution : 
 
#include <stdio.h>

int main(){
int T,N,stone,remaining,day;
scanf("%d",&T);
while(T--)
{
scanf("%d",&N);
day=1;
remaining=N;
    while(1)
    {
        if(remaining==1) 
        break;
        if(remaining==0)
        {day--; break;}
        stone=1;
        while( (stone*2) <= remaining){
            stone = 2*stone;
        }
    remaining = remaining - stone;
    day++;
    }
printf("%dn",day);
}

return 0;
}

Similar Articles

Filed Under: Hacker Earth Questions, Interview Questions, problem Tagged With: Mathematical

Reader Interactions

Primary Sidebar

Join WeekEnd Online/Offline Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

Join WeekEnd Online/Offline Batch from 4-April-2020

WhatsApp us

Secondary Sidebar

Custom Search

  • How I cracked AMAZON
  • LeetCode
  • Adobe
  • Amazon
  • Facebook
  • Microsoft
  • Hacker Earth
  • CSE Interview

Top Rated Questions

Binary Tree in Java

Hackerearth : Counting Subarrays

There are N nuts and N bolts, u have to find all the pairs of nuts and bolts in minimum no. of iteration

Difference between a LinkedList and a Binary Search Tree BST

Password Predictor

Edit Distance ( Dynamic Programming )

Find Percentage of Words matching in Two Strings

Get K Max and Delete K Max in stream of incoming integers

Longest Increasing Subsequence

Calculate price of parking from parking start end time prices

Length of the longest substring without repeating characters

Fibonacci Hashing & Fastest Hashtable

How strtok() Works

Test Cases for Round Function

Templates in C++

Binary Tree Isomorphic to each other

VMWare Openings

Maximum of all subarrays of size k

TicTacToe Game As Asked in Flipkart

CodeChef’ RRCOPY

Find the kth number with prime factors 3, 5 and 7

Best Java Book | Top Java Programming Book for Beginners

N teams are participating. each team plays twice with all other teams. Some of them will go to the semi final. Find Minimum and Maximum number of matches that a team has to win to qualify for finals ?

Sort an array according to the order defined by another array

Find and print longest consecutive number sequence in a given sequence in O(n)

Given Set of words or A String find whether chain is possible from these words or not

Rectangular chocolate bar Create at least one piece which consists of exactly nTiles tiles

Flipkart Set 1 On Campus with Answers

Convert Decimal to Roman numbers / Romanizer HackerEarth Code

Stock Buy Sell to Maximize Profit

Copyright © 2025 · Genesis Framework · WordPress · Log in