题目
原题地址
题目描述
输入一组勾股数a,b,c(a≠b≠c),用分数格式输出其较小锐角的正弦值。(要求约分。)
输入输出格式
输入格式:
一行,包含三个数,即勾股数a,b,c(无大小顺序)。
输出格式:
一行,包含一个数,即较小锐角的正弦值
输入输出样例
输入样例#1:
3 5 4
输出样例#1:
3/5
题解
妹的正弦值是什么玩意儿。。。搞好久才反应过来是sin,这还是在个 Rt △ △ 里面算,连三角函数都省了,直接拿最短边除最长边即可。结果要约分,我在获取数据的时候就直接把俩数除以gcd了。本来我还写了判断结果能不能整除的逻辑,后来一想,整除个P啊,小数除大数能整除都有鬼了好吧。。。。。果然日常智障。
代码
#include <iostream>
#include <algorithm>
#include <iterator>
using namespace std;
int gcd(int a, int b){
if(b == 0)
return a;
else
return gcd(b, a%b);
}
int main(int argc, const char * argv[]) {
int iar[3] = {-1};
cin >> iar[0] >> iar[1] >> iar[2];
sort(begin(iar), end(iar));
int temp = gcd(iar[0], iar[2]);
iar[0] /= temp; iar[2]/= temp;
cout << iar[0] << '/' << iar[2];
return 0;
}