ZADATAK 2: "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 nnn radnika koji završavaju posao za vreme sss, a zatim dodamo još mmm 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>
using namespace std;
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;
}
using namespace std;
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
public static void main(String[] args) {
// TODO code application logic here
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.nextInt(); //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
}
// TODO code application logic here
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.nextInt(); //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
}