Integers – Check Triplets

The program must accept N integers as the input. The program must print Yes if there is at least one triplet (a, b, c) in the given N integers where a2 + b2 = c2. Else the program must print No as the output.

Example Input/Output 1:
Input:
7
5 1 3 6 7 2 4

Output:
Yes

Explanation:
Here the triplet is (3, 4, 5) where 32 + 42 = 52 (9 + 16 = 25).
Hence the output is Yes

Example Input/Output 2:
Input:
8
93 20 76 42 100 12 99 79

Output:
No

Python:

from itertools import combinations
def perfect(i):
    if i[0]**2+i[1]**2==i[2]**2:
        return 1
    elif i[1]**2+i[2]**2==i[0]**2:
        return 1
    elif i[0]**2+i[2]**2==i[1]**2:
        return 1
    else:
        return 0
n=int(input())
l=list(map(int,input().split()))[:n];c=0
comb=combinations(l,3)
for i in list(comb):
    if perfect(i):
        c+=1
        break
if c!=0:print("Yes")
else:print("No")
a=int(input());l=list(map(int,input().split()))
def triplet(l):
    l=[i*i for i in l]
    l.sort()
    for i in range(len(l)-1):
        for j in range(1,len(l)):
            if l[i]+l[j] in l:return 'Yes'
    return 'No';
print(triplet(l))
from itertools import combinations
num=int(input())
b=sorted(map(int,input().split()));c=0
for ele in list(combinations(b,3)):
    if (ele[0]**2)+(ele[1]**2)==(ele[2]**2):
        c=c+1
if c>0:
    print("Yes")
else:
    print("No")
n=int(input());x=[];m=0
l=list(map(int,input().split()))
for i in range(n):x.append(l[i]*l[i])
for i in range(n-1):
    for j in range(i+1,n):
        if l[i]*l[i]+l[j]*l[j] in x:
           print("Yes");m=1;quit()
if m==0:print('No')

C:

#include<stdio.h>
#include <stdlib.h>
int main()
{
    int n;
    scanf("%d",&n);
    int arr[n];
    for(int i=0;i<n;++i)scanf("%d",&arr[i]);
    for(int i=0;i<n-2;++i){
        for(int j=i+1;j<n-1;++j){
            for(int k=j+1;k<n;++k){
                int a=arr[i]*arr[i];
                int b=arr[j]*arr[j];
                int c=arr[k]*arr[k];
                if((a+b) == c || (a+c) ==b || (b+c) ==a){
                    printf("Yes");
                    return;
                }
            }
        }
    }
    printf("No");
    return;
}
#include<stdio.h>
#include <stdlib.h>
int main()
{
    int size,arr[1001],flag=0;
    scanf("%d",&size);
    for(int ind1=0;ind1<size;ind1++){
        scanf("%d ",&arr[ind1]);
    }
    for(int ind1=0;ind1<size;ind1++){
        for(int ind2=ind1+1;ind2<size;ind2++){
            for(int ind3=ind2+1;ind3<size;ind3++){
                int p=(arr[ind1]*arr[ind1]);
                int q=(arr[ind2]*arr[ind2]);
                int r=(arr[ind3]*arr[ind3]);
                if(p+q==r || p+r==q || q+r==p)
                flag=1;
            }
        }
    }
    if(flag==1)
     printf("Yes");
    else
     printf("No");
}
#include<stdio.h>
#include <stdlib.h>
#define check(a,b,c) (a*a+b*b==c*c)?1:0
int main()
{
int num,i,j,k,t,input[101];
scanf("%d",&num);
for(i=0;i<num;i++)
scanf("%d",&input[i]);
for(i=0;i<num-1;i++)
for(j=i+1;j<num;j++)
if(input[i]>input[j])
{
    t=input[i];
    input[i]=input[j];
    input[j]=t;
}
for(i=0;i<num-2;i++)
for(j=i+1;j<num-1;j++)
for(k=j+1;k<num;k++)
{
    if(check(input[i],input[j],input[k]))
    {
        printf("Yes");
        return 0;
    }
}
printf("No");
}

Leave a Reply

Your email address will not be published. Required fields are marked *

More posts. You may also be interested in.