Dado un número N , la tarea es verificar si el número es divisible por 31 o no.
Ejemplos:
Entrada: N = 1922
Salida: Sí
Explicación:
31 * 62 = 1922
Entrada: N = 2722400
Salida: No
Enfoque: La prueba de divisibilidad de 31 es:
- Extraiga el último dígito.
- Resta 3 * último dígito del número restante obtenido después de quitar el último dígito.
- Repita los pasos anteriores hasta obtener un número de dos dígitos, o cero.
- Si el número de dos dígitos es divisible por 31, o es 0, entonces el número original también es divisible por 31.
Por ejemplo:
If N = 49507 Step 1: N = 49507 Last digit = 7 Remaining number = 4950 Subtracting 3 times last digit Resultant number = 4950 - 3*7 = 4929 Step 2: N = 4929 Last digit = 9 Remaining number = 492 Subtracting 3 times last digit Resultant number = 492 - 3*9 = 465 Step 3: N = 465 Last digit = 5 Remaining number = 46 Subtracting 3 times last digit Resultant number = 46 - 3*5 = 31 Step 4: N = 31 Since N is a two-digit number, and 31 is divisible by 31 Therefore N = 49507 is also divisible by 31
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to check whether a number // is divisible by 31 or not #include<bits/stdc++.h> #include<stdlib.h> using namespace std; // Function to check if the number is divisible by 31 or not bool isDivisible(int n) { int d; // While there are at least two digits while (n / 100) { // Extracting the last d = n % 10; // Truncating the number n /= 10; // Subtracting three times the last // digit to the remaining number n = abs(n-(d * 3)); } // Finally return if the two-digit // number is divisible by 31 or not return (n % 31 == 0) ; } // Driver Code int main() { int N = 1922; if (isDivisible(N)) cout<<"Yes"<<endl ; else cout<<"No"<<endl ; return 0; } // This code is contributed by ANKITKUMAR34
Java
// Java program to check whether a number // is divisible by 31 or not import java.util.*; class GFG{ // Function to check if the number is divisible by 31 or not static boolean isDivisible(int n) { int d; // While there are at least two digits while ((n / 100) > 0) { // Extracting the last d = n % 10; // Truncating the number n /= 10; // Subtracting three times the last // digit to the remaining number n = Math.abs(n - (d * 3)); } // Finally return if the two-digit // number is divisible by 31 or not return (n % 31 == 0) ; } // Driver Code public static void main(String[] args) { int N = 1922; if (isDivisible(N)) System.out.print("Yes"); else System.out.print("No"); } } // This code is contributed by PrinciRaj1992
Python 3
# Python program to check whether a number # is divisible by 31 or not # Function to check if the number is # divisible by 31 or not def isDivisible(n) : # While there are at least two digits while n // 100 : # Extracting the last d = n % 10 # Truncating the number n //= 10 # Subtracting three times the last # digit to the remaining number n = abs(n-(d * 3)) # Finally return if the two-digit # number is divisible by 31 or not return (n % 31 == 0) # Driver Code if __name__ == "__main__" : n = 1922 if (isDivisible(n)) : print("Yes") else : print("No")
C#
// C# program to check whether a number // is divisible by 31 or not using System; class GFG{ // Function to check if the number is divisible by 31 or not static bool isDivisible(int n) { int d; // While there are at least two digits while ((n / 100) > 0) { // Extracting the last d = n % 10; // Truncating the number n /= 10; // Subtracting three times the last // digit to the remaining number n = Math.Abs(n - (d * 3)); } // Finally return if the two-digit // number is divisible by 31 or not return (n % 31 == 0) ; } // Driver Code public static void Main(String[] args) { int N = 1922; if (isDivisible(N)) Console.Write("Yes"); else Console.Write("No"); } } // This code is contributed by Rajput-Ji
Javascript
<script> // Javascript program to check whether a number // is divisible by 31 or not // Function to check if the number is divisible by 31 or not function isDivisible(n) { let d; // While there are at least two digits while (Math.floor(n / 100) > 0) { // Extracting the last d = n % 10; // Truncating the number n = Math.floor(n / 10); // Subtracting three times the last // digit to the remaining number n = Math.abs(n - (d * 3)); } // Finally return if the two-digit // number is divisible by 31 or not return (n % 31 == 0) ; } // Driver Code let N = 1922; if (isDivisible(N) != 0) document.write("Yes") ; else document.write("No"); // This code is contributed by sanjoy_62. </script>
Producción:
Yes
Complejidad de tiempo: O (log 10 N)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por virusbuddha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA