Se da un cierto número y la tarea es contar los dígitos pares y los dígitos impares del número y también los dígitos pares están presentes incluso un número de veces y, de manera similar, para los números impares.
Print Yes If: If number contains even digits even number of time Odd digits odd number of times Else Print No
Ejemplos:
Input : 22233 Output : NO count_even_digits = 3 count_odd_digits = 2 In this number even digits occur odd number of times and odd digits occur even number of times so its print NO. Input : 44555 Output : YES count_even_digits = 2 count_odd_digits = 3 In this number even digits occur even number of times and odd digits occur odd number of times so its print YES.
Solución eficiente para calcular dígitos pares e impares en un número.
C++
// C++ program to count // even and odd digits // in a given number #include <iostream> using namespace std; // Function to count digits int countEvenOdd(int n) { int even_count = 0; int odd_count = 0; while (n > 0) { int rem = n % 10; if (rem % 2 == 0) even_count++; else odd_count++; n = n / 10; } cout << "Even count : " << even_count; cout << "\nOdd count : " << odd_count; if (even_count % 2 == 0 && odd_count % 2 != 0) return 1; else return 0; } // Driver Code int main() { int n; n = 2335453; int t = countEvenOdd(n); if (t == 1) cout << "\nYES" << endl; else cout << "\nNO" << endl; return 0; }
Java
// Java program to count // even and odd digits // in a given number import java.io.*; class GFG { // Function to count digits static int countEvenOdd(int n) { int even_count = 0; int odd_count = 0; while (n > 0) { int rem = n % 10; if (rem % 2 == 0) even_count++; else odd_count++; n = n / 10; } System.out.println ( "Even count : " + even_count); System.out.println ( "Odd count : " + odd_count); if (even_count % 2 == 0 && odd_count % 2 != 0) return 1; else return 0; } // Driver Code public static void main (String[] args) { int n; n = 2335453; int t = countEvenOdd(n); if (t == 1) System.out.println ( "YES" ); else System.out.println( "NO") ; } }
Python3
# python program to count even and # odd digits in a given number # Function to count digits def countEvenOdd(n): even_count = 0 odd_count = 0 while (n > 0): rem = n % 10 if (rem % 2 == 0): even_count += 1 else: odd_count += 1 n = int(n / 10) print( "Even count : " , even_count) print("\nOdd count : " , odd_count) if (even_count % 2 == 0 and odd_count % 2 != 0): return 1 else: return 0 # Driver code n = 2335453; t = countEvenOdd(n); if (t == 1): print("YES") else: print("NO") # This code is contributed by Sam007.
C#
// C# program to count even and // odd digits in a given number using System; class GFG { // Function to count digits static int countEvenOdd(int n) { int even_count = 0; int odd_count = 0; while (n > 0) { int rem = n % 10; if (rem % 2 == 0) even_count++; else odd_count++; n = n / 10; } Console.WriteLine("Even count : " + even_count); Console.WriteLine("Odd count : " + odd_count); if (even_count % 2 == 0 && odd_count % 2 != 0) return 1; else return 0; } // Driver Code public static void Main () { int n; n = 2335453; int t = countEvenOdd(n); if (t == 1) Console.WriteLine ("YES"); else Console.WriteLine("NO") ; } } // This code is contributed by vt_m.
PHP
<?php // PHP program to count // even and odd digits // in a given number // Function to count digits function countEvenOdd($n) { $even_count = 0; $odd_count = 0; while ($n > 0) { $rem = $n % 10; if ($rem % 2 == 0) $even_count++; else $odd_count++; $n = (int)($n / 10); } echo("Even count : " . $even_count); echo("\nOdd count : " . $odd_count); if ($even_count % 2 == 0 && $odd_count % 2 != 0) return 1; else return 0; } // Driver code $n = 2335453; $t = countEvenOdd($n); if ($t == 1) echo("\nYES"); else echo("\nNO"); // This code is contributed by Ajit. ?>
Javascript
<script> /// Javascript program to count // even and odd digits // in a given number // Function to count digits function countEvenOdd(n) { let even_count = 0; let odd_count = 0; while (n > 0) { let rem = n % 10; if (rem % 2 == 0) even_count++; else odd_count++; n = Math.floor(n / 10); } document.write("Even count : " + even_count); document.write("<br>" + "Odd count : " + odd_count); if (even_count % 2 == 0 && odd_count % 2 != 0) return 1; else return 0; } // Driver Code let n; n = 2335453; let t = countEvenOdd(n); if (t == 1) document.write("<br>" + "YES" + "<br>"); else document.write("<br>"+"NO" + "<br>"); // This code is contributed by Mayank Tyagi </script>
Even count : 2 Odd count : 5 YES
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(1)
Otra solución para resolver este problema es una array o string de caracteres.
C++
// C++ program to count // even and odd digits // in a given number // using char array #include <bits/stdc++.h> using namespace std; // Function to count digits int countEvenOdd(char num[], int n) { int even_count = 0; int odd_count = 0; for (int i = 0; i < n; i++) { int x = num[i] - 48; if (x % 2 == 0) even_count++; else odd_count++; } cout << "Even count : " << even_count; cout << "\nOdd count : " << odd_count; if (even_count % 2 == 0 && odd_count % 2 != 0) return 1; else return 0; } // Driver Code int main() { char num[18] = { 1, 2, 3 }; int n = strlen(num); int t = countEvenOdd(num, n); if (t == 1) cout << "\nYES" << endl; else cout << "\nNO" << endl; return 0; }
Java
// Java program to count // even and odd digits // in a given number // using char array import java.io.*; class GFG { // Function to count digits static int countEvenOdd(char num[], int n) { int even_count = 0; int odd_count = 0; for (int i = 0; i < n; i++) { int x = num[i] - 48; if (x % 2 == 0) even_count++; else odd_count++; } System.out.println ("Even count : " + even_count); System.out.println( "Odd count : " + odd_count); if (even_count % 2 == 0 && odd_count % 2 != 0) return 1; else return 0; } // Driver Code public static void main (String[] args) { char num[] = { 1, 2, 3 }; int n = num.length; int t = countEvenOdd(num, n); if (t == 1) System.out.println("YES") ; else System.out.println("NO") ; } } // This code is contributed by vt_m
Python3
# Python3 program to count # even and odd digits # in a given number # using char array # Function to count digits def countEvenOdd(num, n): even_count = 0; odd_count = 0; num=list(str(num)) for i in num: if i in ('0','2','4','6','8'): even_count+=1 else: odd_count+=1 print("Even count : ", even_count); print("Odd count : ", odd_count); if (even_count % 2 == 0 and odd_count % 2 != 0): return 1; else: return 0; # Driver Code num = (1, 2, 3); n = len(num); t = countEvenOdd(num, n); if t == 1: print("YES"); else: print("NO"); # This code is contributed by mits.
C#
// C# program to count // even and odd digits // in a given number // using char array using System; class GFG { // Function to count digits static int countEvenOdd(char []num, int n) { int even_count = 0; int odd_count = 0; for (int i = 0; i < n; i++) { int x = num[i] - 48; if (x % 2 == 0) even_count++; else odd_count++; } Console.WriteLine("Even count : " + even_count); Console.WriteLine( "Odd count : " + odd_count); if (even_count % 2 == 0 && odd_count % 2 != 0) return 1; else return 0; } // Driver code public static void Main () { char [] num = { '1', '2', '3' }; int n = num.Length; int t = countEvenOdd(num, n); if (t == 1) Console.WriteLine("YES") ; else Console.WriteLine("NO") ; } } // This code is contributed by Sam007.
PHP
<?php // PHP program to count // even and odd digits // in a given number // using char array // Function to count digits function countEvenOdd($num, $n) { $even_count = 0; $odd_count = 0; for ($i = 0; $i < $n; $i++) { $x = $num[$i] - 48; if ($x % 2 == 0) $even_count++; else $odd_count++; } echo "Even count : " . $even_count; echo "\nOdd count : " . $odd_count; if ($even_count % 2 == 0 && $odd_count % 2 != 0) return 1; else return 0; } // Driver Code $num = array( 1, 2, 3 ); $n = strlen(num); $t = countEvenOdd($num, $n); if ($t == 1) echo "\nYES" ,"\n"; else echo "\nNO" ,"\n"; // This code is contributed by ajit. ?>
Javascript
<script> // Javascript program to count // even and odd digits // in a given number // using char array // Function to count digits function countEvenOdd(num, n) { even_count = 0; odd_count = 0; for(var i = 0; i < n; i++) { x = num[i] - 48; if (x % 2 == 0) even_count++; else odd_count++; } document.write("Even count : " + even_count); document.write("<br>Odd count : " + odd_count); if (even_count % 2 == 0 && odd_count % 2 != 0) return 1; else return 0; } // Driver code var num = [ 1, 2, 3 ]; n = num.length; t = countEvenOdd(num, n); if (t == 1) document.write("<br>YES <br>"); else document.write("<br>NO <br>"); // This code is contributed by akshitsaxenaa09 </script>
Even count : 1 Odd count : 2 NO
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(1)
Método n.º 3: uso de encasillamiento (enfoque simplificado):
- Tenemos que convertir el número dado en una string tomando una nueva variable.
- Atraviese la string, convierta cada elemento en un número entero.
- Si el carácter (dígito) es par, entonces el conteo aumentado
- De lo contrario, incremente el conteo impar.
- Si el conteo par es par y el conteo impar es impar, entonces imprima Sí.
- De lo contrario, imprima no.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of above approach #include<bits/stdc++.h> using namespace std; string getResult(int n) { // Converting integer to String string st = to_string(n); int even_count = 0; int odd_count = 0; // Looping till length of String for(int i = 0; i < st.length(); i++) { if ((st[i] % 2) == 0) // Digit is even so increment even count even_count += 1; else odd_count += 1; } // Checking even count is even and // odd count is odd if (even_count % 2 == 0 && odd_count % 2 != 0) return "Yes"; else return "no"; } // Driver Code int main(){ int n = 77788; // Passing this number to get result function cout<<getResult(n)<<endl; } // This code is contributed by shinjanpatra.
Java
// Java implementation of above approach class GFG{ static String getResult(int n) { // Converting integer to String String st = String.valueOf(n); int even_count = 0; int odd_count = 0; // Looping till length of String for(int i = 0; i < st.length(); i++) { if ((st.charAt(i) % 2) == 0) // Digit is even so increment even count even_count += 1; else odd_count += 1; } // Checking even count is even and // odd count is odd if (even_count % 2 == 0 && odd_count % 2 != 0) return "Yes"; else return "no"; } // Driver Code public static void main(String[] args) { int n = 77788; // Passing this number to get result function System.out.println(getResult(n)); } } // This code is contributed by 29AjayKumar
Python3
# Python implementation of above approach def getResult(n): # Converting integer to string st = str(n) even_count = 0 odd_count = 0 # Looping till length of string for i in range(len(st)): if((int(st[i]) % 2) == 0): # digit is even so increment even count even_count += 1 else: odd_count += 1 # Checking even count is even and odd count is odd if(even_count % 2 == 0 and odd_count % 2 != 0): return 'Yes' else: return 'no' # Driver Code n = 77788 # passing this number to get result function print(getResult(n)) # this code is contributed by vikkycirus
C#
// C# implementation of above approach using System; using System.Collections.Generic; class GFG{ static String getResult(int n) { // Converting integer to String String st = String.Join("",n); int even_count = 0; int odd_count = 0; // Looping till length of String for(int i = 0; i < st.Length; i++) { if ((st[i] % 2) == 0) // Digit is even so increment even count even_count += 1; else odd_count += 1; } // Checking even count is even and // odd count is odd if (even_count % 2 == 0 && odd_count % 2 != 0) return "Yes"; else return "no"; } // Driver Code public static void Main(String[] args) { int n = 77788; // Passing this number to get result function Console.WriteLine(getResult(n)); } } // This code is contributed by Princi Singh
Javascript
<script> // Javascript implementation of above approach function getResult(n) { // Converting integer to String var st = n.toString(); var even_count = 0; var odd_count = 0; // Looping till length of String for(var i = 0; i < st.length; i++) { if ((st.charAt(i) % 2) == 0) // Digit is even so increment even count even_count += 1; else odd_count += 1; } // Checking even count is even and // odd count is odd if (even_count % 2 == 0 && odd_count % 2 != 0) return "Yes"; else return "no"; } // Driver Code var n = 77788; // Passing this number to get result function document.write(getResult(n)); </script>
Yes
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(1)
Este artículo es una contribución de Dharmendra kumar . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su 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