Número de Disarium

Dado un número “n”, encuentre si es Disarium o no. Un número se llama Disarium si la suma de sus dígitos potenciados con sus respectivas posiciones es igual al propio número.

Ejemplos: 

C++

// C++ program to check whether a number is Disarium
// or not
#include<bits/stdc++.h>
using namespace std;
 
// Finds count of digits in n
int countDigits(int n)
{
    int count_digits = 0;
 
    // Count number of digits in n
    int x = n;
    while (x)
    {
        x = x/10;
 
        // Count the no. of digits
        count_digits++;
    }
    return count_digits;
}
 
// Function to check whether a number is disarium or not
bool check(int n)
{
    // Count digits in n.
    int count_digits = countDigits(n);
 
    // Compute sum of terms like digit multiplied by
    // power of position
    int sum = 0; // Initialize sum of terms
    int x = n;
    while (x)
    {
        // Get the rightmost digit
        int r = x%10;
 
        // Sum the digits by powering according to
        // the positions
        sum = sum + pow(r, count_digits--);
        x = x/10;
    }
 
    // If sum is same as number, then number is
    return (sum == n);
}
 
//Driver code to check if number is disarium or not
int main()
{
    int n = 135;
    if( check(n))
        cout << "Disarium Number";
    else
        cout << "Not a Disarium Number";
    return 0;
}

Java

// Java program to check whether a number is disarium
// or not
 
class Test
{
    // Method to check whether a number is disarium or not
    static boolean check(int n)
    {
        // Count digits in n.
        int count_digits = Integer.toString(n).length();
      
        // Compute sum of terms like digit multiplied by
        // power of position
        int sum = 0; // Initialize sum of terms
        int x = n;
        while (x!=0)
        {
            // Get the rightmost digit
            int r = x%10;
      
            // Sum the digits by powering according to
            // the positions
            sum = (int) (sum + Math.pow(r, count_digits--));
            x = x/10;
        }
      
        // If sum is same as number, then number is
        return (sum == n);
    }
     
    // Driver method
    public static void main(String[] args)
    {
        int n = 135;
         
        System.out.println(check(n) ? "Disarium Number" : "Not a Disarium Number");
    }
}

Python3

# Python program to check whether a number is Disarium
# or not
import math
 
# Method to check whether a number is disarium or not
def check(n) :
 
    # Count digits in n.
    count_digits = len(str(n))
      
    # Compute sum of terms like digit multiplied by
    # power of position
    sum = 0  # Initialize sum of terms
    x = n
    while (x!=0) :
 
        # Get the rightmost digit
        r = x % 10
          
        # Sum the digits by powering according to
        # the positions
        sum = (int) (sum + math.pow(r, count_digits))
        count_digits = count_digits - 1
        x = x//10
        
    # If sum is same as number, then number is
    if sum == n :
        return 1
    else :
        return 0
       
# Driver method
n = 135
if (check(n) == 1) :
    print ("Disarium Number")
else :
    print ("Not a Disarium Number")
  
# This code is contributed by Nikita Tiwari.

C#

// C# program to check whether a number
// is Disarium or not
using System;
 
class GFG{
     
// Method to check whether a number
// is disarium or not
static bool check(int n)
{
     
    // Count digits in n.
    int count_digits = n.ToString().Length;
  
    // Compute sum of terms like digit
    // multiplied by power of position
    // Initialize sum of terms
    int sum = 0;
    int x = n;
     
    while (x != 0)
    {
         
        // Get the rightmost digit
        int r = x % 10;
  
        // Sum the digits by powering according
        // to the positions
        sum = (int)(sum + Math.Pow(
              r, count_digits--));
        x = x / 10;
    }
  
    // If sum is same as number,
    // then number is
    return (sum == n);
}
 
// Driver code
public static void Main(string[] args)
{
    int n = 135;
     
    Console.Write(check(n) ? "Disarium Number" :
                       "Not a Disarium Number");
}
}
 
// This code is contributed by rutvik_56

Javascript

<script>
 
// JavaScript program to check whether a number is Disarium
// or not
// Method to check whether a number is disarium or not
function check(n)
    {
     
        // Count digits in n.
        var count_digits = Number.toString();
      
        // Compute sum of terms like digit multiplied by
        // power of position
        var sum = 0; // Initialize sum of terms
        var x = n;
        while (x!=0)
        {
            // Get the rightmost digit
            var r = x%10;
      
            // Sum the digits by powering according to
            // the positions
            sum = (sum + Math.pow(r, count_digits--));
            x = x/10;
        }
      
        // If sum is same as number, then number is
        return (sum = n);
    }
     
    // Driver method
        var n = 135;
         
        document.write(check(n) ? "Disarium Number" : "Not a Disarium Number");
         
// This code is contributed by shivanisinghss2110
</script>

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *