Dados dos números enteros N y K , la tarea es encontrar el elemento en la K -ésima posición si todos los números impares del 1 al N se escriben en orden creciente seguidos por todos los números pares del 1 al N en orden creciente.
Ejemplos:
Entrada: N = 10, K = 3
Salida: 5
La secuencia requerida es 1, 3, 5, 7, 9, 2, 4, 6, 8 y 10.
Entrada: N = 7, K = 7
Salida: 6
Planteamiento: Se sabe que el N – ésimo número par está dado por 2*K y el N – ésimo número impar está dado por 2*K – 1 . Pero como los números pares se escriben después de (N + 1) / 2 números impares aquí. Por lo tanto, el K – ésimo número par está dado por 2 * (K – (N + 1) / 2) y los números impares seguirán siendo los mismos que 2 * K – 1
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 kth number // from the required sequence int kthNum(int n, int k) { // Count of odd integers // in the sequence int a = (n + 1) / 2; // kth number is even if (k > a) return (2 * (k - a)); // It is odd return (2 * k - 1); } // Driver code int main() { int n = 7, k = 7; cout << kthNum(n, k); return 0; }
Java
// Java implementation of the approach class GFG { // Function to return the kth number // from the required sequence static int kthNum(int n, int k) { // Count of odd integers // in the sequence int a = (n + 1) / 2; // kth number is even if (k > a) return (2 * (k - a)); // It is odd return (2 * k - 1); } // Driver code public static void main(String []args) { int n = 7, k = 7; System.out.println(kthNum(n, k)); } } // This code is contributed by Rajput-Ji
Python3
# Python3 implementation of the approach # Function to return the kth number # from the required sequence def kthNum(n, k) : # Count of odd integers # in the sequence a = (n + 1) // 2; # kth number is even if (k > a) : return (2 * (k - a)); # It is odd return (2 * k - 1); # Driver code if __name__ == "__main__" : n = 7; k = 7; print(kthNum(n, k)); # This code is contributed by AnkitRai01
C#
// C# implementation of the approach using System; class GFG { // Function to return the kth number // from the required sequence static int kthNum(int n, int k) { // Count of odd integers // in the sequence int a = (n + 1) / 2; // kth number is even if (k > a) return (2 * (k - a)); // It is odd return (2 * k - 1); } // Driver code public static void Main(String []args) { int n = 7, k = 7; Console.WriteLine(kthNum(n, k)); } } // This code is contributed by PrinciRaj1992
Javascript
<script> // Javascript implementation of the approach // Function to return the kth number // from the required sequence function kthNum(n, k) { // Count of odd integers // in the sequence var a = (n + 1) / 2; // kth number is even if (k > a) return (2 * (k - a)); // It is odd return (2 * k - 1); } // Driver code var n = 7, k = 7; document.write(kthNum(n, k)); </script>
6
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)