Dadas dos strings s1 y s2 . La tarea es tomar un carácter de la primera string y un carácter de la segunda string, y verificar si la suma de los valores ASCII de ambos caracteres es un número par. Imprime el número total de dichos pares. Tenga en cuenta que ambas strings consisten en alfabetos ingleses en minúsculas.
Ejemplos:
Entrada: s1 = “geeks”, s2 = “para”
Salida: 5
Todos los pares válidos son:
(g, o) -> 103 + 111 = 214
(e, o) -> 101 + 111 = 212
(e, o) -> 101 + 111 = 212
(k, o) -> 107 + 111 = 218
(s, o) -> 115 + 111 = 226
Entrada: s1 = “abcd”, s2 = “swed”
Salida: 8
Acercarse:
- Está claro que para que la suma sea par, ambos valores ascii deben ser pares o ambos deben ser impares.
- Calcule el número total de valores ASCII pares e impares de la primera string. Sean a1 y b1 respectivamente.
- Calcule el número total de valores ASCII pares e impares de la segunda string. Sean a2 y b2 respectivamente.
- Entonces el número total de pares válidos será ((a1 * a2) + (b1 * b2)) .
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; // Function to return the total number of valid pairs int totalPairs(string s1, string s2) { int a1 = 0, b1 = 0; // Count total number of even and odd // ascii values for string s1 for (int i = 0; i < s1.length(); i++) { if (int(s1[i]) % 2 != 0) a1++; else b1++; } int a2 = 0, b2 = 0; // Count total number of even and odd // ascii values for string s2 for (int i = 0; i < s2.length(); i++) { if (int(s2[i]) % 2 != 0) a2++; else b2++; } // Return total valid pairs return ((a1 * a2) + (b1 * b2)); } // Driver code int main() { string s1 = "geeks", s2 = "for"; cout << totalPairs(s1, s2); return 0; }
Java
// Java implementation of the approach class GfG { // Function to return the total number of valid pairs static int totalPairs(String s1, String s2) { int a1 = 0, b1 = 0; // Count total number of even and odd // ascii values for string s1 for (int i = 0; i < s1.length(); i++) { if ((int)s1.charAt(i) % 2 != 0) a1++; else b1++; } int a2 = 0, b2 = 0; // Count total number of even and odd // ascii values for string s2 for (int i = 0; i < s2.length(); i++) { if ((int)s2.charAt(i) % 2 != 0) a2++; else b2++; } // Return total valid pairs return ((a1 * a2) + (b1 * b2)); } // Driver code public static void main(String []args) { String s1 = "geeks", s2 = "for"; System.out.println(totalPairs(s1, s2)); } } // This code is contributed by Rituraj Jain
Python3
# Python3 implementation of the approach # Function to return the total # number of valid pairs def totalPairs(s1, s2) : a1 = 0; b1 = 0; # Count total number of even and # odd ascii values for string s1 for i in range(len(s1)) : if (ord(s1[i]) % 2 != 0) : a1 += 1; else : b1 += 1; a2 = 0 ; b2 = 0; # Count total number of even and odd # ascii values for string s2 for i in range(len(s2)) : if (ord(s2[i]) % 2 != 0) : a2 += 1; else : b2 += 1; # Return total valid pairs return ((a1 * a2) + (b1 * b2)); # Driver code if __name__ == "__main__" : s1 = "geeks"; s2 = "for"; print(totalPairs(s1, s2)); # This code is contributed by Ryuga
C#
// C# implementation of the approach using System; class GfG { // Function to return the total number of valid pairs static int totalPairs(String s1, String s2) { int a1 = 0, b1 = 0; // Count total number of even and odd // ascii values for string s1 for (int i = 0; i < s1.Length; i++) { if ((int)s1[i] % 2 != 0) a1++; else b1++; } int a2 = 0, b2 = 0; // Count total number of even and odd // ascii values for string s2 for (int i = 0; i < s2.Length; i++) { if ((int)s2[i] % 2 != 0) a2++; else b2++; } // Return total valid pairs return ((a1 * a2) + (b1 * b2)); } // Driver code public static void Main(String []args) { String s1 = "geeks", s2 = "for"; Console.WriteLine(totalPairs(s1, s2)); } } // This code is contributed by 29AjayKumar
Javascript
<script> // Javascript implementation of the approach // Function to return the total number of valid pairs function totalPairs(s1, s2) { var a1 = 0, b1 = 0; // Count total number of even and odd // ascii values for string s1 for (var i = 0; i < s1.length; i++) { if ((s1[i].charCodeAt(0)) % 2 != 0) a1++; else b1++; } var a2 = 0, b2 = 0; // Count total number of even and odd // ascii values for string s2 for (var i = 0; i < s2.length; i++) { if ((s2[i].charCodeAt(0)) % 2 != 0) a2++; else b2++; } // Return total valid pairs return ((a1 * a2) + (b1 * b2)); } // Driver code var s1 = "geeks", s2 = "for"; document.write( totalPairs(s1, s2)); </script>
5
Publicación traducida automáticamente
Artículo escrito por Shashank_Sharma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA