Related Articles

• Difficulty Level : Basic
• Last Updated : 04 May, 2021

Given a number n, write a program to check whether given number is Adam Number or not.
Adam number is a number when reversed, the square of the number and the square of the reversed number should be numbers which are reverse of each other. Adam numbers upto 1000 are: 0, 1, 2, 3, 11, 12, 13, 21, 22, 31, 101, 102, 103, 111, 112 , 113, 121, 122, 201, 202, 211, 212, 221, 301, 311.

Examples :

```Input : 12
Explanation:
Square of 12 = 144
Reverse of 12 = 21
Square of 21 = 441
Now Square of 12 and square of reverse of 12 are
reverse of each other. Therefore 12 is Adam number.

Input : 14
Output : Not a Adam Number```

Steps to find Adam number :

```Step 1:  Find square of number.
Step 2:  Find reverse of number.
Step 3:  Find square of number in Step 2.
Step 4:  Find reverse of number in Step 3.
Step 5:  Find whether number obtained in Step 4 and Step 1 are equal or not.```

## C++

 `// CPP program to check Adam Number``#include ``using` `namespace` `std;` `// To reverse Digits of numbers``int` `reverseDigits(``int` `num)``{``    ``int` `rev = 0;``    ``while` `(num > 0)``    ``{``        ``rev = rev * 10 + num % 10;``        ``num /= 10;``    ``}``    ``return` `rev;``}` `// To square number``int` `square(``int` `num)``{``    ``return` `(num * num);``}` `// To check Adam Number``bool` `checkAdamNumber(``int` `num)``{``    ``// Square first number and square``    ``// reverse digits of second number``    ``int` `a = square(num);``    ``int` `b = square(reverseDigits(num));``    ` `    ``// If reverse of b equals a then given``    ``// number is Adam number``    ``if` `(a == reverseDigits(b))``    ``return` `true``;``    ``return` `false``;       ``}` `// Driver program to test above functions``int` `main()``{``    ``int` `num = 12;``    ` `    ``if` `(checkAdamNumber(num))``    ``cout << ``"Adam Number"``;``    ``else``    ``cout << ``"Not a Adam Number"``;   ``    ` `    ``return` `0;``}`

## Java

 `// Java program to check Adam Number``public` `class` `Main {``    ``// To reverse Digits of numbers``    ``static` `int` `reverseDigits(``int` `num)``    ``{``        ``int` `rev = ``0``;``        ``while` `(num > ``0``)``        ``{``            ``rev = rev * ``10` `+ num % ``10``;``            ``num /= ``10``;``        ``}``        ``return` `rev;``    ``}` `    ``// To square number``    ``static` `int` `square(``int` `num)``    ``{``        ``return` `(num * num);``    ``}` `    ``// To check Adam Number``    ``static` `boolean` `checkAdamNumber(``int` `num)``    ``{``        ``// Square first number and square``        ``// reverse digits of second number``        ``int` `a = square(num);``        ``int` `b = square(reverseDigits(num));``        ` `        ``// If reverse of b equals a then given``        ``// number is Adam number``        ``if` `(a == reverseDigits(b))``        ``return` `true``;``        ``return` `false``;       ``    ``}` `    ``// Driver program to test above functions``    ``public` `static` `void` `main(String[] args)``    ``{``        ``int` `num = ``12``;``        ` `        ``if` `(checkAdamNumber(num))``        ``System.out.println(``"Adam Number"``);``        ``else``        ``System.out.println(``"Not a Adam Number"``);   ``    ``}` `}`

## Python

 `# Python program to check Adam Number``# To reverse Digits of numbers``def` `reverseDigits(num) :``    ``rev ``=` `0``    ``while` `(num > ``0``) :``        ``rev ``=` `rev ``*` `10` `+` `num ``%` `10``        ``num ``/``=` `10``        ` `    ``return` `rev` `# To square number``def` `square(num) :``    ``return` `(num ``*` `num)``    ` `# To check Adam Number``def` `checkAdamNumber(num) :``    ` `    ``# Square first number and square``    ``# reverse digits of second number``    ``a ``=` `square(num)``    ``b ``=` `square(reverseDigits(num))``        ` `    ``# If reverse of b equals a then given``    ``# number is Adam number``    ``if` `(a ``=``=` `reverseDigits(b)) :``        ``return` `True``    ``else` `:``        ``return` `False` `# Driver program to test above functions``num ``=` `13``if` `(checkAdamNumber(num)) :``    ``print` `"Adam Number"``else` `:``    ``print` `"Not a Adam Number"`  `# This code is contributed by Nikita Tiwari`

## C#

 `// C# Program to Check Adam Number``using` `System;` `public` `class` `main {` `    ``// To reverse Digits of numbers``    ``static` `int` `reverseDigits(``int` `num)``    ``{``        ``int` `rev = 0;``        ``while` `(num > 0)``        ``{``            ``rev = rev * 10 + num % 10;``            ``num /= 10;``        ``}``        ``return` `rev;``    ``}` `    ``// To square number``    ``static` `int` `square(``int` `num)``    ``{``        ``return` `(num * num);``    ``}` `    ``// To check Adam Number``    ``static` `bool` `checkAdamNumber(``int` `num)``    ``{``        ``// Square first number and square``        ``// reverse digits of second number``        ``int` `a = square(num);``        ``int` `b = square(reverseDigits(num));``        ` `        ``// If reverse of b equals a then``        ``// given number is Adam number``        ``if` `(a == reverseDigits(b))``        ``return` `true``;``        ``return` `false``;``    ``}` `    ``// Driver Code``    ``public` `static` `void` `Main(String []args)``    ``{``        ``int` `num = 12;``        ` `        ``if` `(checkAdamNumber(num))``        ``Console.WriteLine(``"Adam Number"``);``        ``else``        ``Console.WriteLine(``"Not a Adam Number"``);``    ``}` `}` `// This code is contributed by vt_m.`

## PHP

 ` 0)``    ``{``        ``\$rev` `= ``\$rev` `* 10 + ``\$num` `% 10;``        ``\$num` `= (int) ``\$num` `/ 10;``    ``}``    ``return` `\$rev``;``}` `// To square number``function` `square(``\$num``)``{``    ``return` `(``\$num` `* ``\$num``);``}` `// To check Adam Number``function` `checkAdamNumber(``\$num``)``{``    ``// Square first number and square``    ``// reverse digits of second number``    ``\$a` `= square(``\$num``);``    ``\$b` `= square(reverseDigits(``\$num``));``    ` `    ``// If reverse of b equals a then``    ``// given number is Adam number``    ``if` `(``\$a` `== reverseDigits(``\$b``))``    ``return` `0;``    ``return` `-1;``}` `// Driver Code``\$num` `= 12;` `if` `(checkAdamNumber(``\$num``))``echo` `"Adam Number"``;``else``echo` `"Not a Adam Number"``;` `// This code is contributed by aj_36``?>`

## Javascript

 ``

Output :

`Adam Number`

This article is contributed by nuclode. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.