Program to find the speed of man in km/hr, given the speed of stream in km/hr. Assume that the man takes n times (where n > 1) as long to row upstream as to row downstream the river.
Examples:
Input : 5.5 4 Output : speed of man is 9.16667 km/hr Input : 4 3 Output : speed of man is 8 km/hr
Approach Used :
Let speed of the man in still water = x km/hr
Let speed of the stream = y km/hr
Then, speed downstream = (x + y) km/hr
speed upstream = (x – y) km/hr
Let time taken to travel downstream = t hr
Then, time taken to travel upstream = nt hr
Distance travelled downstream = (x + y)t km ————-(1)
Distance travelled upstream = (x – y)tn km ————-(2)
from (1) and (2)
(x + y)t = (x – y)tn
which gives : (x + y) = (x – y)n
which gives : x + y = nx – ny
which gives : nx – x = ny + y
which gives : x(n – 1) = y(n + 1)
which gives : x = y(n + 1)/(n – 1)
C++
// C++ implementation #include <bits/stdc++.h> using namespace std; // function to return speed of man float speed_man( float y1, int n1) { // return the speed of man in km/hr return ( y1 * (n1 + 1) / (n1 - 1) ); } // Driver function int main() { // y is speed of stream in km/hr float y = 2.3; int n = 6; float speed = speed_man(y, n); cout << "speed of man is " << speed << " km/hr" << endl; return 0; } |
Java
// Java Implementation import java.lang.*; import java.util.*; public class neveropen { // function to return speed of man static float speed_man( float y1, int n1) { // x is speed of man return ( y1 * (n1 + 1 ) / (n1 - 1 ) ); } // Driver function public static void main(String[] args) { // y is speed of stream in km/hr float y = 2 .3f; int n = 6 ; float speed = speed_man(y, n); System.out.println( "speed of man is " + speed + " km/hr" ); } } |
Python3
# Python3 implementation to find # the speed of man in km/hr # Function to return speed of man def speed_man(y1, n1): # return the speed of man in km/hr return (y1 * (n1 + 1 ) / (n1 - 1 )) # Driver Code # y is speed of stream in km/hr y = 2.3 ; n = 6 speed = speed_man(y, n) print ( "speed of man is " , "%.2f" % speed, " km/hr" ) # This code is contributed by Anant Agarwal. |
C#
// C# Implementation using System; public class GFG { // function to return speed of man static float speed_man( float y1, int n1) { // x is speed of man return ( y1 * (n1 + 1) / (n1 - 1) ); } // Driver function public static void Main() { // y is speed of stream in km/hr float y = 2.3f; int n = 6; float speed = speed_man(y, n); Console.WriteLine( "speed of man is " + speed + " km/hr" ); } } // This code is contributed by vt_m. |
PHP
<?php // PHP implementation to find // the speed of man in km/hr // function to return // speed of man function speed_man( $y1 , $n1 ) { // return the speed of // man in km/hr return ( $y1 * ( $n1 + 1) / ( $n1 - 1) ); } // Driver function // y is speed of // stream in km/hr $y = 2.3; $n = 6; $speed = speed_man( $y , $n ); echo "speed of man is " , $speed , " km/hr" ; // This code is contributed by anuj_67. ?> |
Javascript
<script> // javascript Implementation // function to return speed of man function speed_man( y1, n1) { // x is speed of man return ( y1 * (n1 + 1) / (n1 - 1) ); } // Driver function // y is speed of stream in km/hr var y = 2.3; var n = 6; var speed = speed_man(y, n).toFixed(2) document.write( "speed of man is " + speed + " km/hr" ); </script> |
Output:
speed of man is 3.22 km/hr
Time Complexity: O(1)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!