三角函数
2023-02-18 16:35:29 时间
输入一组勾股数 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;
}
相关文章
- 通用权限管理系统组件 (GPM - General Permissions Manager) 给信息管理系统加一个初始化的功能,调用存储过程
- 通用权限管理系统组件 (GPM - General Permissions Manager) 中简易员工档案管理模块参考
- 老顽固在13英寸苹果笔记本MacBook Air上开发C#.NET程序的感受浅谈
- 通用权限管理系统组件 (GPM - General Permissions Manager) 从实现基本功能到让别人欣赏软件,把每个细节都做精做彻底
- 结合博客园提供的免费功能服务,打造自己专业友善的软件功能组件(主要是思想)
- 简单点儿、简单点儿、再简单点儿,其实世界可以不是我们想象的那么复杂
- 学焊接专业的编程爱好者应用好通用权限管理系统写出了自己工作中需要的小软件
- 集成公司内部的多个子系统(兼容B/S和C/S),实现单点登录功能的多系统的统一入口功能
- 让普通业余软件开发兴趣爱好者也快速开发出相对专业的软件产品 - 通过实战开发讲解实现步骤
- 开发软件非常需要有规划定位 - 从软件开发辅助工具到通用软件产品的演变
- 一个内蒙古人在杭州的老程序员的轿车梦随笔
- 充分感受中国缺少管理型软件人才的说法
- 写代码累了放松娱乐一下,在大型生产型企业成功实施工作审批流程项目的经验分享
- 解析 WEB 中所有 URL 的简单牛B代码,先保存起来,方式将来找不到了
- 程序员,保险公司招聘不要轻易跑过去,省省路费省省时间,别浪费感情,特别是招聘什么业务主管经理的
- 求助,有谁能跟杭州公安局的人说上话?西湖区文新派出所更好,想解决一下女儿名字的问题,万分感谢。
- 走通用软件架构路线?走通用软件产品路线?我们都要有梦想与大家一起分享走过的经验
- 实施行政审批流程系统程组件的经验总结,规范化电子化流程管理(有点儿长,准备好茶叶)
- 当项目经理要么学会向客户说"不",要么选择折磨自己,增加成本延长项目周期
- 半天打造小型万能OA办公系统, 靠的就是万能表单提交 + 轻量级工作流审批组件