Given the total number of Legs and Head of Rabbits and Pigeons. The task is to calculate the number of Rabbits and Pigeons.
Examples:
Input: Heads = 200, Legs = 540 Output: Rabbits = 70, Pigeons = 130
Input: Heads = 100, Legs = 300 Output: Rabbits = 50, Pigeons = 50
Let the total no. of Heads = 200 and Legs = 540.
Let the number of Head and Legs of Rabbits = X and that of Pigeons = Y.
so,
X + Y = 200 ..equation 1 (no. of the heads of a rabbit and a pigeon = total no. of heads)
(As both of them has 1 head)
4X + 2Y = 540 …equation 2 (no. of the legs of the rabbit and a pigeon = total no. of legs)
(Rabbit have 4 legs and pigeons have 2 legs)
Now, solving equation 1 and 2 we get,
4X = 540 – 2Y
4X = 540 – 2 * (200 – X)
4X = 540 – 400 + 2X
2X = 140 => X = 70
X = 70 and Y = 130.
hence, Rabbits = 70 and Pigeons = 130
Below is the implementation of the above approach:
// C++ implementation of above approach #include <bits/stdc++.h> using namespace std;
// Function that calculates Rabbits int countRabbits( int Heads, int Legs)
{ int count = 0;
count = (Legs)-2 * (Heads);
count = count / 2;
return count;
} // Driver code int main()
{ int Heads = 100, Legs = 300;
int Rabbits = countRabbits(Heads, Legs);
cout << "Rabbits = " << Rabbits << endl;
cout << "Pigeons = " << Heads - Rabbits << endl;
return 0;
} |
// Java implementation of above approach import java.util.*;
import java.lang.*;
class GFG
{ // Function that calculates Rabbits static int countRabbits( int Heads,
int Legs)
{ int count = 0 ;
count = (Legs) - 2 * (Heads);
count = count / 2 ;
return count;
} // Driver code public static void main(String args[])
{ int Heads = 100 , Legs = 300 ;
int Rabbits = countRabbits(Heads, Legs);
System.out.println( "Rabbits = " +
Rabbits);
System.out.println( "Pigeons = " +
(Heads - Rabbits));
} } // This code is contributed // by Akanksha Rai(Abby_akku) |
# Python 3 implementation of above approach # Function that calculates Rabbits def countRabbits(Heads, Legs):
count = 0
count = (Legs) - 2 * (Heads)
count = count / 2
return count
# Driver code if __name__ = = '__main__' :
Heads = 100
Legs = 300
Rabbits = countRabbits(Heads, Legs)
print ( "Rabbits =" , Rabbits)
print ( "Pigeons =" , Heads - Rabbits)
# This code is contributed # by Surendra_Gangwar |
// C# implementation of above approach using System;
class GFG
{ // Function that calculates Rabbits static int countRabbits( int Heads,
int Legs)
{ int count = 0;
count = (Legs) - 2 * (Heads);
count = count / 2;
return count;
} // Driver code public static void Main()
{ int Heads = 100, Legs = 300;
int Rabbits = countRabbits(Heads, Legs);
Console.WriteLine( "Rabbits = " +
Rabbits);
Console.WriteLine( "Pigeons = " +
(Heads - Rabbits));
} } // This code is contributed // by Akanksha Rai(Abby_akku) |
<?php // PHP implementation of above approach // Function that calculates Rabbits function countRabbits( $Heads , $Legs )
{ $count = 0;
$count = ( $Legs ) - 2 * ( $Heads );
$count = (int) $count / 2;
return $count ;
} // Driver code $Heads = 100;
$Legs = 300;
$Rabbits = countRabbits( $Heads , $Legs );
echo "Rabbits = " , $Rabbits , "\n" ;
echo "Pigeons = " , $Heads -
$Rabbits , "\n" ;
// This code is contributed // by Sach_Code ?> |
<script> // Javascript implementation of above approach // Function that calculates Rabbits function countRabbits(Heads, Legs)
{ var count = 0;
count = (Legs)-2 * (Heads);
count = count / 2;
return count;
} // Driver code var Heads = 100, Legs = 300;
var Rabbits = countRabbits(Heads, Legs);
document.write( "Rabbits = " + Rabbits + "<br>" );
document.write( "Pigeons = " + (Heads - Rabbits));
</script> |
Rabbits = 50 Pigeons = 50
Time Complexity: O(1)
Auxiliary Space: O(1)