【洛谷】P1888 三角函数 c++

【洛谷】P1888 三角函数 c++,第1张

题目描述

输入一组勾股数 a,b,c(a≠b≠c),用分数格式输出其较小锐角的正弦值。

(要求约分。

输入格式

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

输出格式

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

输入输出样例

输入 #1

3 5 4

输出 #1

3/5
说明/提示

数据保证:a,b,c 为正整数且∈[1,10⁹]。

解题:

^v^水一道题,初中的直角三角形,最短边比斜边就是最小锐角的正弦值了,也就是题目里的最小值比最大值,可以用数组依次输入,便于找最大最小值。

因为最后输出是要求约分的,所以可以写一个算最大公约数的函数:

int gyins(int a, int b){
    int t = b;
    while (a % b != 0)
    {
        t = a % b;
        a = b;
        b = t;
    }
    return t;
}

AC代码:

#include
using namespace std;

int gyins(int a, int b){
    int t = b;
    while (a % b != 0)
    {
        t = a % b;
        a = b;
        b = t;
    }
    return t;
}

int main(){
    int a[10];
    for (int i = 0; i < 3; i++)
    {
        cin >> a[i];
    }
    int max = 0, min = 1000000000;
    for (int i = 0; i < 3; i++)
    {
        //找到最大的值
        if(a[i] > max){
            max = a[i];
        }
        //找到最小的值
        if(a[i] < min){
            min = a[i];
        }
    }
    int y = gyins(max, min);
    cout << min / y << "/" << max / y;
    return 0;
}

这是很简单的方法,当然也有更好的,待发掘……

题目来源:洛谷

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/674968.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-19
下一篇 2022-04-19

发表评论

登录后才能评论

评论列表(0条)

保存