Java實驗之判斷相似三角形
阿新 • • 發佈:2018-12-14
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
tips:先排好順序,然後再進行是否能構成三角形以及對應的邊是否成比例即可,在判斷相似的時候最好用乘法來判斷,比較方便些;
import java.util.*; class Judge{ public int su(int a,int b,int c) { if((a+b>c)&&(c-b<a)) return 1; else return 0; } public int ju(int a1,int b1,int c1,int a2,int b2,int c2) { if((a1*b2==b1*a2)&&(b1*c2==c1*b2)) return 1; else return 0; } } public class Main { public static void main(String[] args) { Scanner cin=new Scanner(System.in); Judge j=new Judge(); int a1,b1,c1,a2,b2,c2,t; while(cin.hasNext()) { a1=cin.nextInt(); b1=cin.nextInt(); c1=cin.nextInt(); a2=cin.nextInt(); b2=cin.nextInt(); c2=cin.nextInt(); if(a1 > c1){ t = a1; a1 = c1; c1 = t; } if(b1 > c1){ t = b1; b1 = c1; c1 = t; } if(a1 > b1){ t = a1; a1 = b1; b1 = t; } if(a2 > c2){ t = a2; a2 = c2; c2 = t; } if(b2 > c2){ t = b2; b2 = c2; c2 = t; } if(a2 > b2){ t = a2; a2 = b2; b2 = t; } if(j.su(a1, b1, c1)==1&&j.su(a2, b2, c2)==1) { if(j.ju(a1, b1, c1, a2, b2, c2)==1) System.out.println("YES"); else System.out.println("NO"); } else System.out.println("NO"); } } }