Dado un número, la tarea es verificar si el número es divisible por 5. El número de entrada puede ser grande y puede que no sea posible almacenarlo incluso si usamos long long int.
Ejemplos:
Input : n = 56945255 Output : Yes Input : n = 1234567589333150 Output : Yes Input : n = 3635883959606670431112222 Output : No
Dado que el número de entrada puede ser muy grande, no podemos usar n % 5 para verificar si un número es divisible por 5 o no, especialmente en lenguajes como C/C++. La idea se basa en el siguiente hecho.
A number is divisible by 5 if its digits last digit will be 0 or 5 .
Ilustración:
For example, let us consider 769555 Number formed by last digit is = 5 Since 5 is divisible by 5 , answer is YES.
¿Como funciona esto?
Let us consider 5335, we can write it as 5335 = 5*1000 + 3*100 + 3*10 + 5 The proof is based on below observation: Remainder of 10i divided by 5 is 0 if i greater than or equal to one. Note than 10, 100, 1000, ... etc lead to remainder 0 when divided by 5. So remainder of " 5*1000 + 3*100 + 3*10 + 5" divided by 5 is equivalent to remainder of following : 0 + 0 + 0 + 5 = 5 Since 5 is divisible by 5, answer is yes.
A continuación se muestra la implementación de la idea anterior.
C++
// C++ program to find if a number is // divisible by 5 or not #include<bits/stdc++.h> using namespace std; // Function to find that number divisible // by 5 or not. The function assumes that // string length is at least one. bool isDivisibleBy5(string str) { int n = str.length(); return ( ((str[n-1]-'0') == 0) || ((str[n-1]-'0') == 5)); } // Driver code int main() { string str = "76955"; isDivisibleBy5(str)? cout << "Yes" : cout << "No "; return 0; }
Java
// Java program to find if a number is // divisible by 5 or not class IsDivisible { // Function to find that number divisible // by 5 or not. The function assumes that // string length is at least one. static boolean isDivisibleBy5(String str) { int n = str.length(); return ( ((str.charAt(n-1)-'0') == 0) || ((str.charAt(n-1)-'0') == 5)); } // main function public static void main (String[] args) { String str = "76955"; if(isDivisibleBy5(str)) System.out.println("Yes"); else System.out.println("No"); } }
Python3
# Python program to find if a number is # divisible by 5 or not # Function to find that number divisible # by 5 or not. The function assumes that # string length is at least one. def isDivisibleBy5(st) : n = len(st) return ( (st[n-1] == '0') or (st[n-1] == '5')) # Driver code st = "76955" if isDivisibleBy5(st) : print ("Yes") else : print ("No") # This code is contributed by Nikita Tiwari.
C#
// C# program to find if a number is // C# program to find if a number // is divisible by 5 or not. using System; class IsDivisible { // Function to find that number divisible // by 5 or not. The function assumes that // string length is at least one. static bool isDivisibleBy5(String str) { int n = str.Length; return (((str[n - 1] - '0') == 0) || ((str[n - 1] - '0') == 5)); } // Driver Code public static void Main () { String str = "76955"; if(isDivisibleBy5(str)) Console.Write("Yes"); else Console.Write("No"); } } // This code is contributed by Nitin Mittal.
PHP
<?php // PHP program to find if a number // is divisible by 5 or not // Function to find that number divisible // by 5 or not. The function assumes that // string length is at least one. function isDivisibleBy5($str) { $n = strlen($str); return ( (($str[$n-1]-'0') == 0) || (($str[$n-1]-'0') == 5)); } // Driver code $str = "76955"; $x = isDivisibleBy5($str) ? "Yes" : "No"; echo($x); // This code is contributed by Ajit. ?>
Javascript
<script> // Javascript program to find if a number // is divisible by 5 or not // Function to find that number divisible // by 5 or not. The function assumes that // string length is at least one. function isDivisibleBy5(str) { n = str.length; return (((str[n - 1] - '0') == 0) || ((str[n - 1] - '0') == 5)); } // Driver Code var str = "76955"; var x = isDivisibleBy5(str) ? "Yes" : "No"; document.write(x); // This code is contributed by bunnyram19 </script>
Producción:
Yes
Complejidad de tiempo: O (1), ya que no estamos usando ningún bucle para atravesar.
Espacio auxiliar: O(1), ya que no estamos utilizando ningún espacio adicional.
Este artículo es una contribución de DANISH_RAZA . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
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