算法笔记随笔:分数的化简,四则运算和输出
#include <stdio.h>
#include <math.h>
struct Fraction{int up,down;
};
int gcd(int a,int b)
{return !b?a:gcd(b,a%b);
}
Fraction myFun(Fraction result)// 分数的化简规范函数
{if(result.down<0) // 负分数{result.down=-down;result.up=-up;}if(result.up==0) result.down=1; // 分子为0时 分母设为1 int gcb=gcd(result.up,result.down);// 分母最大公约数不为1 可以约分if(gcb!=1){result.down/=gcb;result.up/=gcb;}return result;
}
Fraction Add(Fraction f1,Fraction f2)// 两分数的相加
{Fraction result;result.up=f1.up*f2.down+f1.down*f2.up;result.down=f1.down*f2.down;return myFun(result);
}
Fraction minu(Fraction f1,Fraction f2)// 两分数剑法
{Fraction result;result.up=f1.up*f2.down-f2.up*f1.down;result.down=f1.down*f2.down;return myFun(result);
}
Fraction multi(Fraction f1,Fraction f2) // 两分数乘法
{Fraction result;result.down=f1.down*f2.down;result.up=f1.up*f2.up;return myFun(result);
}
Fraction divide(Fraction f1,Fraction f2)//两分数的除法, 当除数不为0的时候
{Fraction result;result.up=f1.up*f2.down;result.down=f1.down*f2.up;return myFun(result);
}
void showFraction(Fraction a)// 分数的输出,
{a=myFun(a);if(a.down==1) printf("%lld",r.up);if(fabs(a.up)>a.down)// 假分数输出{printf("%d %d/%d",a.up/a.down,fabs(a.up%a.down)/a.down);}else printf("%d/%d",a.up,a.down);} int main(){}
因为分子分母在乘和除的过程中可能导致int型溢出,分子分母可以用long long 类型储存。
算法笔记随笔:分数的化简,四则运算和输出相关推荐
- php打印n乘n沙漏形状图形,《算法笔记》3.3小节——入门模拟-图形输出
@[TOC] Contest100000577 - <算法笔记>3.3小节--入门模拟->图形输出 1933 Problem A 输出梯形 #include #include #in ...
- 算法笔记之:大整数的四则运算
带来<算法笔记>第五章: 大整数的四则运算 #include<cstdio> #include<cstring>struct bign{int d[1000];in ...
- 算法笔记-分数的表示和化简
1.使用结构体来存储分数的分子和分母 2.对分数指定规则 1.使分母为非负数,如果分数为负,则令分子为负数即可 2.如果分数为零,则规定分子为零,分母为1 3.分子和分母没有除1以外的公约数 3.分数 ...
- 算法笔记知识点整理大全
每次刷题都觉得自己吃了知识点不全,基础不牢固的亏,刷题的时候目标也不明确,于是看完了算法笔记并把知识点归纳了一下,当然直接看书会更加详细,这个归纳只是学习时加深印象以及方便自己之后回顾而已:之后刷题大 ...
- 算法笔记.胡凡 第五章 数学问题
5.1 简单数学 [PAT A1069] For any 4-digit integer except the ones with all the digits being the same, if ...
- codeup墓地目录(算法笔记习题刷题笔记)
在线codeup contest 地址:http://codeup.cn/contest.php Contest100000575 - <算法笔记>3.1小节--入门模拟->简单模拟 ...
- 算法笔记CodeUp第一至第六章刷题记录
文章目录 <算法笔记>2.2小节--C/C++快速入门->顺序结构 1.例题1-1-1 按要求输出信息(1) 2.例题1-1-2 按要求输出信息(2) 3.例题1-2-1 求两个整数 ...
- 《算法笔记》学习日记——5.2 最大公约数与最小公倍数5.3 分数的四则运算5.4 素数
目录 5.2 最大公约数与最小公倍数 问题 A: Least Common Multiple 小结 5.3 分数的四则运算 问题 A: 分数矩阵 小结 5.4 素数 问题 A: 素数 问题 B: Pr ...
- 分数的四则运算及化简(C语言实现)
下面这个程序使用C语言的结构体实现了分数的加减乘除四则运算,同时将结果最简化.这里为了简化,将输入值固定了,如果需要根据输入进行计算,将main函数内的相应部分稍作修改即可. #include < ...
最新文章
- 移动Web单页应用开发实践——页面结构化
- Git 分支 - 变基
- 自由自在公司意式手工冰淇淋以“怪“取胜
- springboot接收json参数_Springboot + Vue + shiro 实现前后端分离、权限控制
- LeetCode 406. 根据身高重建队列(排序)
- sql语句count_带COUNT()函数SQL SELECT语句
- 解决0RA-04031故障
- VS C++ memcpy() 用于double、int、结构体
- python画折线图参数配置
- 手机app测试流程和要点
- 设置bing为chrome的默认搜索引擎
- JSP 页面缓存以及清除缓存
- uni-app微信公众号(4)——地址管理页面
- android 社交类ui设计,基于社交类APP界面设计与创意思维的研究
- Linux下安装并运行TMHMM
- linux有什么好的软件,Linux国产软件大盘点
- 机械电气自动化常用知识手册
- 数据结构(从概念到C++实现)
- 在家,看见弟妹刷电视剧,瞟了两眼
- 使用python抓取喜馬拉雅音樂並且下載
热门文章
- 斐讯dc1服务器什么时候修复,[4月1日更新!!]斐讯DC1插座自制固件接入ha
- WiFi万能钥匙,真的过气了?
- OBS Studio(obs录屏软件)官方中文版V27.2.4 | 最新obs中文版百度云下载
- python贴吧数据可视化软件_Python数据可视化工具之Pyecharts初体验
- 在线协作编辑器EtherPad使用说明
- opencv(python)------二值化阙值(threshold)、自适应阙值(adaptiveThreshold)
- 驭势吴甘沙:我的根本利益|Xtecher人物特稿
- 推荐一个牛逼的直播开源项目
- webpack5 + webpack-chain 构建一个大型应用系列 2(附 vscode 跟 prettier 配置)
- 多个div水平横向排列