洛谷:三角函数,C语言
題目描述
?????輸入一組勾股數(shù) a,b,c(abc),用分?jǐn)?shù)格式輸出其較小銳角的正弦值。(要求約分。)
輸入格式
一行,包含三個(gè)正整數(shù),即勾股數(shù) a,b,c(無(wú)大小順序)。
輸出格式
一行,包含一個(gè)分?jǐn)?shù),即較小銳角的正弦值
輸入輸出樣例
輸入 #1
3 5 4輸出 #1
3/5說(shuō)明/提示
數(shù)據(jù)保證:a,b,c 為正整數(shù)且 ∈[1,]。
思路:
1.要求輸出較小銳角的 正弦: 最小的直角邊/斜邊,要進(jìn)行排序.
在這里我用了冒泡排序和最笨的方法(一個(gè)一個(gè)比較)排序
2.要求約分:
約分可以有 輾轉(zhuǎn)相除法,和 基礎(chǔ)算法
代碼:
法一:輾轉(zhuǎn)相除法 + 冒泡排序
#include<stdio.h> int gcd(int m,int n) {int t;while(n != 0){ t = m % n;m = n;n = t; }return m; }int main() {int a[3],i,j,tmp;scanf("%d%d%d",&a[0],&a[1],&a[2]);for(i = 0;i < 2;i ++)for(j = 0; j < 2 - i;j ++)if(a[j] > a[j+1]){tmp = a[j];a[j] = a[j+1];a[j+1] = tmp;}printf("%d/%d",a[0]/gcd(a[0],a[2]),a[2]/gcd(a[0],a[2]));return 0; }法二:基礎(chǔ)算法
#include<stdio.h>void yuefen(int m,int n) {int i = 0;do{i ++;if(m % i == 0 && n % i == 0){m = m / i;n = n / i;i = 1;} }while(i < n);printf("%d/%d",m,n); }int main() {int a, b, c;scanf("%d%d%d",&a,&b,&c);if(a > b)if(a > c)if(b > c)yuefen(c,a);elseyuefen(b,a);else yuefen(b,c);else if( b < c)yuefen(a,c);else if(a < c)yuefen(a,b);elseyuefen(c,b);return 0; }收獲:
學(xué)會(huì)了輾轉(zhuǎn)相除法:
輾轉(zhuǎn)相除法的原理_Ran-CSDN博客_輾轉(zhuǎn)相除法的原理輾轉(zhuǎn)相除法是求最大公約數(shù)的一種方法。它的具體做法是:用較小數(shù)除較大數(shù),再用出現(xiàn)的余數(shù)(第一余數(shù))去除除數(shù),再用出現(xiàn)的余數(shù)(第二余數(shù))去除第一余數(shù),如此反復(fù),直到最后余數(shù)是0為止。如果是求兩個(gè)數(shù)的最大公約數(shù),那么最后的除數(shù)就是這兩個(gè)數(shù)的最大公約數(shù)。這個(gè)和更相減損術(shù)有著異曲同工之處。原理:首先介紹下更相減損術(shù)的原理,假設(shè)有兩個(gè)數(shù)161和63,我們要求這兩個(gè)數(shù)的最大公因數(shù),不妨假定這個(gè)最大公因數(shù)為m...https://blog.csdn.net/weixin_43886797/article/details/85569998和約分的算法:
C語(yǔ)言約分-化為最簡(jiǎn)分?jǐn)?shù)_Cassiel的博客-CSDN博客_c語(yǔ)言約分C語(yǔ)言中約分成最簡(jiǎn)分?jǐn)?shù)文章目錄==C語(yǔ)言中約分成最簡(jiǎn)分?jǐn)?shù)==基礎(chǔ)算法輾轉(zhuǎn)相除法(歐幾里德算法)基礎(chǔ)算法#include<stdio.h>int main(){ int a, b; int i=0; scanf("%d/%d", &a, &b);do { i++; if(a%i==0&&b%i==0) { a=a/i; b=b/https://blog.csdn.net/weixin_46404263/article/details/107365650
總結(jié)
以上是生活随笔為你收集整理的洛谷:三角函数,C语言的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win7c盘空间越来越小_win7系统C
- 下一篇: 使用gitee部署静态网页