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

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 = 540Output:Rabbits = 70, Pigeons = 130Input:Heads = 100, Legs = 300Output: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