Número mínimo y máximo de N chocolates después de la distribución entre los estudiantes de K

Dados N Chocolates y K estudiantes, la tarea es encontrar cómo dividir los chocolates de manera que se minimice la diferencia entre el chocolate mínimo y máximo recibido por todos los estudiantes. Imprime el valor de distribución de chocolate mínimo y máximo.
Ejemplos
 

Input: N = 7, K = 3
Output: Min = 2, Max = 3
Distribution is 2 2 3

Input: N = 100, K = 10
Output: 10 10
Distribution is 10 10 10 10 10 10 10 10 10 10 

Enfoque: La diferencia solo se minimizará cuando cada estudiante obtenga la misma cantidad de dulces, es decir, N % k = 0 , pero si N % K != 0 , cada estudiante obtendrá primero (NN%k)/k cantidad de dulces y luego el El resto N%k cantidad de dulces se puede distribuir a N%K estudiantes dándoles a cada uno 1 dulce. Por lo tanto, habrá solo 1 caramelo más que el (NN%k)/k si N % K != 0 con un estudiante.
A continuación se muestra la implementación del enfoque anterior:
 

CPP

// CPP implementation of the above approach
#include <bits/stdc++.h>
using namespace std;
 
// Driver code
int main(){
 
    int n = 7, k = 3;
 
    if(n % k == 0)
        cout<<n/k<<" "<<n/k;
    else
        cout<<((n-(n % k))/k)<<" "
            <<(((n-(n % k))/k) + 1);
 
    return 0;
}
 
// This code is contributed by Sanjit_Prasad

Java

// Java implementation of the above approach
 
public class Improve {
     
    // Driver code
    public static void main(String args[])
    {
            int n = 7 ;
            int k = 3 ;
             
            if (n % k == 0)
                System.out.println(n / k +" " + n / k);
             
            else
                System.out.println((n-(n % k)) / k + " "
                        + (((n-(n % k))/ k) + 1) ) ;
 
    }
    // This Code is contributed by ANKITRAI1
}

Python

# Python implementation of the above approach
 
n, k = 7, 3
if(n % k == 0):
    print(n//k, n//k)
 
else:
    print((n-n % k)//k, (n-n % k)//k + 1)

C#

// C# implementation of the
// above approach
using System;
 
class GFG
{
 
// Driver code
public static void Main()
{
    int n = 7 ;
    int k = 3 ;
     
    if (n % k == 0)
        Console.WriteLine(n / k +
                    " " + n / k);
     
    else
        Console.WriteLine((n - (n % k)) / k +
                  " " + (((n - (n % k)) / k) + 1));
}
}
 
// This code is contributed
// by inder_verama

PHP

<?php
// PHP implementation of the above approach
 
// Driver code
$n = 7; $k = 3;
 
if($n % $k == 0)
    echo $n/$k . " " . $n/$k;
else
    echo (($n - ($n % $k)) / $k) . " " .
        ((($n - ($n % $k)) / $k) + 1);
 
// This code is contributed
// by Akanksha Rai(Abby_akku)
?>

Javascript

<script>
 
// JavaScript implementation of the above approach
 
 
// Driver code
var n = 7 ;
var k = 3 ;
 
if (n % k == 0)
    document.write(n / k +" " + n / k);
 
else
    document.write((n-(n % k)) / k + " "
            + (((n-(n % k))/ k) + 1) ) ;
 
 
// This code is contributed by 29AjayKumar
 
</script>
Producción: 

2 3

 

Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por indrajit1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *