Número de ese hábito

Dado un entero positivo n, la tarea es verificar si es un número de Thabit. Si el número dado es un número de Thabit, imprima ‘SÍ’; de lo contrario, imprima ‘NO’.
Número de hábito : en matemáticas, un número de hábito es un número entero positivo de la forma 3* 2 n – 1, donde n es un número entero no negativo.
Los primeros números de Thabit son: 
2, 5, 11, 23, 47, 95, 191, 383, 767, 1535, 3071, 6143, 12287, 24575, 49151, 98303, 196607, 393215, 

Ejemplos: 
 

Entrada: 47 
Salida: SI 
Explicación: para n=4, 47 se puede expresar en la forma de 3.2 n -1 como 3.2 4 -1.
Entrada: 65 
Salida: NO 
No existe tal valor de n para el cual 65 pueda expresarse en la forma de 3.2 n – 1 

Acercarse : 
 

  1. Agregue 1 al número dado, ahora el número debe ser de la forma 3*2 n
  2. Divide el número por 3, ahora el número debe ser de la forma 2 n
  3. Verifique si el número es una potencia de 2 o no. Para verificar si el número es una potencia de dos o no, consulte esto.
  4. Si el número es potencia de 2, imprima ‘SÍ’, de lo contrario, ‘NO’.

C++

// CPP program to check if a given
// number is Thabit number or not.
#include <bits/stdc++.h>
using namespace std;
 
// Utility function to check power of two
bool isPowerOfTwo(int n)
{
    return (n && !(n & (n - 1)));
}
 
// function to check if the given number
// is Thabit Number
bool isThabitNumber(int n)
{
    // Add 1 to the number
    n = n + 1;
 
    // Divide the number by 3
    if (n % 3 == 0)
        n = n / 3;
    else
        return false;
 
    // Check if the given number is power of 2
    if (isPowerOfTwo(n))
        return true;
 
    else
        return false;
}
 
// Driver Program
int main()
{
    int n = 47;
    if (isThabitNumber(n))
        cout << "YES";   
    else
        cout << "NO";
 
    return 0;
}

Java

// Java code to check
// for thabit number
 
class GFG {
 
    // Utility function to check power of two
    static boolean isPowerOfTwo(int n)
    {
        return n != 0 && ((n & (n - 1)) == 0);
    }
 
    // function to check if the given number
    // is Thabit Number
    static boolean isThabitNumber(int n)
    {
        // Add 1 to the number
        n = n + 1;
 
        // Divide the number by 3
        if (n % 3 == 0)
            n = n / 3;
        else
            return false;
 
        // Check if the given number is power of 2
        if (isPowerOfTwo(n))
            return true;
 
        else
            return false;
    }
 
    // Driver Program
    public static void main(String[] args)
    {
        int n = 47;
 
        // Check if number is
        // thabit number
 
        if (isThabitNumber(n)) {
            System.out.println("YES");
        }
        else {
            System.out.println("NO");
        }
    }
}

Python3

# Python code to check
# thabit number
 
# Utility function to Check
# power of two
   
def isPowerOfTwo(n):
       
    return (n and (not(n & (n - 1))))
     
     
# function to check if the given number
# is Thabit Number
def isThabitNumber( n ):
 
    # Add 1 to the number
    n = n + 1;
      
    # Divide the number by 3
    if (n % 3 == 0):
        n = n//3;
    else:
       return False
        
       
    # Check if the given number
    # is power of 2 
    if (isPowerOfTwo(n)):
        return True
      
    else:
         return False   
      
         
# Driver Program
n = 47
 
# Check if number is
# thabit number
if (isThabitNumber(n)):
    print("YES")
else: 
    print("NO")

C#

// C# code to check
// thabit number
 
using System;
class GFG {
 
    // Utility function to check power of two
    static bool isPowerOfTwo(int n)
    {
        return n != 0 && ((n & (n - 1)) == 0);
    }
 
    // function to check if the given number
    // is Thabit Number
    static bool isThabitNumber(int n)
    {
        // Add 1 to the number
        n = n + 1;
 
        // Divide the number by 3
        if (n % 3 == 0)
            n = n / 3;
        else
            return false;
 
        // Check if the given number is power of 2
        if (isPowerOfTwo(n))
            return true;
 
        else
            return false;
    }
    // Driver Program
    public static void Main()
    {
        int n = 47;
 
        // Check if number is
        // thabit number
 
        if (isThabitNumber(n)) {
            Console.WriteLine("YES");
        }
        else {
            Console.WriteLine("NO");
        }
    }
}

PHP

<?php
// PHP program to check if a given
// number is Thabit number or not.
 
// Utility function to check
// power of two
function isPowerOfTwo($n)
{
    return ($n && !($n & ($n - 1)));
}
 
// function to check if the
// given number is Thabit Number
function isThabitNumber($n)
{
    // Add 1 to the number
    $n = $n + 1;
 
    // Divide the number by 3
    if ($n % 3 == 0)
        $n = $n / 3;
    else
        return false;
 
    // Check if the given number
    // is power of 2
    if (isPowerOfTwo($n))
        return true;
 
    else
        return false;
}
 
// Driver Code
$n = 47;
if (isThabitNumber($n))
    echo "YES";
else
    echo "NO";
 
// This code is contributed
// by Shashank
?>

Javascript

<script>
 
// Javascript program to check if a given
// number is Thabit number or not.
 
// Utility function to check power of two
function isPowerOfTwo(n)
{
    return (n && !(n & (n - 1)));
}
 
// function to check if the given number
// is Thabit Number
function isThabitNumber(n)
{
    // Add 1 to the number
    n = n + 1;
 
    // Divide the number by 3
    if (n % 3 == 0)
        n = n / 3;
    else
        return false;
 
    // Check if the given number is power of 2
    if (isPowerOfTwo(n))
        return true;
 
    else
        return false;
}
 
// Driver Program
var n = 47;
if (isThabitNumber(n))
    document.write( "YES");   
else
    document.write("NO");
 
</script>
Producción: 

YES

 

Publicación traducida automáticamente

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