Determinar si el entero N dado es un número peculiar o no

Dado un número entero N, nuestra tarea es determinar si el número entero N es un número peculiar. Si es así, imprima «sí», de lo contrario, emita «no».
El número peculiar es el número que es tres veces la suma de los dígitos del número. 
Ejemplos:
 

Entrada: N = 27 
Salida: Sí 
Explicación: 
La suma de dígitos para 27 es 9 y 3 * 9 = 27, que es igual a N. Por lo tanto, la salida es sí.
Entrada: N = 36 
Salida: No 
Explicación: 
La suma de dígitos para 36 es 9 y 3 * 9 = 27 que no es igual a N. Por lo tanto, la salida es no. 
 

Enfoque:
para resolver el problema mencionado anteriormente, primero debemos encontrar la suma de los dígitos de un número N. Luego, verifique si la suma de los dígitos del número multiplicada por 3 es en realidad el número N en sí. Si es así, imprima Sí; de lo contrario, la salida es no.
A continuación se muestra la implementación del enfoque anterior: 
 

C++

// C++ implementation to check if the
// number is peculiar
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to find sum of digits
// of a number
int sumDig(int n)
{
    int s = 0;
 
    while (n != 0) {
        s = s + (n % 10);
 
        n = n / 10;
    }
 
    return s;
}
 
// Function to check if the
// number is peculiar
bool Pec(int n)
{
    // Store a duplicate of n
    int dup = n;
 
    int dig = sumDig(n);
 
    if (dig * 3 == dup)
        return true;
 
    else
        return false;
}
 
// Driver code
int main()
{
    int n = 36;
 
    if (Pec(n) == true)
        cout << "Yes" << endl;
 
    else
        cout << "No" << endl;
 
    return 0;
}

Java

// Java implementation to check if the
// number is peculiar
import java.io.*;
 
class GFG{
 
// Function to find sum of digits
// of a number
static int sumDig(int n)
{
    int s = 0;
 
    while (n != 0)
    {
        s = s + (n % 10);
        n = n / 10;
    }
    return s;
}
 
// Function to check if number is peculiar
static boolean Pec(int n)
{
     
    // Store a duplicate of n
    int dup = n;
    int dig = sumDig(n);
 
    if (dig * 3 == dup)
        return true;
    else
        return false;
}
 
// Driver code
public static void main (String[] args)
{
    int n = 36;
 
    if (Pec(n) == true)
        System.out.println("Yes");
    else
        System.out.println("No");
}
}
 
// This code is contributed by shubhamsingh10

Python3

# Python3 implementation to check if the
# number is peculiar
 
# Function to get sum of digits
# of a number
def sumDig(n):
     
    s = 0
    while (n != 0):
        s = s + int(n % 10)
        n = int(n / 10)
     
    return s
     
# Function to check if the 
# number is peculiar    
def Pec(n):
     
    dup = n
    dig = sumDig(n)
 
    if(dig * 3 == dup):
        return "Yes"
    else :
        return "No"
         
# Driver code
n = 36
 
if Pec(n) == True:
    print("Yes")
else:
    print("No")
 
# This code is contributed by grand_master

C#

// C# implementation to check if the
// number is peculiar
using System;
 
class GFG{
 
// Function to find sum of digits
// of a number
static int sumDig(int n)
{
    int s = 0;
 
    while (n != 0)
    {
        s = s + (n % 10);
        n = n / 10;
    }
    return s;
}
 
// Function to check if the number is peculiar
static bool Pec(int n)
{
     
    // Store a duplicate of n
    int dup = n;
    int dig = sumDig(n);
 
    if (dig * 3 == dup)
        return true;
    else
        return false;
}
 
// Driver code
public static void Main()
{
    int n = 36;
 
    if (Pec(n) == true)
        Console.Write("Yes");
    else
        Console.Write("No");
}
}
 
// This code is contributed by Akanksha_Rai

Javascript

<script>
 
// Javascript implementation to check if the
// number is peculiar
 
// Function to find sum of digits
// of a number
function sumDig(n)
{
    var s = 0;
 
    while (n != 0) {
        s = s + (n % 10);
 
        n = parseInt(n / 10);
    }
 
    return s;
}
 
// Function to check if the
// number is peculiar
function Pec(n)
{
    // Store a duplicate of n
    var dup = n;
 
    var dig = sumDig(n);
 
    if (dig * 3 == dup)
        return true;
 
    else
        return false;
}
 
// Driver code
var n = 36;
if (Pec(n) == true)
    document.write( "Yes");
else
    document.write( "No" );
 
// This code is contributed by noob2000.
</script>
Producción: 

No

 

Complejidad de tiempo: O(log 10 n), tiempo utilizado para encontrar la suma de los dígitos de un número
Espacio auxiliar: O(1), ya que no se requiere espacio adicional

Publicación traducida automáticamente

Artículo escrito por thakurabhaysingh445 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 *