Pythagorean Triplet Show Topic Tags Amazon Given an array of integers, write a function that returns true if there is a triplet (a, b, c) that satisfies a2 + b2 = c2. Input: The first line contains 'T' denoting the number of testcases. Then follows description of testcases. Each case begins with a single positive integer N denoting the size of array. The second line contains the N space separated positive integers denoting the elements of array A. Output: For each testcase, print "Yes" or "No" whether it is Pythagorean Triplet or not. Constraints: 1<=T<=50 1<=N<=100 1<=A[i]<=100
Program below:
package test; import java.util.Scanner; public class PythagorianTriplet { private static String findPythagorianTripletInArray(int[] input, int n) { int yesCount = 0; String values = null; for (int i = 0; i < n; i++) { for (int j = i+1; j < n; j++) { for (int k = j+1; k < n; k++) { if (Math.sqrt((input[i] * input[i]) + (input[j] * input[j])) == input[k]) { values = input[i]+" "+input[j]+" "+input[k]; yesCount++; break; } } if(yesCount > 0) break; } if (yesCount > 0) break; } System.out.println(values); if (yesCount > 0) return "Yes"; else return "No"; } public static void main(String[] args) { System.out.println("Enter number of test cases: "); Scanner sc = new Scanner(System.in); int T = sc.nextInt(); for (int i = 0; i < T; i++) { int N = sc.nextInt(); int[] inputArray = new int[N]; for (int j = 0; j < N; j++) { inputArray[j] = sc.nextInt(); } System.out.println(findPythagorianTripletInArray(inputArray, N)); } } }Example: Input: 1 5 3 2 4 6 5 Output: Yes 1 61 42 12 54 69 48 45 63 58 38 60 24 42 30 79 17 36 91 43 89 7 41 43 65 49 47 6 91 30 71 51 7 2 94 49 30 24 85 55 57 41 67 77 32 9 45 40 27 24 38 39 19 83 30 42 34 16 40 59 5 31 78 Output: 45 24 51 Yes
Comments
Post a Comment