Cutting Recipes Codechef Solution

Hello Programmers In this post, you will know how to solve the Cutting Recipes CodeChef Solution. The Problem Code is RECIPE.

Cutting Recipes Codechef Solution
Cutting Recipes Codechef Solution

One more thing to add, don’t directly look for the solutions, first try to solve the problems of Codechef by yourself. If you find any difficulty after trying several times, then you can look for solutions.

Problem

The chef has a recipe he wishes to use for his guests, but the recipe will make far more food than he can serve to the guests. The chef therefore would like to make a reduced version of the recipe which has the same ratios of ingredients but makes less food. The chef, however, does not like fractions. The original recipe contains only whole numbers of ingredients, and the chef wants the reduced recipe to only contain whole numbers of ingredients as well. Help the chef determine how much of each ingredient to use in order to make as little food as possible.

Input

Input will begin with an integer T, the number of test cases. Each test case consists of a single line. The line begins with a positive integer N, the number of ingredients. N integers follow, each indicating the quantity of a particular ingredient that is used.

Output

For each test case, output exactly N space-separated integers on a line, giving the quantity of each ingredient that the chef should use in order to make as little food as possible.

Sample Input

3
2 4 4
3 2 3 4
4 3 15 9 6

Sample Output

1 1
2 3 4
1 5 3 2

Constraints

T≤100

2≤N≤50

All ingredient quantities are between 1 and 1000, inclusive.

Cutting Recipes Codechef Solution in Python

T = int(input())
for i in range(T):
    l = list(map(int,input().split()[1:]))
    n = min(l)
    while(n):
        if all([i % n == 0 for i in l]):
            print(*[i // n for i in l])
            break
        n = n - 1

Cutting Recipes Codechef Solutions in Cpp

#include<iostream>
using namespace std;
int gcd(int a, int b){
    for (;;){
        if (a == 0) return b;
        b %= a;
        if (b == 0) return a;
        a %= b;
    }
}
int main(){
	int t;
	cin>>t;
	while(t--){
		int n;
		cin>>n;
		int arr[n];
		cin>>arr[0]>>arr[1];
		int l = gcd(arr[0],arr[1]);
		for(int i=2;i<n;i++){
			cin>>arr[i];
			l = gcd(l,arr[i]);
		}
		for(int i=0;i<n;i++){
			cout<<arr[i]/l<<" ";
		}
		cout<<endl;
	}
	return 0;
}

Cutting Recipes Codechef Solutions in Java

import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
     public int gcd(int a, int b)
    {
        if (a == 0)
            return b;
        return gcd(b % a, a);
    }
    // Function to find gcd of array of
    // numbers
    public int findGCD(int arr[], int n)
    {
        int result = 0;
        for (int element: arr){
            result = gcd(result, element);
            if(result == 1)
            {
                return 1;
            }
        }
        return result;
    }
    public static void main (String[] args) throws java.lang.Exception
    {
         Scanner sc=new Scanner(System.in);
       int n=sc.nextInt();
       for (int i=0;i<n;i++){
           int a=sc.nextInt();
           int []b=new int[a];
           int []c=new int[a];
           for (int j=0;j<a;j++){
               b[j]= sc.nextInt();
              c[j]=b[j];
           }
           Codechef df=new Codechef();
           int result=b[0];
           for (int j=1;j<a;j++){
              result=(df.findGCD(b,b.length));
           }
           for (int j=0;j<a;j++){
             //  System.out.println(b[0]);
               System.out.print(b[j]/result+" ");
           }
           System.out.println();
       }
    }
}

Disclaimer: The above Problem (Cutting Recipes) is generated by CodeChef but the solution is provided by BrokenProgrammers. This tutorial is only for Educational and Learning purpose.

Note:- I compile all programs, if there is any case program is not working and showing an error please let me know in the comment section. If you are using adblocker, please disable adblocker because some functions of the site may not work correctly.

Next: Chef and Subarrays Codechef Solution

Leave a Reply

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