Dado un entero n, determine si n es polidivisible o no. En matemáticas, un número se llama Polidivisible si sigue algunas propiedades únicas. El número no debe tener ceros a la izquierda. El número formado por los primeros i dígitos del número de entrada debe ser divisible por i, donde . Si cualquier número sigue estas propiedades, entonces se llama número polidivisible .
Ejemplos:
Input: 345654 Output: 345654 is Polydivisible number. Explanation: The first digit of the number is non-zero. The number formed by the first 2 digits(34) is divisible by 2. The number formed by the first 3 digits(345) is divisible by 3. The number formed by the first 4 digits(3456) is divisible by 4. The number formed by the first 5 digits(34565) is divisible by 5. The number formed by the first 6 digits(345654) is divisible by 6. Input: 130 Output: 130 is Not Polydivisible number. Input: 129 Output: 129 is Polydivisible number.
Enfoque: La idea es muy simple.
- Extraiga todos los dígitos de la array y guárdelos en una array.
- Elija los primeros 2 dígitos y forme un número y verifique si es divisible por 2.
- Seleccione i-ésimo dígito y añádalo al número existente y verifique si el número es divisible por i.
- Si todas las condiciones anteriores se cumplen hasta agotar todos los dígitos, entonces el número dado es polidivisible.
A continuación se muestra la implementación del enfoque anterior.
C++
// CPP program to check whether // a number is polydivisible or not #include <bits/stdc++.h> using namespace std; // function to check polydivisible // number void check_polydivisible(int n) { int N = n; vector<int> digit; // digit extraction of input number while (n > 0) { // store the digits in an array digit.push_back(n % 10); n /= 10; } reverse(digit.begin(), digit.end()); bool flag = true; n = digit[0]; for (int i = 1; i < digit.size(); i++) { // n contains first i digits n = n * 10 + digit[i]; // n should be divisible by i if (n % (i + 1) != 0) { flag = false; break; } } if (flag) cout << N << " is Polydivisible number."; else cout << N << " is Not Polydivisible number."; } int main() { int n = 345654; check_polydivisible(n); }
Java
// Java program to check whether // a number is polydivisible or not import java.util.*; import java.io.*; class GFG { // function to check polydivisible // number static void check_polydivisible(int n) { int N = n; Vector<Integer> digit = new Vector<Integer>(); // digit extraction of input number while (n > 0) { // store the digits in an array digit.add(new Integer(n % 10)); n /= 10; } Collections.reverse(digit); boolean flag = true; n = digit.get(0); for (int i = 1; i < digit.size(); i++) { // n contains first i digits n = n * 10 + digit.get(i); // n should be divisible by i if (n % (i + 1) != 0) { flag = false; break; } } if (flag) System.out.println(N + " is Polydivisible number."); else System.out.println(N + " is Not Polydivisible number."); } // Driver code public static void main (String[] args) { int n = 345654; check_polydivisible(n); } }
Python3
# Python 3 program to check whether # a number is polydivisible or not # function to check polydivisible # number def check_polydivisible(n): N = n digit = [] # digit extraction of input number while (n > 0): # store the digits in an array digit.append(n % 10) n //= 10 digit = digit[::-1] flag = True n = digit[0] for i in range(1, len(digit), 1): # n contains first i digits n = n * 10 + digit[i] # n should be divisible by i if (n % (i + 1) != 0): flag = False break if (flag): print(N, "is Polydivisible number.") else: print(N, "is Not Polydivisible number.") # Driver Code if __name__ == '__main__': n = 345654 check_polydivisible(n) # This code is contributed by # Sahil_Shelangia # Improved by Madhushree Sannigrahi
C#
// C# program to check whether // a number is polydivisible or not using System; using System.Collections.Generic; class GFG { // function to check polydivisible // number static void check_polydivisible(int n) { int N = n; List<int> digit = new List<int>(); // digit extraction of input number while (n > 0) { // store the digits in an array digit.Add((int)n % 10); n /= 10; } digit.Reverse(); bool flag = true; n = digit[0]; for (int i = 1; i < digit.Count; i++) { // n contains first i digits n = n * 10 + digit[i]; // n should be divisible by i if (n % (i + 1) != 0) { flag = false; break; } } if (flag) Console.WriteLine(N + " is Polydivisible number."); else Console.WriteLine(N + " is Not Polydivisible number."); } // Driver code public static void Main (String[] args) { int n = 345654; check_polydivisible(n); } } // This code is contributed by Rajput-Ji
Javascript
<script> // Javascript program to check whether // a number is polydivisible or not // function to check polydivisible // number function check_polydivisible(n) { let N = n; let digit = []; // digit extraction of input number while (n > 0) { // store the digits in an array digit.push(n % 10); n = parseInt(n / 10, 10); } digit.reverse(); let flag = true; n = digit[0]; for (let i = 1; i < digit.length; i++) { // n contains first i digits n = n * 10 + digit[i]; // n should be divisible by i if (n % (i + 1) != 0) { flag = false; break; } } if (flag) document.write(N + " is Polydivisible number." + "</br>"); else document.write(N + " is Not Polydivisible number."); } let n = 345654; check_polydivisible(n); </script>
Producción:
345654 is Polydivisible number.
Publicación traducida automáticamente
Artículo escrito por jaideeppyne1997 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA