题目描述
输入一组勾股数 a,b,c(a,b,c不相等),用分数格式输出其较小锐角的正弦值。(要求约分。)
输入格式
一行,包含三个正整数,即勾股数 a,b,c(无大小顺序)。
输出格式
一行,包含一个分数,即较小锐角的正弦值
输入
3 5 4
输出
3/5
说明/提示
数据保证:a,b,c 为正整数且 范围为 [1,10^]。
题解: 输入三个勾股数,就认为一个直角三角形,三角函数sin为最小边/最大斜边(小角对小边,大角对大边)。注意约分问题,小边除以大小两边的最大公约数 / 大边除以大小两边的最大公约数(求最大公约数用辗转相除法)。
import java.util.Arrays;
import java.util.Scanner;
public class P1888三角函数 {
public static int gcd(int a,int b) {
if (b==0) return a;
return gcd(b,a%b);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int a[]=new int[3];
for (int i=0;i<3;i++) {
a[i]=in.nextInt();
}
Arrays.sort(a);
System.out.println(a[0]/gcd(a[0],a[2])+"/"+a[2]/gcd(a[0],a[2]));
}
}