简单数学问题之分数的表示与化简

2024-02-13 16:44

本文主要是介绍简单数学问题之分数的表示与化简,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

分数的化简
#include <iostream>
#include <cmath>//调用abs函数
using namespace std;
int divide(int a,int b){if(b==0) return a;else return divide(b,a%b);
}
struct fraction{int up;//分子int down;//分母
}result;
fraction reduction(fraction result){if(result.down<0){//1.分母为负数,只需令分子为负数即可result.up=-result.up;//分子变为负数result.down=-result.down;//分母变为正数}if(result.up==0) //2.分子为0,只需令分母为1即可result.down=1;else {int num=divide(abs(result.up),abs(result.down));//求公约数result.up/=num;//化简即约去公约数result.down/=num;}return result;
}
int main(){cin>>result.up>>result.down;result=reduction(result);cout<<result.up<<","<<result.down<<endl;return 0;
}
分数的加法
#include <iostream>
#include <cmath>//调用abs函数
using namespace std;
int divide(int a,int b){if(b==0) return a;else return divide(b,a%b);
}
struct fraction{int up;//分子int down;//分母
}result;
fraction reduction(fraction result){if(result.down<0){//1.分母为负数,只需令分子为负数即可result.up=-result.up;//分子变为负数result.down=-result.down;//分母变为正数}if(result.up==0) //2.分子为0,只需令分母为1即可result.down=1;else {int num=divide(abs(result.up),abs(result.down));//求公约数result.up/=num;//化简即约去公约数result.down/=num;}return result;
}
fraction add(fraction f1,fraction f2){fraction result;//通分再相加result.up=f1.up*f2.down+f2.up*f1.down;//分子result.down=f1.down*f2.down;//分母return reduction(result);
}
int main(){fraction f1,f2;cin>>f1.up>>f1.down;cin>>f2.up>>f2.down;result=add(f1,f2);cout<<result.up<<","<<result.down<<endl;return 0;
}
分数的乘法
#include <iostream>
#include <cmath>//调用abs函数
using namespace std;
int divide(int a,int b){if(b==0) return a;else return divide(b,a%b);
}
struct fraction{int up;//分子int down;//分母
}result;
fraction reduction(fraction f){if(f.down<0){f.up=-f.up;f.down=-f.down;}if(f.up==0)f.down=1;else {int num=divide(abs(f.up),abs(f.down));f.up/=num;f.down/=num;}return f;
}
fraction multiply(fraction f1,fraction f2){fraction result;result.up=f1.up*f2.up;result.down=f1.down*f2.down;return reduction(result);
}
int main(){fraction f1,f2;cin>>f1.up>>f1.down;cin>>f2.up>>f2.down;result=multiply(f1,f2);cout<<result.up<<","<<result.down<<endl;return 0;
}

这篇关于简单数学问题之分数的表示与化简的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/706060

相关文章

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

MySQ中出现幻读问题的解决过程

《MySQ中出现幻读问题的解决过程》文章解析MySQLInnoDB通过MVCC与间隙锁机制在可重复读隔离级别下解决幻读,确保事务一致性,同时指出性能影响及乐观锁等替代方案,帮助开发者优化数据库应用... 目录一、幻读的准确定义与核心特征幻读 vs 不可重复读二、mysql隔离级别深度解析各隔离级别的实现差异

C++ vector越界问题的完整解决方案

《C++vector越界问题的完整解决方案》在C++开发中,std::vector作为最常用的动态数组容器,其便捷性与性能优势使其成为处理可变长度数据的首选,然而,数组越界访问始终是威胁程序稳定性的... 目录引言一、vector越界的底层原理与危害1.1 越界访问的本质原因1.2 越界访问的实际危害二、基

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

MySQL磁盘空间不足问题解决

《MySQL磁盘空间不足问题解决》本文介绍查看空间使用情况的方式,以及各种空间问题的原因和解决方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录查看空间使用情况Binlog日志文件占用过多表上的索引太多导致空间不足大字段导致空间不足表空间碎片太多导致空间不足临时表空间

Mybatis-Plus 3.5.12 分页拦截器消失的问题及快速解决方法

《Mybatis-Plus3.5.12分页拦截器消失的问题及快速解决方法》作为Java开发者,我们都爱用Mybatis-Plus简化CRUD操作,尤其是它的分页功能,几行代码就能搞定复杂的分页查询... 目录一、问题场景:分页拦截器突然 “失踪”二、问题根源:依赖拆分惹的祸三、解决办法:添加扩展依赖四、分页