cf592c 数学 超范围大数
来源:互联网 发布:手机淘宝闲置怎么用 编辑:程序博客网 时间:2024/06/06 09:50
题目链接
这个写法有个坑就是如果最大公约数是1是最小公倍数必然是两个数乘积,可能爆 long long,所以取巧处理了一下
其他处理方法:1、double存储点击打开链接
2、点击打开链接
#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <fstream>#include <algorithm>#include <cmath>#include <queue>#include <stack>#include <vector>#include <map>#include <bitset>using namespace std;#define LL unsigned long longLL gcd(LL a , LL b){ if(a%b == 0) return b; else return gcd(b , a%b);}int main(){ LL t , b , w; while(scanf("%I64d %I64d %I64d" , &t , &w , &b) != EOF) { if(w == b) { printf("1/1\n"); continue; } // LL ans = 0; if(w > b) swap(w , b); LL minn = min(w , b); minn -- ; LL res = gcd(b , w); LL lcd = w / res * b ; LL num = t / lcd; LL maxx = min(t - num * lcd , minn); if(w / res * b - t > 0 && w / res * b - 1e18 > 0) {num = 0 ; goto tt;} if(w == 1 || b == 1) maxx += (num - 1) * minn; else maxx += (num) * minn; tt: num += maxx; LL tmp = gcd(num , t); printf("%I64d/%I64d\n" , num / tmp , t / tmp ); } return 0;}/*4000000000000000000 9999999999999997 999999999999999992499999999999999/100000000000000000019999999999999993*/
0 0
- cf592c 数学 超范围大数
- HDOJ 1134 数学+大数
- 超能力范围了,nnd
- SAT数学考题知识范围
- HDU4465(数学期望+大数处理)
- 数学问题--大数的阶乘
- hdu4762(数学期望+大数)
- 数学_Lightoj_1214大数整出
- 一个很有趣的访问,超范围。
- 数学问题--大数乘以小数,大数乘以大数,大数的加法以及减法
- SAT数学考题知识范围增量分析
- SAT数学考题知识范围一览
- SAT数学考试考查范围简介
- HDU 4577 X-Boxes (数学+大数除法)
- 数学问题3:两个大数相乘
- NYOJ541 最强DE 战斗力 【数学】+【大数】
- HDU 5047 Sawtooth(数学 公式 大数)
- nyoj 517 最小公倍数【数学】大数处理
- Java半角全角文字转换
- no cortex-m sw device found
- 预编译头文件(stdafx.h)的原理
- 鸟哥的Linux私房菜(基础篇)- 第六章、Linux 的文件权限与目录配置
- 项目经理 Or 技术架构
- cf592c 数学 超范围大数
- JDBC:调用函数&存储过程
- 鸟哥的Linux私房菜(基础篇)- 第七章、Linux 文件与目录管理
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver(Servlet链接mysql数据库失败解决方法)
- Linux设备驱动之四----带中断的驱动程序
- Java += 操作符实质
- xcode build setting说明
- 鸟哥的Linux私房菜(基础篇)- 第八章、Linux 磁盘与文件系统管理
- JDBC:数据库分页语句