三角函式(歐幾里得演算法)
阿新 • • 發佈:2020-10-21
三角函式
輸入一組勾股數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; }