ysg 一道简单的数论题
先声明一点,这个题从一套模拟题中选取出来,所以可能会冒犯到原出题人。请谅解
题干:
ysg,yxy,azw 三人正在刷题。
他们每做一题的时间都是一个有理数。
如果在某一时刻,三人同时做完一道 题,那么,他们会开始谈笑风生。
现在,他们想知道,从时刻 0 开始,至少要等多久才能谈笑风生。
输入格式
一行 6 个整数 a1,b1,a2,b2,a3,b3,其中 ysg 每做一道题的时间是 a1/b1,yxy 是 a2/b2,azw 是 a3/b3。不保证 a,b 互质。
输出格式
一行 2 个数 c,d,表示第一次谈笑风生是在时刻 c/d。其中 c,d 互质。
输入样例 3 6 4 5 3 1
输出样例 12 1
这个题一看上去便是gcd和数论一套瞎搞。
可是它的格式有点难搞,其输入输出格式都是分数,所以不能一开始就化为小数(几乎所有的设计小数的题都不能直接化为小数),还有一点见到分数要直接约分,以免爆long long
闲话不多说,我们来看看这道题,我们可以先把题意简化一下就是三人在哪一时刻他们所做的题都是个整数。
很明显,题目的样例意思就是a1时间内做了b1道题,a2时间内做了b2道题,a3时间内做了b3道题。
我们就要先使通分一下,使分母都相同,这样很明显此时在做题都相同的情况下,时间是不同的,我们再求出在当前分数下,最早什么时间相同时
再把相同的时间和相同做的题约分就得到了结果。
代码:
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int a1,b1,a2,b2,a3,b3;
inline int gcd(int x,int y){
if(y>x) swap(x,y);
if(y==) return x;
return gcd(y,x%y);
}
inline void huajian(int &x,int &y){
int g=gcd(x,y);
x/=g; y/=g;
}
inline int get_lcm(int a,int b,int c){
int l1=a*b/gcd(a,b);
return l1*c/gcd(l1,c);
}
int main()
{
freopen("ysg.in","r",stdin);
freopen("ysg.out","w",stdout);
scanf("%d%d%d%d%d%d",&a1,&b1,&a2,&b2,&a3,&b3);
huajian(a1,b1);
huajian(a2,b2);
huajian(a3,b3);
int lcm1=get_lcm(b1,b2,b3);
int lcm2=get_lcm(a1*lcm1/b1,a2*lcm1/b2,a3*lcm1/b3);
huajian(lcm1,lcm2);
printf("%d %d\n",lcm2,lcm1);
fclose(stdin); fclose(stdout);
return ;
}
ysg 一道简单的数论题的更多相关文章
- 【正睿多校联盟Day4 T4 简单的数论题】
题目名有毒 由于并没有系统地开始学习数论,所以数论题基本靠暴力. 然鹅本题的题解相当简单: emmm....我当你没说 一个简单易懂的方法是这样的: 1. 欧拉定理的推论 若正整数a,n互质,则对于任 ...
- A/B HDU-1576(简单的数论题)
Problem Description 要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1). Input 数据的第一 ...
- FJUT-这还是一道数论题
这还是一道数论题 TimeLimit:4000MS MemoryLimit:128MB 64-bit integer IO format:%lld Special Judge Problem D ...
- [BZOJ 3209]花神的数论题
一道简单的数位 dp 题 但是脑子里只有 __builtin_popcountll 了呢(自重) 看完题解后很快就理解了,而且有一种这么简单的题居然没想到做法真是不应该唉~的感觉 用 f[i] 表示 ...
- 又一道简单题&&Ladygod(两道思维水题)
Ladygod Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit S ...
- 14年安徽省赛数论题etc.
关于最大公约数的疑惑 题目描述 小光是个十分喜欢素数的人,有一天他在学习最大公约数的时候突然想到了一个问题,他想知道从1到n这n个整数中有多少对最大公约数为素数的(x,y),即有多少(x,y),gcd ...
- CSU 1785: 又一道简单题
1785: 又一道简单题 Submit Page Summary Time Limit: 5 Sec Memory Limit: 128 Mb Submitted: 602 ...
- 【数位DP】【P4317】花神的数论题
[数位DP][P4317]花神的数论题 Description 给定 \(n\),求 \(n\) 以内所有正整数二进制下 \(1\) 的个数的乘积,答案对 \(10^7 + 7\) 取模 Limita ...
- BZOJ 3209: 花神的数论题 [数位DP]
3209: 花神的数论题 题意:求\(1到n\le 10^{15}\)二进制1的个数的乘积,取模1e7+7 二进制最多50位,我们统计每种1的个数的数的个数,快速幂再乘起来就行了 裸数位DP..\(f ...
随机推荐
- vue better-scroll用法
滚动位置固定:在vue中通过路由切换页面时组件会自动滚动到顶部,需要监听滚动行为才能让滚动位置固定,better-scroll解决了这个问题. 常用效果:移动端很常见的效果,当滑动右边部分的时候,左边 ...
- Python_每日习题_0006_斐波那契数列
程序设计: 斐波那契数列(Fibonacci sequence),从1,1开始,后面的每一项等于前面两项之和. 图方便就递归实现,图性能就用循环. # for 循环 target = int(inpu ...
- linux-高并发与负载均衡-TCP-IP基础知识
ARP协议: ping baidu
- NOIP2016解题报告
天天听这几道题,但其实题面都没看过.今天做一下. 每道题看懂题后基本一分钟左右就切了.D2T3想的是\(O(n\log n)\)的堆做法,至少90分吧. D1T1模拟即可. D1T2每条路径拆成到根的 ...
- Python学习第十三篇——函数的深层次运用
def make_pizza(size,*toppings): print("\nmaking a "+str(size)+" size pizza with follo ...
- MySQL 5.7 Reference Manual :: 4.5.4 mysqldump & mysql — Database Backup & Restore Program
MySQL :: MySQL 5.7 Reference Manual :: 4.5.4 mysqldump — A Database Backup Programhttps://dev.mysql. ...
- mongoDB 安装和配置环境变量,超详细版本
下载mongoDB进行安装:https://www.mongodb.com/ 到Community Se ...
- css3特殊图形(气泡)
一.气泡 效果: body{ background: #dd5e9d; height: 100%; } .paopao { position: absolute; width: 200px; heig ...
- innerText兼容问题处理
IE.Safari.Opera和Chrome支持innerText属性.低版本的火狐浏览器不支持,但支持作用类似的textContent属性.textContent是DOM3级规定的一个属性,而且也得 ...
- JS 类型检测
typeof 适合函数对象和基本类型的判断 typeof 100instanceof 适合判断对象类型 obj instanceof Object 基于原型链判断操作符,若做操作符不是对象,则会直接返 ...