1. 程式人生 > 實用技巧 >三角函式(歐幾里得演算法)

三角函式(歐幾里得演算法)

三角函式

輸入一組勾股數a,b,ca,b,c(a\neq b\neq ca=b=c),用分數格式輸出其最小銳角的正弦值。(要求是最簡分數)

輸入格式

一行,包含三個數,即勾股數a,b,ca,b,c(任意順序)。

輸出格式

一行,包含一個數,即最小銳角的正弦值。

輸出時每行末尾的多餘空格,不影響答案正確性

樣例輸入

3 5 4

樣例輸出

3/5

程式碼:

#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; }