zoukankan      html  css  js  c++  java
  • 三角函数

    输入一组勾股数   a,b,c ,用分数格式输出其最小锐角的正弦值。(要求是最简分数)

    输入格式

    一行,包含三个数,即勾股数 a,b,c(任意顺序)。

    输出格式

    一行,包含一个数,即最小锐角的正弦值。

    输出时每行末尾的多余空格,不影响答案正确性

    样例输入

    3 5 4

    样例输出

    3/5

     

    知识点:

    欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。

     

    辗转相除法是利用以下性质来确定两个正整数 a 和 b 的最大公因子的:

    ⒈ 若 r 是 a ÷ b 的余数,且r不为0, 则

    gcd(a,b) = gcd(b,r)

    ⒉ a 和其倍数之最大公因子为 a。

    另一种写法是:

    ⒈ 令r为a/b所得余数(0≤r<b)

    若 r= 0,算法结束;b 即为答案。

    ⒉ 互换:置 a←b,b←r,并返回第一步。

    代码:

    #include<bits/stdc++.h>    //万能库 
    using namespace std;
    int main()
    {
        int a[4];    //数组用来存储三角形三条边    
        for (int i=0;i<3;i++)    //因为是勾股数 一共只有三个数 所以循环三次来读入三个数 
        {
            cin>>a[i];    //把数都存在一个数组 
        }
        sort(a,a+3);    //把三个数从小到大排列 此时a[0]就是最小直角边 a[2]为斜边
        cout<<a[0]/__gcd(a[0],a[2])<<'/'<<a[2]/__gcd(a[0],a[2]);      //因为要约分 所以用gcd(a[0],a[2])取a[0]与a[2]的最大公约数
                                                                     // a[0]/最大公约数的值与a[2]/最大公约数的比值即是约分后的结果 
        return 0;
    }

     

    因上求缘,果上努力~~~~ 作者:每天卷学习,转载请注明原文链接:https://www.cnblogs.com/BlairGrowing/p/12735051.html

  • 相关阅读:
    函数
    特殊集合
    集合
    数组复习
    数组
    IPython--转
    python 单例模式总结
    拼多多笔试题
    python 创建实例--待完善
    转--算法时间复杂度
  • 原文地址:https://www.cnblogs.com/BlairGrowing/p/12735051.html
Copyright © 2011-2022 走看看