Grupa radnika – rešenje

U ovom zadatku bavićemo se problemom određivanja vremena potrebnog za završavanje posla kada se broj radnika menja. Početno imamo određeni broj radnika koji posao završavaju za određeno vreme. Kada se doda dodatni broj radnika, koliko će vremena biti potrebno da se posao završi?

Objašnjenje:

Ako imamo n radnika koji završavaju posao za vreme s, a zatim dodamo još m radnika, novi broj radnika će biti n+m. Posao će se završiti brže proporcionalno broju radnika. Tačnije, vreme potrebno za završavanje posla je obrnuto proporcionalno broju radnika. Ako se broj radnika poveća, vreme potrebno za završavanje posla će se smanjiti za isti faktor.
Matematički, ako je vreme potrebno sss sa nnn radnika, a sa n+m radnika će biti t, možemo koristiti proporciju da izračunamo t:

t : s= n : (n+m), odavde
t*(n+m)=s*n, i konačno

t=s*n/(n+m)

Grupa radnika-rešenje u programskom jeziku C

#include <stdio.h>


int main()
{
    int n,m;                                                         // n-broj radnika na početku, m-broj dodatih radnika
    double s, t;                                                 //s- vreme potrebno da n radnika završe posao
    //t- vreme potrebno da n+m radnika završe isti posao
    scanf("%d%lf%d", &n, &s, &m);     //učitavanje
    /*t:s=n:(n+m)*/  /*proporcija*/
    /* t=n*s/(n+m)*//* rešenje proporcije*/
    t=n*s/(n+m);                                              // vreme da n+m radnika, dobijeno proporcijom
    printf("%.2f",t);                                         //Ispis rezultata
    return 0;
}

Grupa radnika-rešenje u programskom jeziku JAVA

import java.util.Scanner;

public class GrupaRadnika {

    public static void main(String[] args) {
        Scanner ucitavac = new Scanner(System.in);
        int n, m;            // n-broj radnika na početku, m-broj dodatih radnika
        double s, t;          //s- vreme potrebno da n radnika završe posao
        //t- vreme potrebno da n+m radnika završe isti posao

        //učitavanje
        System.out.println("Unesite pocetni broj radnika n=?");
        n = ucitavac.nextInt();
        System.out.println("Unesite dodatni broj radnika m=?");
        m = ucitavac.nextInt();
        System.out.println("Unesite vreme za koje n radnika završava posao");
        s = ucitavac.nextDouble(); //kraj učitavanja

        /*t:s=n:(n+m)*/ /*proporcija*/
        /* t=n*s/(n+m)*//* rešenje proporcije*/
        t = n * s / (n + m);        // vreme da n+m radnika, dobijeno proporcijom
        System.out.printf("%.2f", t);  //Ispis rezultata
    }
}