80求助

P1888 三角函数

@[liruizhou123](/user/1053122) 要化到最简
by wannacry_ @ 2023-09-09 09:00:08


@[liruizhou123](/user/1053122) **要求约分。**
by GoodLuckCat @ 2023-09-09 09:00:21


你可以同除一个最大公因数
by wannacry_ @ 2023-09-09 09:00:35


这道题看似之差20分,实际是差之毫厘,谬以千里.\ 正常来说,代码是没有问题的,但是仔细读题,你就会发现这道题的结果是要求约分的.\ 所以说,应该添加一个约分函数,其实就是gcd(最大公因数),然后用gcd函数的return值去除a[0]和a[2]就可以了.\ 上代码: ```cpp #include<bits/stdc++.h> using namespace std; int gcd(int a,int b) // gcd函数 { if (a % b == 0) { return b; } return gcd(b,a % b); } int main(){ int n,a[3]; cin>>a[0]>>a[1]>>a[2]; sort(a,a+3); int gcdNum = gcd(a[0],a[2]); cout<<a[0] / gcdNum<<'/'<<a[2] / gcdNum; } ``` AC.
by Jacky_luogu @ 2023-09-10 14:24:53


我这个最简单,你们参考一下,全绿无红 ```cpp #include<bits/stdc++.h> using namespace std; int main(){ int a,b,c,d,e,f; cin>>a>>b>>c; for(int i=100;i>=1;i--){ if(a%i==0&&b%i==0&&c%i==0){ d=a/i; e=b/i; f=c/i; cout<<min(d,min(e,f))<<"/"<<max(d,max(e,f)); return 0; } } cout<<min(a,min(b,c))<<"/"<<max(a,max(b,c)); return 0; } ```
by heheya @ 2023-10-17 12:32:54


@[wannacry_](/user/350314) @[Huyuhao0215](/user/916579) @[Jacky_luogu](/user/1008766) @[heheya](/user/970434) 给你们推荐一下[我的贴](https://www.luogu.com.cn/discuss/786992)
by Dumbo @ 2024-03-04 20:40:10


@[Dumbo](/user/726044) 草 都过了几个月了 我都忘了这个帖子了 怎么还有人 at 我
by GoodLuckCat @ 2024-03-04 21:32:05


@[Huyuhao0215](/user/916579) 因为我正巧看到了
by Dumbo @ 2024-03-05 19:14:31


|