Dado un entero C , la tarea es encontrar todos los pares posibles (A, B) en el rango [1, C) tales que:
- UN 2 + B 2 = C 2
- A < B
Ejemplos:
Entrada: C = 5
Salida: (3, 4)
Explicación:
(3) 2 + (4) 2 = 9 + 16 = 25 = 5 2Entrada: C = 25
Salida: (15, 20), (7, 24)
Explicación: Ambos pares cumplen las condiciones necesarias.
Acercarse:
- Compruebe todos los valores posibles de A y B en el rango [1, C).
- Almacene todos los pares que satisfagan las condiciones dadas.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to compute // all the possible // pairs that forms a // pythagorean triple // with a given value #include <bits/stdc++.h> using namespace std; // Function to generate all // possible pairs vector<pair<int, int> > Pairs(int C) { // Vector to store all the // possible pairs vector<pair<int, int> > ans; // Checking all the possible // pair in the range of [1, c) for (int i = 1; i < C; i++) { for (int j = i + 1; j < C; j++) { // If the pair satisfies // the condition push it // in the vector if ((i * i) + (j * j) == (C * C)) { ans.push_back(make_pair(i, j)); } } } return ans; } // Driver Program int main() { int C = 13; vector<pair<int, int> > ans = Pairs(C); // If no valid pair exist if (ans.size() == 0) { cout << "No valid pair exist" << endl; return 0; } // Print all valid pairs for (auto i = ans.begin(); i != ans.end(); i++) { cout << "(" << i->first << ", " << i->second << ")" << endl; } return 0; }
Java
// Java program to compute all // the possible pairs that forms // a pythagorean triple with a // given value import java.util.*; class GFG{ static class pair { int first, second; public pair(int first, int second) { this.first = first; this.second = second; } } // Function to generate all // possible pairs static Vector<pair> Pairs(int C) { // Vector to store all the // possible pairs Vector<pair> ans = new Vector<pair>(); // Checking all the possible // pair in the range of [1, c) for(int i = 1; i < C; i++) { for(int j = i + 1; j < C; j++) { // If the pair satisfies // the condition push it // in the vector if ((i * i) + (j * j) == (C * C)) { ans.add(new pair(i, j)); } } } return ans; } // Driver code public static void main(String[] args) { int C = 13; Vector<pair> ans = Pairs(C); // If no valid pair exist if (ans.size() == 0) { System.out.print("No valid pair " + "exist" + "\n"); return; } // Print all valid pairs for(pair i:ans) { System.out.print("(" + i.first + ", " + i.second + ")" + "\n"); } } } // This code is contributed by gauravrajput1
Python3
# Python3 program to compute all # the possible pairs that forms a # pythagorean triple with a given value # Function to generate all # possible pairs def Pairs(C): # Vector to store all the # possible pairs ans = [] # Checking all the possible # pair in the range of [1, c) for i in range(C): for j in range(i + 1, C): # If the pair satisfies # the condition push it # in the vector if ((i * i) + (j * j) == (C * C)): ans.append([i, j]) return ans; # Driver code if __name__=="__main__": C = 13; ans = Pairs(C); # If no valid pair exist if (len(ans) == 0): print("No valid pair exist") exit() # Print all valid pairs for i in range(len(ans)): print("(" + str(ans[i][0]) + ", " + str(ans[i][1]) + ")") # This code is contributed by rutvik_56
C#
// C# program to compute all // the possible pairs that forms // a pythagorean triple with a // given value using System; using System.Collections.Generic; class GFG{ class pair { public int first, second; public pair(int first, int second) { this.first = first; this.second = second; } } // Function to generate all // possible pairs static List<pair> Pairs(int C) { // List to store all the // possible pairs List<pair> ans = new List<pair>(); // Checking all the possible // pair in the range of [1, c) for(int i = 1; i < C; i++) { for(int j = i + 1; j < C; j++) { // If the pair satisfies // the condition push it // in the vector if ((i * i) + (j * j) == (C * C)) { ans.Add(new pair(i, j)); } } } return ans; } // Driver code public static void Main(String[] args) { int C = 13; List<pair> ans = Pairs(C); // If no valid pair exist if (ans.Count == 0) { Console.Write("No valid pair " + "exist" + "\n"); return; } // Print all valid pairs foreach(pair i in ans) { Console.Write("(" + i.first + ", " + i.second + ")" + "\n"); } } } // This code is contributed by PrinciRaj1992
Javascript
<script> // Javascript program to compute // all the possible // pairs that forms a // pythagorean triple // with a given value // Function to generate all // possible pairs function Pairs(C) { // Vector to store all the // possible pairs var ans = []; // Checking all the possible // pair in the range of [1, c) for (var i = 1; i < C; i++) { for (var j = i + 1; j < C; j++) { // If the pair satisfies // the condition push it // in the vector if ((i * i) + (j * j) == (C * C)) { ans.push([i, j]); } } } return ans; } // Driver Program var C = 13; var ans = Pairs(C); // If no valid pair exist if (ans.length == 0) { document.write( "No valid pair exist<br>"); } // Print all valid pairs ans.forEach(x => { document.write( "(" + x[0] + ", " + x[1] + ")" + "<br>"); }); // This code is contributed by noob2000. </script>
Producción:
(5, 12)
Complejidad del Tiempo: O(C 2 )
Publicación traducida automáticamente
Artículo escrito por thakurabhaysingh445 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA