Dado un entero ‘n’, la tarea es verificar si la suma de los dígitos en las posiciones impares (de derecha a izquierda) es primo o no.
Si es primo, escriba «SÍ» o «NO» de lo contrario.
Ejemplos:
Entrada: n = 123
Salida: NO
Como, 1 + 3 = 4 no es primo.
Entrada: n = 42
Salida: SI
Dado que 2 es un número primo.
Método: Primero, encuentre la suma de los dígitos que están en posiciones impares, es decir, 1, 3, 5,… (comenzando desde la derecha).
Si la suma es prima, imprima ‘SÍ’; de lo contrario, imprima ‘NO’.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to do Primality test // for the sum of digits at // odd places of a number #include <bits/stdc++.h> using namespace std; // Function that return sum // of the digits at odd places int sum_odd(int n) { int sum = 0, pos = 1; while (n) { if (pos % 2 == 1) sum += n % 10; n = n / 10; pos++; } return sum; } // Function that returns true // if the number is prime // else false bool check_prime(int n) { // Corner cases if (n <= 1) return false; if (n <= 3) return true; // This condition is checked so that // we can skip middle five // numbers in the below loop if (n % 2 == 0 || n % 3 == 0) return false; for (int i = 5; i * i <= n; i = i + 6) if (n % i == 0 || n % (i + 2) == 0) return false; return true; } // Driver code int main() { int n = 223; // Get the sum of the // digits at odd places int sum = sum_odd(n); if (check_prime(sum)) cout << "YES" << endl; else cout << "NO" << endl; return 0; }
Java
// Java program to do Primality test // for the sum of digits at // odd places of a number import java.io.*; class GFG { // Function that return sum // of the digits at odd places static int sum_odd(int n) { int sum = 0, pos = 1; while (n>0) { if (pos % 2 == 1) sum += n % 10; n = n / 10; pos++; } return sum; } // Function that returns true // if the number is prime // else false static boolean check_prime(int n) { // Corner cases if (n <= 1) return false; if (n <= 3) return true; // This condition is checked so that // we can skip middle five // numbers in the below loop if (n % 2 == 0 || n % 3 == 0) return false; for (int i = 5; i * i <= n; i = i + 6) if (n % i == 0 || n % (i + 2) == 0) return false; return true; } // Driver code public static void main (String[] args) { int n = 223; // Get the sum of the // digits at odd places int sum = sum_odd(n); if (check_prime(sum)) System.out.println ("YES" ); else System.out.println("NO"); } }
Python3
# Python3 program to do Primality test # for the sum of digits at # odd places of a number # Function that return sum # of the digits at odd places def sum_odd(n): sums = 0 pos = 1 while (n!=0): if (pos % 2 == 1): sums += n % 10 n = n // 10 pos+=1 return sums # Function to check if a # number is prime def check_prime(n): # Corner cases if (n <= 1): return False if (n <= 3): return True # This is checked so that we can skip # middle five numbers in below loop if (n % 2 == 0 or n % 3 == 0): return False for i in range(5,n,6): if (n % i == 0 or n % (i + 2) == 0): return False return True #driver code n = 223 # Get the sum of the # digits at odd places sums = sum_odd(n) if (check_prime(sums)): print("YES") else: print("NO") #this code is improved by sahilshelangia
C#
// C# program to do Primality test // for the sum of digits at // odd places of a number using System; public class GFG{ // Function that return sum // of the digits at odd places static int sum_odd(int n) { int sum = 0, pos = 1; while (n>0) { if (pos % 2 == 1) sum += n % 10; n = n / 10; pos++; } return sum; } // Function that returns true // if the number is prime // else false static bool check_prime(int n) { // Corner cases if (n <= 1) return false; if (n <= 3) return true; // This condition is checked so that // we can skip middle five // numbers in the below loop if (n % 2 == 0 || n % 3 == 0) return false; for (int i = 5; i * i <= n; i = i + 6) if (n % i == 0 || n % (i + 2) == 0) return false; return true; } // Driver code static public void Main (){ int n = 223; // Get the sum of the // digits at odd places int sum = sum_odd(n); if (check_prime(sum)) Console.WriteLine("YES" ); else Console.WriteLine("NO"); } }
PHP
<?php // PHP program to do Primality test // for the sum of digits at odd // places of a number // Function that return sum // of the digits at odd places function sum_odd($n) { $sum = 0; $pos = 1; while ($n) { if ($pos % 2 == 1) $sum += $n % 10; $n = (int)($n / 10); $pos++; } return $sum; } // Function that returns true // if the number is prime // else false function check_prime($n) { // Corner cases if ($n <= 1) return false; if ($n <= 3) return true; // This condition is checked so // that we can skip middle five // numbers in the below loop if ($n % 2 == 0 || $n % 3 == 0) return false; for ($i = 5; $i * $i <= $n; $i = ($i + 6)) if ($n % $i == 0 || $n % ($i + 2) == 0) return false; return true; } // Driver code $n = 223; // Get the sum of the // digits at odd places $sum = sum_odd($n); if (check_prime($sum)) echo "YES"; else echo "NO"; // This code is contributed by ajit ?>
Javascript
<script> // JavaScript program to do Primality test // for the sum of digits at // odd places of a number // Function that return sum // of the digits at odd places function sum_odd(n) { let sum = 0, pos = 1; while (n) { if (pos % 2 == 1) sum += n % 10; n = Math.floor(n / 10); pos++; } return sum; } // Function that returns true // if the number is prime // else false function check_prime(n) { // Corner cases if (n <= 1) return false; if (n <= 3) return true; // This condition is checked so that // we can skip middle five // numbers in the below loop if (n % 2 == 0 || n % 3 == 0) return false; for (let i = 5; i * i <= n; i = i + 6) if (n % i == 0 || n % (i + 2) == 0) return false; return true; } // Driver code let n = 223; // Get the sum of the // digits at odd places let sum = sum_odd(n); if (check_prime(sum)) document.write("YES" + "<br>"); else document.write("NO" + "<br>"); // This code is contributed by Surbhi Tyagi. </script>
YES
Complejidad del tiempo: O(log 10 n + sqrt(n))
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por sahilshelangia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA