Dado un entero positivo N , la tarea es representar la fracción 2/N como la suma de tres enteros positivos distintos de la forma 1/m, es decir (2/N) = (1/x) + (1/y) + ( 1 / z) e imprima x , y y z .
Ejemplos:
Entrada: N = 3
Salida: 3 4 12
(1 / 3) + (1 / 4) + (1 / 12) = ((4 + 3 + 1) / 12)
= (8 / 12) = (2 / 3 ) es decir, 2 / N
Entrada: N = 28
Salida: 28 29 812
Enfoque: Se puede inferir fácilmente que para N = 1 , no habrá solución. Para N > 1 , (2/N) se puede representar como (1/N) + (1/N) y el problema se reduce a representarlo como una suma de dos fracciones. Ahora, encuentre la diferencia entre (1/N) y 1/(N + 1) y obtenga la fracción 1/(N * (N + 1)) . Por lo tanto, la solución es (2 / N) = (1 / N) + (1 / (N + 1)) + (1 / (N * (N + 1))) donde x = N , y = N + 1 y z = norte * (norte + 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 find the required fractions void find_numbers(int N) { // Base condition if (N == 1) { cout << -1; } // For N > 1 else { cout << N << " " << N + 1 << " " << N * (N + 1); } } // Driver code int main() { int N = 5; find_numbers(N); return 0; }
Java
// Java implementation of the approach class GFG { // Function to find the required fractions static void find_numbers(int N) { // Base condition if (N == 1) { System.out.print(-1); } // For N > 1 else { System.out.print(N + " " + (N + 1) + " " + (N * (N + 1))); } } // Driver code public static void main(String []args) { int N = 5; find_numbers(N); } } // This code is contributed by Rajput-Ji
Python3
# Python3 implementation of the approach # Function to find the required fractions def find_numbers(N) : # Base condition if (N == 1) : print(-1, end = ""); # For N > 1 else : print(N, N + 1 , N * (N + 1)); # Driver code if __name__ == "__main__" : N = 5; find_numbers(N); # This code is contributed by AnkitRai01
C#
// C# implementation of the approach using System; class GFG { // Function to find the required fractions static void find_numbers(int N) { // Base condition if (N == 1) { Console.Write(-1); } // For N > 1 else { Console.Write(N + " " + (N + 1) + " " + (N * (N + 1))); } } // Driver code public static void Main(String []args) { int N = 5; find_numbers(N); } } // This code is contributed by PrinciRaj1992
Javascript
<script> // javascript implementation of the approach // Function to find the required fractions function find_numbers(N) { // Base condition if (N == 1) { document.write(-1); } // For N > 1 else { document.write(N + " " + (N + 1) + " " + (N * (N + 1))); } } // Driver code var N = 5; find_numbers(N); // This code is contributed by gauravrajput1 </script>
5 6 30
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por koulick_sadhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA