分数化简(fen)

问题描述
一个分数一般写成两个整数相除的形式:N/M,其中 M 不为 0。最简分数是指分 子和分母的最大公约数为 1 的分数表示形式。现在给你 N 和 M 的值,请输出他们的最简 分数的值。如果化简后分母为 1,则输出分子的值。例如:N=8,M=6,你应该输出 4/3, 若 N=8,M=2,则你应该输出 4。
输入格式
一行包括 2 个正整数 N和MN 和 MNM
输出格式
形如 N/M 的最简分数,若分母为 1,则输出分子的值。
输入样例 1

8 6

输出样例 1

4/3

输入样例 2

8 4

输出样例 2

2

数据范围
25%数据 N,M≤2∗106N, M \le 2 * 10 ^ 6N,M2106
100% 数据,N,M<=1010N, M <= 10^{10}N,M<=1010
代码

#include <bits/stdc++.h>
using namespace std;
long long n, m, g, fm, fz;
int main() {
	cin >> n >> m;
	g = __gcd(n, m);
	fz = n / g;
	fm = m / g;
	if (fm == 1)
		cout << fz;
	else
		cout << fz << '/' << fm;

	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值