Program to find the number of men initially
Last Updated :
30 May, 2022
A certain number of men can do a certain piece of work in D days. If there were m more men engaged in the work then the work can be done in d days less. The task is to find how many men were there initially.
Examples:
Input: D = 5, m = 4, d = 4
Output: 1
Input: D = 180, m = 30, d = 20
Output: 240
Approach: Let the initial number of men be M and days be D
Amount of work completed M men in D days will be M * D
i.e. Work Done = M * D …(1)
If there are M + m men then the same amount of work is completed in D – d days.
i.e. Work Done = (M + m) * (D – d) …(2)
Equating equations 1 and 2,
M * D = (M + m) * (D – d)
M * D = M * (D – d) + m * (D – d)
M * D – M * (D – d) = m * (D – d)
M * (D – (D – d)) = m * (D – d)
M = m * (D – d) / d
Below is the implementation of the above approach:
C++
#include <bits/stdc++.h>
using namespace std;
int numberOfMen( int D, int m, int d)
{
int Men = (m * (D - d)) / d;
return Men;
}
int main()
{
int D = 5, m = 4, d = 4;
cout << numberOfMen(D, m, d);
return 0;
}
|
Java
import java.util.*;
class GFG
{
static int numberOfMen( int D, int m, int d)
{
int Men = (m * (D - d)) / d;
return Men;
}
public static void main(String args[])
{
int D = 5 , m = 4 , d = 4 ;
System.out.println(numberOfMen(D, m, d));
}
}
|
Python3
def numberOfMen(D, m, d):
Men = (m * (D - d)) / d;
return int (Men);
D = 5 ; m = 4 ; d = 4 ;
print (numberOfMen(D, m, d));
|
C#
using System;
class GFG
{
static int numberOfMen( int D, int m, int d)
{
int Men = (m * (D - d)) / d;
return Men;
}
public static void Main()
{
int D = 5, m = 4, d = 4;
Console.WriteLine(numberOfMen(D, m, d));
}
}
|
Javascript
<script>
function numberOfMen(D, m, d)
{
var Men = (m * (D - d)) / d;
return Men;
}
var D = 5, m = 4, d = 4;
document.write(numberOfMen(D, m, d));
</script>
|
Time Complexity: O(1)
Auxiliary Space: O(1)
Share your thoughts in the comments
Please Login to comment...