三角函数(YZOJ-1055)

【问题描述】

输入一组勾股数 a , b , c a,b,c a,b,c a b c abc abc 互不相等),用分数格式输出其较小锐角的正弦值。(要求约分)

【输入格式】

一行,包含三个正整数,即勾股数 a , b , c a,b,c a,b,c(无大小顺序)。

【输出格式】

一行,包含一个分数,即较小锐角的正弦值

【样例输入】

3 4 5

【样例输出】

3/5

对于 100 % 100\% 100% 的数据保证, a , b , c a,b,c a,b,c 为正整数且 ∈ [ 1 , 1 0 9 ] \in [1,10^9] [1,109]

【参考程序】

#include
using namespace std; 
int main() {
      //求较小锐角的正弦值= 对边/斜边 / 
    int a,b,c,i,ii,h,y,aa,cc; 
    cin>>a>>b>>c; 
    if (a>b){
     h=a;a=b;b=h;} 
    if (a>c){
     h=a;a=c;c=h;} 
    if (b>c){
     h=b;b=c;c=h;} //排序(坚决不用sort)
    aa=a;cc=c;
    for(;aa%cc!=0;) {
     y=aa%cc; aa=cc;cc=y; } //辗转相除法求最大公约数
    a=a/y; c=c/y;
    cout<<a<<"/"<<c;
    return 0;
}

你可能感兴趣的