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 ...
随机推荐
- WebClient, HttpClient, HttpWebRequest ,RestSharp之间的区别与抉择
NETCore提供了三种不同类型用于生产的REST API: HttpWebRequest;WebClient;HttpClient,开源社区创建了另一个名为RestSharp的库.如此多的http库 ...
- vscode 缩进改为2空格
因为vscode默认启用了"editor.detectIndentation": true”根据文件类型自动设置tabsize的选项. 在配置中加上 "editor.de ...
- H5 65-清除浮动方式一
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Mike and palindrome CodeForces - 798A
题目链接 一个简单的题目,但是却很少有人可以一次AC,比如我就瞎写wa了一次... 写本博算个教训录吧. 题目给出一个字符串,让你严格的改变一个字符使改变后的字符串是一个回文串. 回文串不用解释了.不 ...
- Linux sed使用方法
目录 sed处理流程 测试数据 sed命令格式 sed命令行格式 行定位 定位1行 定位区间行(多行) 定位某一行之外的行 定位有跨度的行 操作命令 -a (新增行) -i(插入行) -c(替代行) ...
- Es5中的类和静态方法 继承
Es5中的类和静态方法 继承(原型链继承.对象冒充继承.原型链+对象冒充组合继承) // es5里面的类 //1.最简单的类 // function Person(){ // this.name='张 ...
- PHP PSR代码规范
转载: https://www.awaimai.com/916.html PSR是PHP通用性框架小组 (PHP Framework Interop Group) 制定的PHP代码编写格式规范,是PH ...
- day 7-22 进程,线程,协程
一.什么是进程 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动.它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体.它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理 ...
- Web移动端---iPhone X适配(底部栏黑横线)
一.相信大家有被iPhone X底部黑色横线支配的恐惧 上面我们可以看到,底部的导航栏被一条黑色横线所盖住,那么就很烦.下面我们可以开始进行适配环节 1.首先我们可以用 JS 判断手机环境是不是 iP ...
- npm install、npm install --save、npm install --save --dev、npm install -S、npm install -D的区别
npm install X: 会把X包安装到node_modules目录中 不会修改package.json 之后运行npm install命令时,不会自动安装X npm install X –sav ...