第一道西西里----关于两数的最大公约数
一个月黑风高的上午,我正上着专业水课,无聊之际想起师兄推荐的西西里,遂打开了这个网站。
(师兄推荐的理由是上面有制服诱惑(╯‵□′)╯︵┻━┻)
那么来看看我的第一道西(song)西(fen)里(ti)吧
emmmmm看起来不会很难
程序要求的关键应该是输入a,b,c,d,然后输出a/b+c/d.
很自然想到对a/b+c/d进行通分,相乘,得到(a*d+c*b)/b*d
但显然直接这样输出是不行的,因为题目要求结果应是最简分数,所以我的想法是求出分子分母的最大公约数,在让分子分母分别除以这个约数,得到新的最简的分子分母,如果分母为1,则直接输出分子。
于是便有了下面的程序
#include<stdio.h>
int suan(int a,int b)
//算最大公约数的程序
//更相减损数
{int c;if (a==b)return a;if (a<b)b=b-a;elsea=a-b;c=suan(a,b);return c;
}
int main(void)
{int n; scanf("%d",&n);//所要输入的数据的组数 int num[4*n];//储存数据的数组 int i;//计数变量 for(i=0;i<4*n;i++){scanf("%d",&num[i]);//输入所有数据 }int z,m;//储存未化简的分子分母 int g;//储存最大公约数 int a,b;//储存最终化简的分子分母 for(i=0;i<4*n;i=i+4){z=num[0+i]*num[3+i]+num[1+i]*num[2+i];//计算临时分子 m=num[1+i]*num[3+i];//计算临时分母g=suan(z,m);//得到最大公约数 a=z/g;//用最大公约数化简分子 b=m/g;//用最大公约数化简分母 if(b==1)printf("%d\n",a);else printf("%d/%d\n",a,b);//输出结果 }return 0;}
以上
第一道西西里----关于两数的最大公约数相关推荐
- 两数求最大公约数的三种方法的C语言实现
任意输入两个数,求出二者的最大公约数,以C语言实现.以下是三种方法以及对应思路: <1>辗转相除法. 定义两个变量存放两个数(a,b),先以冒泡法将较大数存放在在b内,较小数存放于a. 相 ...
- 一个数里有那些约数用c++怎么做_两数的最大公约数你会求吗?(内附完整算法代码)...
两个数的最大公约数怎么求? 思考题目的同时,我在这也顺便发出三个灵魂疑问? 什么又是更相减损法? 什么又是辗转相除法? 什么又是欧几里得算法? 不懂没关系,往下看 要解决两数的最大公约数问题?,你首先 ...
- python最大公约数计算。从键盘接收两个整数_python如何求解两数的最大公约数
题目: 给定两个自然数,求这两个数的最大公约数. 分析: 单看题目的话,非常简单,我们可以循环遍历自然数,如果能够整除两个自然数,就把这个数记下来,在这些记录中找到最大的一个. 但是这样做有几个缺点: ...
- 编写函数求两个数的最大公约数,采用递归法计算两数的最大公约数。
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 题目: [实验案例3:函数的递归调用] 编写函数求两个数的最大公约数,采用递归法计算两数的最大公约数. [实验指导] 分析:m.n为两 ...
- python计算最大公约数函数_python如何求解两数的最大公约数
题目: 给定两个自然数,求这两个数的最大公约数. 分析: 单看题目的话,非常简单,我们可以循环遍历自然数,如果能够整除两个自然数,就把这个数记下来,在这些记录中找到最大的一个. 但是这样做有几个缺点: ...
- 求两数的最大公约数算法
最大公约数,也称最大公因数.最大公因子,指两个或多个整数共有约数中最大的一个: a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号: ...
- 练习:任意多行字条串拆分数值求和冒泡排序两数的最大公约数和最大公倍数
CSDN2021-11-27"每日一练" 今天的"每日一练",学会了两个简单的. 第一题目 第二题目 第三题目 第一题目 实现效果 完整代码 import ...
- 两数的最大公约数算法基础及优化
最大公约数算法 师从 辗转相除法(欧几里得算法) 时间复杂度 更相减损术(<九章算术>) 时间复杂度 二分化更相减损术 思路 优化 时间复杂度 师从 本篇是观Vita君算法视频后总结,他是 ...
- 求两数最大公约数,最小公倍数-Java
两数的最大公约数的计算是有数学规律的,程序只是按照规律辅助计算,其中包括了递归和循环两种实现.而最小公约数可由(m*n)/ (最大公约数)得到.具体代码如下: package test;import ...
最新文章
- seaborn将图例放置在图像外部并使用move_legend函数将图例(legend)放置在图像的顶部、且单行展开显示
- 计算机网络技术专业毕业大作业答案,计算机网络技术大作业考核要求A卷
- python基础语法第10关作业-Python基础语法习题
- 从员工出走仅剩 5 人,到一支打胜仗的铁军
- 大数据征信应用与启示 ——以美国互联网金融公司 ZestFinance为例
- 【入门建议收藏】密码学学习笔记之线性分析入门篇——EzSPN
- python查漏补缺--抽象类和接口以及Overrides、函数重载
- 计量经济学计算机输出结果,计量经济学作业答案A..doc
- 一次代码优化实践,用了模板方法+策略+工厂方法模式
- 开源软件在中小企业的应用_开源如何启动我的小企业
- 高斯拟合 vc++代码_使用python+sklearn实现核岭回归和高斯回归的比较
- oracle权限不足的报错,Oracle Scott创建视图权限不足解决办法
- 344.Reverse String
- 201521460005 实验五
- matlab 行 读取文件 跳过_Matlab调试:跳过下一行而不执行
- WINCC的一套教程 有视频 有VBS开发基础 Excel导出
- 应用程序“xxx“不能打开,怎么解决?
- Scratch软件界面介绍
- 美国 android手机号码,格式编辑文本为美国电话号码1(xxx)-xxxx你在android中键入?...
- DirectX的发展历程!