TCS codevita Question Milkman and his bottles Solved

TCS codevita Question




Problem : Milk Man and His Bottles

A Milkman serves milk in packaged bottles of varied sizes. The possible size of the bottles are {1, 5, 7 and 10} litres. He wants to supply desired quantity using as less bottles as possible irrespective of the size. Your objective is to help him find the minimum number of bottles required to supply the given demand of milk.

Input Format:

First line contains number of test cases N 
Next N lines, each contain a positive integer Li which corresponds to the demand of milk.




Output Format:
For each input Li, print the minimum number of bottles required to fulfill the demand 

Constraints:
1 <= N <= 1000
Li> 0
1 <= i <= N

Sample Input and Output
SNo.
Input
Output
1


2
17
65



2
7


Explanation: 
Number of test cases is 2 

In first test case, demand of milk is 17 litres which can be supplied using minimum of 2 bottles as follows 
1 x 10 litres and 
1 x 7 litres 
In second test case, demand of milk is 65 litres which can be supplied using minimum of 7 bottles as follows 
6 x 10 litres and 
1 x 5 litres 

TCS codevita Answer


Solution : Milk Man and His Bottles

#include
using namespace std;
int minimum(int n1,int n2,int n3)
{
int a[3]={n1,n2,n3},minim=a[0];
for(int i=0;i<3 br="" i="" style="word-wrap: break-word !important;">{
if(minim>a[i])
minim=a[i];
}
return minim;
}
int f(int n,int no)
{
if(n==1||n==5||n==7||n==10)
return no+1;
if(n>1&&n<5 br="" style="word-wrap: break-word !important;">return (f(n-1,no+1));
if(n>5&&n<7 br="" style="word-wrap: break-word !important;">return (f(n-5,no+1));
if(n>7&&n<10 br="" style="word-wrap: break-word !important;">return (f(n-7,no+1));
if(n>10)
{
return(minimum(f(n-7,no+1),f(n-10,no+1),f(n-5,no+1)));
}
cout<<"error";
return 0;
}
int main()
{int n,cases;
cout<<"Enter cases: ";
cin>>cases;
for(int i=0; icout<<"Enter demand: ";
cin>>n;
cout<<"minimum no of bottles required are: ";
cout<}
return 0;
}

Mr. Jayesh gave me the code for this milkman question in java. Here it is

/* package codechef; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Milkman
{
        public static void main (String[] args) throws java.lang.Exception
        {
                BufferedReader user = new BufferedReader(new InputStreamReader(System.in));
                int test_case = Integer.parseInt(user.readLine());
                int[] bottles = {10,7,5,1};
                int[] result = new int[test_case];
                int milk,lts,btl,j;
        for(int i=0; i        {
            milk = Integer.parseInt(user.readLine());
            j=0;
            btl=0;
            while(milk>0)
            {
                lts   = milk/bottles[j];
                milk -= bottles[j]*lts;
                j++;
                btl += lts;
            }
            result[i] = btl;
        }
        for(int i=0;i            System.out.println(result[i]);
        }
}

.



The Codevita problem code is well understood if you have any problem in any of the codes give your suggestion in the comment section. I will be Happy to Help you.

Help others by Sharing this post. Thank you.

Comments

Popular posts from this blog

A Ten Year Journey: How SEO PowerSuite Has Kept Its SEO Tools Current

4 Ways to Crack a Facebook Password and How to Protect Yourself from Them

Create Separate Contact Page in Blogger