相似三角形(类)

Problem Description

给出两个三角形的三条边,判断是否相似。

Input

多组数据,给出6正个整数,a1,b1,c1,a2,b2,c2,分别代表两个三角形。(边长小于100且无序

Output

如果相似输出YES,如果不相似输出NO,如果三边组不成三角形也输出NO。

Sample Input
1 2 3 2 4 6
3 4 5 6 8 10
3 4 5 7 8 10
Sample Output
NO
YES
NO

import java.util.Arrays;
import java.util.Scanner;  
  
class Triangle{  
    int a, b, c;
    int flag;
    public Triangle(int a[]) {
    	Arrays.sort(a);
    	this.a = a[0];
    	this.b = a[1];
    	this.c = a[2];
    	if(this.a+this.b>this.c&&this.a+this.c>this.b&&this.b+this.c>this.a) {
    		flag = 1;
    	}
    	else {
    		flag = 0;
    	}
    }
    public boolean similar(Triangle t) {
    	if((this.a*t.b==this.b*t.a) && (this.b*t.c==this.c*t.b) && (this.a*t.c==this.c*t.a)) {
    		return true;
    	}
    	else {
    		return false;
    	}
    }
}  
public class Main {  
  
    public static void main(String[] args) {  
        Scanner reader = new Scanner(System.in);  
        int a[] = new int[3];
        int b[] = new int[3];
        while(reader.hasNext()) {
        	for(int i=0; i<3; i++)
        		a[i] = reader.nextInt();
        	for(int i=0; i<3; i++)
        		b[i] = reader.nextInt();
        	Triangle aa = new Triangle(a);
        	Triangle bb = new Triangle(b);
        	if(aa.similar(bb)&&aa.flag==1&&bb.flag==1) {
        		System.out.println("YES");
        	}
        	else {
        		System.out.println("NO");
        	}
        }
    }  
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值