Revenge of GCD (枚举+gcd)

【EB_Tresos专题】-01-EB Tresos导入工程 <--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> <--返回「个人博客」首页--> <--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> <--返回「个人博客」首页--> 结尾 ... 阅读详情

Revenge of GCD

 In mathematics, the greatest common divisor (gcd), also known as the greatest common factor (gcf), highest common factor (hcf), or greatest common measure (gcm), of two or more integers (when at least one of them is not zero), is the largest positive integer that divides the numbers without a remainder.
---Wikipedia

Today, GCD takes revenge on you. You have to figure out the k-th GCD of X and Y. 

Input
The first line contains a single integer T, indicating the number of test cases.

Each test case only contains three integers X, Y and K.

[Technical Specification]
1. 1 <= T <= 100
2. 1 <= X, Y, K <= 1 000 000 000 000

Output
For each test case, output the k-th GCD of X and Y. If no such integer exists, output -1.
Sample Input

3
2 3 1
2 3 2
8 16 3

Sample Output

1
-1
2
题意:

求x,y的第k大公因数

分析:

一开始还以为什么很难的题按着算术基本定理想了很久,原来是枚举gcd的因子,fuck?

首先求出最大公因数,然后在枚举出gcd的所有因子排个序就可以了

可以使用vector

注意一开始一开始把1和它本身放入,但是要判断如果它本身就是1不可以放两次!!

然后常规操作,从2开始枚举因子即可g√g的复杂度,排序log复杂度,求gcd log复杂度

code:

#include <iostream>
#include <cstring>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b){
    return b ? gcd(b,a%b) : a;
}
int main(){
    int T;
    scanf("%d",&T);
    while(T--){
        ll x,y,k;
        scanf("%lld%lld%lld",&x,&y,&k);
        ll g = gcd(x,y);
        vector<ll> ans;
        ans.push_back(1LL);
        if(g != 1)
            ans.push_back(g);
        for(ll i = 2; i * i <= g; i++){
            if(g % i == 0){
                ans.push_back(i);
                if(i * i != g)
                    ans.push_back(g/i);
            }
        }
        sort(ans.begin(),ans.end());
        if(k > ans.size())
            printf("-1\n");
        else
            printf("%lld\n",ans[ans.size()-k]);
    }
    return 0;
}
运维颠覆!一文解锁AI赋能运维实战秘籍,效率飙升! 将AI应用于运维工作是一场极具价值的变革,从故障预测与诊断到自动化任务执行,再到资源管理优化,AI都展现出巨大潜力。尽管在实践过程中会面临数据质量、模型复杂性等挑战,但通过合理的技术选型和解决方案,我们能够充分挖掘AI的优势,实现运维工作的高效、智能转型。持续探索和创新AI在运维领域的应用,将为企业的数字化发展提供坚实保障。在科技飞速发展的当下,运维领域正经历着深刻变革,AI的融入成为提升运维效率与质量的关键。本文将深入实战,带你领略AI如何在运维各环节大显身手,让你的运维工作开启智能高效新模式。 阅读详情

相关推荐

Maya绑定:人物绑定详细案例(创建骨骼、镜像骨骼、IK创建、IK打组、IK控制器、FK控制器、烘焙动画、导出)

Maya绑定:人物绑定详细案例(创建骨骼、镜像骨骼、IK创建、IK打组、IK控制器、FK控制器、烘焙动画、导出)

m0_45877477的博客 1630

【HDU - 5019 】Revenge of GCD (第K大的因子+暴力)

In mathematics, the greatest common divisor (gcd), also known as the greatest common factor (gcf), highest common factor (hcf), or greatest common measure (gcm), of two or more integers (when at least...

__似水流年__的博客 465

使用VIVADO 2019.1 搭建以太网接口

以太网 MAC+SGMII->GMII接口转换 以FPGA V7为例,搭建一个千兆以太网接口。运行环境为Vivado2019.1。板卡的FPGA V7与千兆网口芯片采用SGMII互联,最终实现FPGA与上位机之间的千兆网卡通信,实际实现时,V7采用MAC + GMII ->SGMII的结构。SGMII接口使用1G/2.5G Ethernet PCS/PMA or SGMII ip核,MAC层使用Tri Mode Ethernet MAC ip核。 由于MAC层IP不支持SGMII接口,因此需要G

qq_44641513的博客 8414

hdu 5019 Revenge of GCD(数论,枚举)

Revenge of GCD Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2130    Accepted Submission(s): 592 Problem Description In mathemati

TUT我好菜啊 836

工业级RFID读写器|识读器CK-LR08-E00通过以太网TCPIP自由协议与汇川PLC控制器联机与通讯实例方案

本文以工业级RFID读写器CK-LR08-E00和汇川PLC控制器H5U是实例介绍工业级RFID读写器CK-LR08-E00通过以太网TCPIP自由协议与汇川PLC控制器联机与通讯方案。

华翔天诚科技 4371

从零到一:Cadence AC仿真中的运放性能参数深度解析与实战避坑指南

本文深度解析Cadence AC仿真中运放性能参数的精确测量方法,包括开环增益、带宽和相位裕度等关键指标。通过实战案例分享常见设置错误的避坑技巧,帮助工程师提升设计成功率和仿真效率,特别针对全差分运放和工艺角分析提供专业指导。

www00的博客 290

HDU 5019 Revenge of GCD(简单枚举)

Revenge of GCD Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description In mathematics, the greatest common divisor (gcd), also known as the g

SHUI 706

lerobot VLA--SmolVLA代码的讲解

2.图像resize至正方形224x224,图像长宽比不变,其他区域用黑色补充,标记为mask=1,若占位图像(摄像头缺失),则 创建全-1像素的占位图像 标记为mask=0,image为[1, 3, 512, 512],img_mask为True,masks列表长度为2,img_masks为2,因为我这里两个相机。文本嵌入:通过embed_language_tokens() 被转换为嵌入表示,lang_emb 是语言的嵌入,包含了语言的语法和语义信息。1.像素值[0,1]->[-1,1]

caokaifa的博客 4066

Revenge of GCD HDU - 5019 (第k大公约数)

In mathematics, the greatest common divisor (gcd), also known as the greatest common factor (gcf), highest common factor (hcf), or greatest common measure (gcm), of two or more integers (when at least...

weixin_42173193的博客 348

城市规划师必备:ArcMap里用这个免费工具,5步完成建筑群通风廊道分析

本文介绍了城市规划中利用ArcMap进行建筑群通风廊道分析的高效方法,重点讲解了迎风面投影指数(FAI)的应用。通过5个步骤,从数据准备到规划应用,帮助规划师快速评估城市通风潜力,优化建筑布局,提升城市风环境质量。

weixin_26800111的博客 412

从Palantir到AI时代:Forward Deployed Engineer模式的深度解析

《从Palantir到AI时代:FDE模式的创新与挑战》摘要:Palantir开创的前置部署工程师(FDE)模式正在成为AI创业公司的标配。该模式通过现场工程师深入了解客户需求,填补产品与实际应用间的鸿沟,颠覆了传统SaaS规模化路径。核心优势在于将定制化服务转化为产品发现机制,特别适合高度异质化的AI市场。成功关键在于平衡定制与标准化,通过合同价值增长、产品杠杆效应等独特指标衡量成效。FDE人才需要兼具领域洞察力与快速原型能力。这一模式表明,在AI等新兴领域,深入客户现场可能比单纯追求技术突破更能创造商业

老孙 | Ethan Sun 的博客:AI 智能体与 AI 原生软件的工程实践 4528

C++求最大公因数(gcd)的六重境界

求最大公因数的六种解法

ceshyong的博客 1万+

第4-4课:状态压缩与动态规划

什么是状态压缩 动态规划问题中重要的一环就是确定状态的定义,在大多数情况下,状态中所包含的信息并不多,比如线性规划问题的状态一般表示为 d[i,j](i 表示状态的位置,j 表示状态的阶段),算法实现时可用二维数组保存计算过程中的状态。但是也有一些问题,它的状态中包含的信息很多,比如它的状态可能是一个集合中各个元素的情况,或者是像铺瓷砖问题这样,是某一行的覆盖状态。如果沿用简单的状态表示方法,则可...

oRbIt 的专栏 700

hdu5019Revenge of GCD(枚举+gcd)

题目链接: huangjing 题意: 求出两个数的第k大的GCD 思路: 首先求出最大公约数,我最开始的思路是打一个很大的素数表,然后不断的进行除,求出第k大的,但是一直re,后来知道可以直接把最大公约数的约数全部求出来,排序即可。。然后因为约数不确定,所以stl里的vector是个不错的选择。 思路: Revenge of GCD Time Limit: 2000/

大洋深处 1494

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

HDU 5019 Revenge of GCD gcd+枚举因子

Problem Description In mathematics, the greatest common divisor (gcd), also known as the greatest common factor (gcf), highest common factor (hcf), or greatest common measure (gcm), of two or more in...

zamaochick的博客 210

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

HDU-#5019 Revenge of GCD(枚举)

题目大意:求解两个数的第k大的公约数。       解题思路:先可以求出两个数的最大公约数,然后进行枚举所有因子。用数组存下来,排序输出第K大的因子。这里有几点注意的,枚举时只用枚举是不是最大公约数的因子,需要判断因子的乘方是该最大公约数时,只能存一个。还有一个很坑的地方就是用long long过不了,必须用__int64才行的。详见code。      题目来源:http://acm.hdu

VoidSun 510

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Revenge of GCD 欧几里得算法(求最大公约数)+枚举

In mathematics, the greatest common divisor (gcd), also known as the greatest common factor (gcf), highest common factor (hcf), or greatest common measure (gcm), of two or more integers (when at least...

quest_ni的博客 431

Revenge of GCD hdu 5019

Problem Description In mathematics, the greatest common divisor (gcd), also known as the greatest common factor (gcf), highest common factor (hcf), or greatest common measure (gcm), of two or more int...

loooooog的博客 206

HDU - 5019 Revenge of GCD

题面 In mathematics, the greatest common divisor (gcd), also known as the greatest common factor (gcf), highest common factor (hcf), or greatest common measure (gcm), of two or more integers (when at le...

IT_w_TI的博客 299

Revenge of GCD HDU - 5019

传送门 题意:给两个数x,y,求他们的第k大的因子; 思路:首先找到他们的最大公因数,直接用自带的函数__gcd()找到就行,而且这里其他的公因子也一定是最大公因子的因子,直接从1暴力枚举到最大公因子,判断是不是他的因子,同时w/i肯定也是他的因子,但是这里要判断一下i*i==w,避免重复;然后就他的所有因子都找到了,然后直接sort排序一下,输出答案即可 #include <iostrea...

FILWY_M 211

HDU 5019 Revenge of GCD

Revenge of GCD Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4124 Accepted Submission(s): 1156 Problem Description In mathematics, the gre...

一方 239

HDOJ-5019-Revenge of GCD 解题报告

求k大GCD。题意:给三个正整数x,y和k,求x和y的第k大公约数。        我的解题思路:首先根据求最大公约数的原理,k大公约数是最大公约数的因子。那么求k大公约数就转换成为了求最大公约数的第k大因子。可以通过唯一分解定理得到最大公约数的因子个数,然后根据情况判断是否枚举。        我的解题代码: #include #include #include #i

JZQT_T的博客 918

hdu 5019 Revenge of GCD(BestCoder Round #10)

Revenge of GCD                                                              Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)                                    

ACway的专栏 884

HDOJ 5019 Revenge of GCD

题意:RT,单源最短路问题,求路径最短,当路径长相同时使花费尽可能少。 链接:http://acm.hdu.edu.cn/showproblem.php?pid=3790 SPFA/dijkstra模板即可

luminous11的专栏 430

HDU 5019 Revenge of GCD 第n个公共约数

Revenge of GCD Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1403    Accepted Submission(s): 389 Problem Description In mathematics, the

小人物的草稿本 703
上一篇: GCD and LCM(质因子分解+组合数学)
下一篇: Yet Another Problem On a Subsequence(dp+组合数)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值