📜  自构数

📅  最后修改于: 2021-04-29 13:04:31             🧑  作者: Mango

给定数字N,任务是检查数字是否为自变形数字。当且仅当一个平方的末尾与该数字本身相同的数字时,该数字才称为“自变数字”。

例子 :

Input  : N = 76 
Output : Automorphic
Explanation: As 76*76 = 5776

Input  : N = 25
Output : Automorphic
As 25*25 = 625

Input : N = 7
Output : Not Automorphic
As 7*7 = 49
1. Store the square of given number.
2. Loop until N becomes 0 as we have to match 
   all digits with its square.
    i) Check if (n%10 == sq%10) i.e. last digit 
       of number = last digit of square or not
        a) if not equal, return false.
    ii) Otherwise continue i.e. reduce number and 
        square i.e. n = n/10 and sq = sq/10;
3- Return true if all digits matched.
C++
// C++ program to check if a number is Authomorphic
#include 
using namespace std;
  
// Function to check Automorphic number
bool isAutomorphic(int N)
{
    // Store the square
    int sq = N * N;
  
    // Start Comparing digits
    while (N > 0) {
        // Return false, if any digit of N doesn't
        // match with its square's digits from last
        if (N % 10 != sq % 10)
            return false;
  
        // Reduce N and square
        N /= 10;
        sq /= 10;
    }
  
    return true;
}
  
// Driver code
int main()
{
    int N = 5;
  
    isAutomorphic(N) ? cout << "Automorphic"
                     : cout << "Not Automorphic";
  
    return 0;
}


Java
// Java program to check if a number is Authomorphic
class Test {
    // Function to check Automorphic number
    static boolean isAutomorphic(int N)
    {
        // Store the square
        int sq = N * N;
  
        // Start Comparing digits
        while (N > 0) {
            // Return false, if any digit of N doesn't
            // match with its square's digits from last
            if (N % 10 != sq % 10)
                return false;
  
            // Reduce N and square
            N /= 10;
            sq /= 10;
        }
  
        return true;
    }
  
    // Driver method
    public static void main(String[] args)
    {
        int N = 5;
  
        System.out.println(isAutomorphic(N) ? "Automorphic" : "Not Automorphic");
    }
}


Python
# Python program to check if a number is Authomorphic
   
# Function to check Automorphic number
def isAutomorphic(N) :
  
    # Store the square
    sq = N * N
       
    # Start Comparing digits
    while (N > 0) :
  
        # Return false, if any digit of N doesn't
        # match with its square's digits from last
        if (N % 10 != sq % 10) :
            return False
    
        # Reduce N and square
        N /= 10
        sq /= 10
    
    return True
    
# Driver code
N = 5
if isAutomorphic(N) :
    print "Automorphic"
else :
    print  "Not Automorphic"
       
# This Code is contributed by Nikita Tiwari.


C#
// C# program to check if a
// number is Authomorphic
using System;
  
class GFG {
  
    // Function to check Automorphic number
    static bool isAutomorphic(int N)
    {
  
        // Store the square
        int sq = N * N;
  
        // Start Comparing digits
        while (N > 0) {
            // Return false, if any digit
            // of N doesn't match with its
            // square's digits from last
            if (N % 10 != sq % 10)
                return false;
  
            // Reduce N and square
            N /= 10;
            sq /= 10;
        }
  
        return true;
    }
  
    // Driver Code
    public static void Main()
    {
        int N = 5;
  
        Console.Write(isAutomorphic(N) ? "Automorphic" : "Not Automorphic");
    }
}
  
// This code is Contributed by Nitin Mittal.


PHP
 0)
    {
        // Return false, if any 
        // digit of N doesn't
        // match with its square's
        // digits from last
        if ($N % 10 != $sq % 10)
            return -1;
  
        // Reduce N and square
        $N /= 10;
        $sq /= 10;
    }
  
    return 1;
}
  
// Driver code
$N = 5;
  
$geeks = isAutomorphic($N) ? 
             "Automorphic" : 
          "Not Automorphic";
    echo $geeks;
  
// This code is contributed by ajit
?>


输出 :

Automorphic