Рубрики

Число дисариума

По заданному числу «n» определите, является ли это Disarium или нет. Число называется Disarium, если сумма его цифр, приведенных в действие в соответствующих позициях, равна самому числу.

Примеры:

Input   : n = 135
Output  : Yes 
1^1 + 3^2 + 5^3 = 135
Therefore, 135 is a Disarium number

Input   : n = 89
Output  : Yes 
8^1+9^2 = 89
Therefore, 89 is a Disarium number

Input   : n = 80
Output  : No
8^1 + 0^2 = 8

Идея состоит в том, чтобы набрать первые цифры в заданных числах. Как только у нас есть счетчик, мы пересекаем все цифры справа вправо (используя оператор%), увеличиваем его мощность до счетчика цифр и уменьшаем счетчик цифр.

Ниже приведена реализация вышеуказанной идеи.

C ++

// C ++ программа для проверки, является ли число Desoriam
// или не
#include<bits/stdc++.h>

using namespace std;

  
// Находит количество цифр в n

int countDigits(int n)

{

    int count_digits = 0;

  

    // Подсчитать количество цифр в n

    int x = n;

    while (x)

    {

        x = x/10;

  

        // Подсчитать номер из цифр

        count_digits++;

    }

    return count_digits;

}

  
// Функция для проверки, является ли число дизарием или нет

bool check(int n)

{

    // Считаем цифры в n.

    int count_digits = countDigits(n);

  

    // Вычисляем сумму таких терминов, как цифра, умноженная на

    // сила положения

    int sum = 0; // Инициализируем сумму условий

    int x = n;

    while (x)

    {

        // Получить самую правую цифру

        int r = x%10;

  

        // Суммируем цифры в соответствии с

        // позиции

        sum = sum + pow(r, count_digits--);

        x = x/10;

    }

  

    // Если сумма равна числу, то число равно

    return (sum == n);

}

  
// Код драйвера для проверки, является ли число дизарием или нет

int main()

{

    int n = 135;

    if( check(n))

        cout << "Disarium Number";

    else

        cout << "Not a Disarium Number";

    return 0;

}

Джава

// Java-программа для проверки, является ли номер Desoriam
// или не

  

class Test

{

    // Метод для проверки, является ли число дизарием или нет

    static boolean check(int n)

    {

        // Считаем цифры в n.

        int count_digits = Integer.toString(n).length();

       

        // Вычисляем сумму таких терминов, как цифра, умноженная на

        // сила положения

        int sum = 0; // Инициализируем сумму условий

        int x = n;

        while (x!=0)

        {

            // Получить самую правую цифру

            int r = x%10;

       

            // Суммируем цифры в соответствии с

            // позиции

            sum = (int) (sum + Math.pow(r, count_digits--));

            x = x/10;

        }

       

        // Если сумма равна числу, то число равно

        return (sum == n);

    }

      

    // Метод драйвера

    public static void main(String[] args) 

    {

        int n = 135;

          

        System.out.println(check(n) ? "Disarium Number" : "Not a Disarium Number");

    }

}

питон

# Программа Python для проверки, является ли число Desarium
# или не

import math 

  
# Метод проверки, является ли число дизарием или нет

def check(n) :

  

    # Количество цифр в n.

    count_digits = len(str(n))

       

    # Вычислить сумму таких терминов, как цифра, умноженная на

    # сила положения

    sum = 0  # Инициализировать сумму условий

    x = n

    while (x!=0) :

  

        # Получить самую правую цифру

        r = x % 10

           

        # Суммируйте цифры путем включения в соответствии с

        # должности

        sum = (int) (sum + math.pow(r, count_digits))

        count_digits = count_digits - 1

        x = x/10

         

    # Если сумма равна числу, то число равно

    if sum == n :

        return 1

    else :

        return 0

        
# Метод драйвера

n = 135

if (check(n) == 1) :

    print "Disarium Number"

else :

    print "Not a Disarium Number"

   
# Этот код предоставлен Никитой Тивари.


Выход:

Disarium Number

Эта статья предоставлена Сахилом Чхаброй (KILLER) . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Число дисариума

0.00 (0%) 0 votes