Open In App
Related Articles

Count Number of animals in a zoo from given number of head and legs

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

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++

// 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

// 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)

                    

Python3

# 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#

// 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
// 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
?>

                    

Javascript

<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>

                    

Output: 
Rabbits = 50
Pigeons = 50

 

Time Complexity: O(1)

Auxiliary Space: O(1)



Last Updated : 27 Jul, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads