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 ...
随机推荐
- Linux Docker命令
命令查看你当前的内核版本:uname -r yum 包更新到最新:yum update 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemap ...
- centos中docker的安装
之前学习docker的时候,是在windows上直接使用可执行文件安装的,最近需要在自己的服务器上安装docker,特此了解了一下如何安装,这里补一下. 小白学Docker之基础篇 小白学Docker ...
- 通用权限管理系统多语言开发标准接口 - java,php 调用标准接口程序参考
1:公司里有多个业务系统,需要进行统一重构,有PHP的.有Java的.有.NET的,甚至还有 Delphi 的. 2:公司里有多个数据库系统,有mysql的.有sqlserver的.还有oracel的 ...
- Pytest+Allure定制报告
前言: 最近在研究接口自动化的框架,好的测试报告在整个测试框架起到至关重要的部分.终于被我发现一个超好用的报告框架,不仅报告美观,而且方便CI集成. 就是它,就是它:Allure Test Repor ...
- hybrid App cordova打包webapp PhoneGap
Hybrid APP基础篇(一)->什么是Hybrid App APP三种开发模式--之--HybridApp解决方案 Hybrid App开发 四大主流平台分析 Hybrid App 开发模式 ...
- Python之列表
一.列表的特点 列表也是一种数据类型 列表元素是有序的,有编号的 列表元素的下标从0开始 列表中的每一个值叫一个元素,编号叫下标(索引/角标): stu_name=['崔海龙','杨帆','lrx', ...
- sqlserver笔记
表结构: 一,字段类型sqlserver jdbc java char char Stringnchar nchar Stringvarchar varchar Stringnvarchar nvar ...
- oracle建表流程
--创建表空间test1 create tablespace test1 datafile 'd:\test1.dbf' size 100m autoextend on next 10m --创建用户 ...
- eclipse 部署项目
- linux之硬盘管理fdisk
1.首先我们用虚拟机模拟服务器加入一块新的硬盘,硬盘容量入下图5GB硬盘. 2.首先我们要对它进行分区,我们从上面知道需要分区格式化的是第二块硬盘. 3.输入n回车是新建分区,p是主分区(只能建立4个 ...