【洛谷 入门2】P1888 三角函数 刺骨的言语ヽ痛彻心扉 2023-01-08 05:18 128阅读 0赞 ## P1888 三角函数 ## **题目描述** 输入一组勾股数 a,b,c(a!= b!= c),用分数格式输出其较小锐角的正弦值。(要求约分。) **输入格式** 一行,包含三个正整数,即勾股数 a,b,c(无大小顺序)。 **输出格式** 一行,包含一个分数,即较小锐角的正弦值 > 输入输出样例 > 输入 > 3 5 4 > 输出 > 3/5 #include<bits/stdc++.h> using namespace std; int gcd(int b,int c) { if(c==0) return b; else return gcd(c,b%c); } // 编写求最大公因数的函数(因为要约分) int main() { int b,a[3]; for(int i=0;i<3;i++) { cin>>a[i]; } sort(a,a+3); b=gcd(a[2],a[0]); a[0]=a[0]/b; a[2]=a[2]/b; cout<<a[0]<<"/"<<a[2]; return 0; } 重点: 1、题目要求约分,所以一定要求出那两条边的**最大公因数**然后分别除以最大公因数才是结果。 2、**较小锐角的正弦值一定是最短的那条边比最长的那条边**,所以可以直接用sort排序好然后最短的就是a\[0\],最长的就是a\[2\]。
还没有评论,来说两句吧...