Dados dos enteros N y K , la tarea es encontrar cualquier K entero impar distinto tal que su suma sea igual a N . Si no existen tales enteros, imprima -1.
Ejemplos:
Entrada: N = 10, K = 2
Salida: 1, 9
Explicación:
Hay dos posibles enteros impares distintos, tales que su suma es igual a N.
Los posibles K enteros pueden ser – {(1, 9), (3, 7 )}
Entrada: N = 5, K = 4
Salida: -1
Explicación:
No existen 4 enteros impares distintos tales que su suma sea 5.
Acercarse:
- La observación clave en este problema es que si N y K tienen diferente paridad , entonces no es posible encontrar K enteros tan distintos que su suma sea igual a N,
- De lo contrario, dichos enteros K- 1 consistirán en los primeros enteros positivos impares K-1
- El K -ésimo número impar será igual a (N – la suma de los primeros (K-1) enteros impares)
Kth Odd number = N - sum of first K-1 integer
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation to find k // odd integers such that their sum is N #include <bits/stdc++.h> using namespace std; // Function to find K odd integers // such that their sum is N void oddIntegers(int n, int k) { // Condition to check if there // exist such K integers if (n % 2 != k % 2) { cout << "-1" << "\n"; return; } int sum = 0; int i = 1; int j = 1; // Loop to find first K-1 // distinct odd integers while (j < k) { sum = sum + i; cout << i << " "; i = i + 2; j++; } // Final Kth odd number int finalOdd = n - sum; cout << finalOdd << "\n"; } // Driver code int main() { int n = 10; int k = 2; oddIntegers(n, k); return 0; }
Java
// Java implementation to find k // odd integers such that their sum is N class GFG { // Function to find K odd integers // such that their sum is N static void oddIntegers(int n, int k) { // Condition to check if there // exist such K integers if (n % 2 != k % 2) { System.out.println("-1"); return; } int sum = 0; int i = 1; int j = 1; // Loop to find first K-1 // distinct odd integers while (j < k) { sum = sum + i; System.out.print(i+" "); i = i + 2; j++; } // Final Kth odd number int finalOdd = n - sum; System.out.println(finalOdd); } // Driver code public static void main (String[] args) { int n = 10; int k = 2; oddIntegers(n, k); } } // This code is contributed by shubhamsingh
Python3
# Python3 implementation to find k # odd integers such that their sum is N # Function to find K odd integers # such that their sum is N def oddIntegers(n, k) : # Condition to check if there # exist such K integers if (n % 2 != k % 2) : print("-1"); return; sum = 0; i = 1; j = 1; # Loop to find first K-1 # distinct odd integers while (j < k) : sum += i; print(i,end= " "); i += 2; j += 1; # Final Kth odd number finalOdd = n - sum; print(finalOdd); # Driver code if __name__ == "__main__" : n = 10; k = 2; oddIntegers(n, k); # This code is contributed by AnkitRai01
C#
// C# implementation to find k // odd integers such that their sum is N using System; class GFG { // Function to find K odd integers // such that their sum is N static void oddints(int n, int k) { // Condition to check if there // exist such K integers if (n % 2 != k % 2) { Console.WriteLine("-1"); return; } int sum = 0; int i = 1; int j = 1; // Loop to find first K-1 // distinct odd integers while (j < k) { sum = sum + i; Console.Write(i+" "); i = i + 2; j++; } // Final Kth odd number int finalOdd = n - sum; Console.WriteLine(finalOdd); } // Driver code public static void Main(String[] args) { int n = 10; int k = 2; oddints(n, k); } } // This code is contributed by PrinciRaj1992
Javascript
<script> // JavaScript implementation to find k // odd integers such that their sum is N // Function to find K odd integers // such that their sum is N function oddIntegers(n , k) { // Condition to check if there // exist such K integers if (n % 2 != k % 2) { document.write("-1"); return; } var sum = 0; var i = 1; var j = 1; // Loop to find first K-1 // distinct odd integers while (j < k) { sum = sum + i; document.write(i + " "); i = i + 2; j++; } // Final Kth odd number var finalOdd = n - sum; document.write(finalOdd); } // Driver code var n = 10; var k = 2; oddIntegers(n, k); // This code contributed by Rajput-Ji </script>
Producción:
1 9
Análisis de rendimiento:
- Complejidad de tiempo: como en el enfoque anterior, hay un ciclo para encontrar tales K enteros impares que toman O (K) tiempo en el peor de los casos. Por lo tanto, la Complejidad del Tiempo será O(K) .
- Complejidad del espacio auxiliar: como en el enfoque anterior, no se utiliza espacio adicional. Por lo tanto, la complejidad del espacio auxiliar será O(1) .
Publicación traducida automáticamente
Artículo escrito por nitinkr8991 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA