Fazil the tutor of the skill training institute gave an array of integers to one of highly attentive student of his class Rohan and asked him create a programming snippet to find the Pythagorean triplet that satisfies
a2 + b2 = c2.
Rohan is trying hard to impress his tutor Fazil but he is finding it difficult to complete the task.
Can you help Rohan in completing the task?
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" it is Pythagorean Triplet and "No" if not.
#include<stdio.h> #include<stdlib.h> #include<math.h> int a[10000000]; int b[10000000]; extern int Triplet(int ar[],int n); int main(){ int t; scanf("%%d",&t); while(t--){ int n; scanf("%%d",&n); for(int i=0;i<n;i++){ scanf("%%d",&a[i]); a[i]=a[i]*a[i]; } Triplet(a,n); } return 0; } int Triplet(int ar[],int n) { int k=0,i,j,flag=0; for(i=0;i<n-1;i++){ for( j =i+1;j<n;j++){ b[k]=a[i]+a[j]; k++;} } for(i=0;i<n;i++){ int x=0; for(x=0;x<=k;x++){ if(a[i]==b[x]){ printf("Yes\n"); flag=1; break;} } } if(flag==0){ printf("No\n");} }
INPUT_1:
3
5
85 64 132 189 157
6
87 35 6 10 4 12
7
96 110 247 94 15 9 265
OUTPUT:
Yes
No
Yes
INPUT_2:
4
4
25 3 9 13
8
104 129 451 153 103 185 181 341
6
161 124 139 240 112 289
5
117 55 16 33 130
OUTPUT:
No
Yes
Yes
No
ILLUSTRATION