gcd 与 lcm

GCD & LCM (数学基础) Given x and y (2 <= x <= 100,000, 2 <= y <= 1,000,000), you are to count the number of p and q such that: 1) p and q are positive integers; 2) GCD(p, q) = x; 3) LCM(p, q) = y. input There a 阅读详情
题目描述: 
                                 
G - GCD & LCM
Crawling in process... Crawling failed Time Limit:1000MS    Memory Limit:32768KB   64bit IO Format:%lld & %llu

Description

Given x and y (2 <= x <= 100,000, 2 <= y <= 1,000,000), you are   to count the number of p and q such that:

1) p and q are positive integers;

2) GCD(p, q) = x;

3) LCM(p, q) = y.


<b< body="">

Input

x and y, one line for each test.


<b< body="">

Output

Number of pairs of p and q.


<b< body="">

Sample Input

3 60


<b< body="">

Sample Output

4

 

 

题目大意:就是找出p*q=x*y,pq的对数。

用一个公式很好:(a/gcd  )* ( b/gcd)= lcm/gcd

这样子把lcm的数量级降下来了。而且

因为左边2块互质,这样子递归求解最大公约数时的层次走少了好几步。

 

program:

#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int x,y;
int lg;
int gcd(int  a,int  b)
{
  if(a%b==0)return b;
  return gcd(b,a%b);   
}
void sswap(int & a,int & b)
{
  int tmp=a;
  a=b;
  b=tmp;
}
int main()
{
while(scanf("%d%d",&x,&y)!=EOF)
{
      //最小公倍数一定能整除最大公约数!
      if(y%x!=0)
       {
            printf("0\n");
            continue;     
       }  
      lg=y/x; //(a/gcd  )* ( b/gcd)= lcm/gcd
      int a,b;
      int cnt=0;
      for(int i=1;i<=lg;i++)
      {
         a=i;
         if(lg%a==0)
            {
              b=lg/a; //把问题化为质数问题实在很棒
              if(a%2==0&&b%2==0)
                 continue;
              if(a<b)
                 sswap(a,b);
              
              if(gcd(a,b)==1)
                 cnt++;       
            }   
      }
     
       printf("%d\n",cnt);                                                
}
//system("pause");
return 0;}

 

总结:其实一个思想很重要:把求解的数转化成和质数有关来求解,因为质数相对合数少很多,所以这样处理问题范围减小很多!

另为什么验证素数的时候只需验证到该数的开方根呢?因为如果n可以被一个数整除,那么就必然有一个因子小于开方根,必然有一个因子大于开方根

 

因为i=a×b,a与b不能同时大于sqrt(i),为什么呢?如果a>sqrt(i),b>sqrt(i),于是a×b>sqrt(i)*sqrt(i)=i,因此就都不能整除i了!

HFSS初学笔记(二)——75Ω带状线设计 本文利用HFSS软件设计并优化了一条75Ω的带状线结构,通过调整几何参数和介质材料,实现了精确的阻抗控制。仿真结果显示,该带状线在高频信号传输中的表现优越,具有良好的S参数、低插入损耗和极小的信号反射损耗。 阅读详情

相关推荐

深入解析Linux Suspend/Resume机制——从用户态到内核态的完整流程

本文深入解析Linux Suspend/Resume机制,从用户态触发到内核态执行的完整流程。详细介绍了三种挂起模式(Freeze、Standby、Suspend to RAM)的实现原理,包括系统调用入口、状态验证、设备挂起流程及平台相关操作。同时提供实战调试技巧,帮助开发者解决电源管理中的常见问题。

weixin_29313239的博客 444

51nod-1434 区间LCM

原题链接 1434 区间LCM 题目来源: TopCoder 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 一个整数序列S的LCM(最小公倍数)是指最小的正整数X使得它是序列S中所有元素的倍数,那么LCM(S)=X。 例如,LCM(2)=2,LCM(4,6)=12,LCM

L. 457

飞秒激光加工石英玻璃的COMSOL多物理场仿真研究

多物理场仿真是现代工程研发的重要工具,通过耦合电磁、热传导和流体力学等物理场,可以准确预测复杂工况下的材料行为。COMSOL Multiphysics作为主流仿真平台,其双温模型能精确描述飞秒激光加工中的电子-声子耦合过程。这种仿真技术可显著降低实验成本,在微纳加工领域尤为关键。针对石英玻璃这类光学材料,仿真能有效优化激光参数,实现亚微米级精度的冷加工。研究显示,结合移动网格技术和自定义材料状态函数,可以准确预测烧蚀形貌与热影响区分布,为光学器件和微流控芯片制造提供可靠工艺指导。

weixin_29290863的博客 240

C - Orac and LCM(lcm,gcd性质)

题意:给个序列,求所有两两组合的lcm,对这些lcm再求gcd。 性质:两个数的lcm等于,他们各自质因子次数大者的乘积,例如lcm(10,24)=120,其中10=2^1 *5^1, 24=2^3 *3^1,lcm就是取 2^3, 3^1, 5^1。 思路:对于每一个质因子,用k描述它在序列所有数中的出现的次数,如果有2个及以上的数没有这个质因子,那么这两个数的lcm也不包含这个因子,否则对于每一对数的lcm来说都是包含这个因子的,那么现在需要做的是找出所有对的lcm中每个质因子次数最小的。。。。就这样

qq_43543086的博客 403

Label Studio 图像分割自动标注接入教程:从模型预测到一键上传 Predictions

这篇文章详细介绍了如何使用Label Studio进行图像分割任务的自动标注流程。主要内容包括: 环境准备:安装Label Studio和模型推理依赖 项目配置:启动Label Studio服务,创建项目并配置BrushLabels标注界面 数据准备:导入待标注图片,获取API访问凭证 模型推理:运行训练好的分割模型生成预测mask 结果上传:将预测结果转换为Label Studio格式并通过API上传为Predictions 文章提供了完整的操作指南,包括: 详细的命令行参数说明 推荐的项目目录结构 标注

. 452

华为EC6108V9E刷机实战:从U盘准备到开机优化的完整避坑指南

本文提供华为悦盒EC6108V9E刷机与优化的完整实战指南。针对搭载RK3228芯片和安卓4.4.4系统的设备,从型号确认、固件选择、U盘准备,到详细刷机步骤、常见故障排除,以及刷机后的深度性能优化,手把手帮助用户规避风险,让旧盒子焕发新生,成为流畅的全能媒体中心。

weixin_29324401的博客 1194

hdu 5726 GCD

给n个数,q次询问,每次问区间[l,r]的GCD以及整个区间内有多少个gcd为此的区间。 求区间gcd很好求,而有多少个这样的gcd,可以预处理出区间所有的gcd,因为一个n个数的区间最多有logn种gcd,所有暴力枚举即可。 #include <bits/stdc++.h> #define pb push_back #define mp m...

ad4627的博客 195

OpenDRIVE车道计算避坑指南:为什么你的poly3曲线总对不齐?

本文深入解析OpenDRIVE标准中车道几何计算的三大核心难题:参数化三次多项式(ParamPoly3)的坐标系转换与参数映射、车道偏移与宽度的优先级判定,以及螺旋线(Spiral)接续的平滑性保障。通过实战案例与代码示例,提供了一套避免车道线错位与曲率不连续的精确计算与验证方法,是高精地图开发与仿真场景构建的实用避坑指南。

q9w8e7r6t5的博客 424

C. Orac and LCM(gcd与lcm的性质)

Orac有一个长度为n的序列,他想出了一个多集t={lcm({ai,aj}) | i

m0_64158084的博客 778

Python高阶爬虫:逆向工程模拟Wind/同花顺等金融终端数据抓取

本文详细阐述了模拟金融数据终端进行数据抓取的全套技术方案。我们从法律合规性讲起,选择了Playwright作为核心自动化工具,通过两个实战案例(同花顺网页版和Wind桌面版)演示了从分析、模拟到数据解析的完整流程,并进一步介绍了构建健壮爬虫系统所需的高级技巧。我们的策略是:启动一个由Playwright控制的浏览器,模拟真人登录,然后监听所有网络请求,从中过滤出我们需要的那个数据API。if key in ['f43', 'f169', 'f170', 'f46', 'f60']: # 价格类字段。

2201_76125261的博客 546

基于Multisim/TINA的H桥电机驱动电路设计与仿真分析

摘要 本文基于Multisim/TINA仿真平台,对H桥电机驱动电路进行了系统设计与分析。研究重点包括H桥拓扑结构的工作原理、PWM调速控制方法以及两种驱动方案对比分析。通过光耦隔离驱动与IR2110专用驱动IC的仿真对比,验证了IR2110自举电路在高低侧驱动中的优势。仿真实验着重分析了死区时间对防止直通现象的关键作用,并建立了直流电机的R-L-E等效模型进行动态特性仿真。结果表明,采用IR2110驱动方案配合适当的栅极电阻和自举电容参数,能够实现电机的高效双向调速控制。本研究为实际电机驱动系统的设计提供

huanghm88的专栏 138

求最大公约数(gcd)和最小公倍数(lcm)算法

最大公约数:算法思想是欧几里得的辗转相除法

NJU_Flipped的博客 3918

199、医疗内窥镜影像:微型镜头与高色彩保真度的ISP定制化方案

医疗内窥镜影像系统开发面临三大光学挑战:衍射极限导致分辨率下降,微型镜头色差严重,镀膜不足引发红外漏光。团队通过定制化ISP方案解决问题:采用分区色差补偿、红外泄露补偿技术,开发12区域分段颜色校正矩阵,并设计自适应伽马曲线。关键经验包括锁定白平衡避免术中偏色,优化FPGA流水线确保30fps流畅度,强调光学标定优先于算法优化。最终方案使DeltaE降至3以下,满足医生对组织颜色细微差异的识别需求,尤其解决了血管与脂肪边界辨识难题。

zzfmlxs的博客 265

GCD与LCM

整数a和b的最大公约数是指能同时被a和b整除的最大整数,记为gcd(a,b)。例如,gcd(15,81)=3。注意:由于-a的因子与a的因子相同,因此gcd(a,b)=gcd(|a|,|b|)。编码只需关注正整数的最大公约数。整数a和b的最小公倍数表示为为lcm(a,b)。例如,lcm(5,6)=30。

a111737289291的博客 3074

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

数学--GCD和LCM

GCD,LCM,辗转相除法

2302_80219536的博客 1135

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

gcd和lcm算法

gcd和lcm算法 gcd(greatest common divisor)为最大公约数,lcm(least common multiple)为最小公倍数。 gcd算法 下面的算法是欧几里得算法(Euclidean algorithm),也叫辗转相除法。 int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b); } lcm算法 两个整数的最小公倍数与最大公因数之间有如下的关系:

ocfbnj的博客 9431

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

LCM与GCD

LCM最小公倍数、GCD最大公约数: 定理:a、b 两个数的最小公倍数乘以它们的最大公约数等于 a 和 b 本身的乘积。 LCM(a,b)*GCD(a,b)=a*b * GCD最大公约数的递归: * 1、若a可以整除b,则最大公约数是b * 2、如果1不成立,最大公约数便是b与a%b的最大公约数 * 示例:求(140,21) * 140%21 = 14 * 21%14 = 7 * ...

qq_43575703的博客 1316

小小GCD、LCM拿下拿下

GCD、LCM是算法当中的基础之基础,分别对应最大公约数、最小公倍数,在算法竞赛中涉及到的概率也是比较高的,GCD、LCM在小学时就涉及到了求法,本篇将给大家详解GCD、LCM这两个函数,并且提供最简单的模板,在考察时,直接背上即可。

闻道有先后,术业有专攻 2649

GCD和LCM

  GCD _ LCM 是给你两个数A B 的最大公约数, 以及最小公倍数   the greatest common divisor and the least common multiply !   最大公约数最简单、最常见的算法,就是辗转相除法 : 假设 GCD(A , B) ; A / B = P ; A % B = Q; 那么 A = B ...

aoxieqian3601的博客 255

UVA11388 GCD LCM【GCD+LCM】

The GCD of two positive integers is the largest integer that divides both the integers without any remainder. The LCM of two positive integers is the smallest positive integer that is divisible by bot...

海岛Blog 743

LCM与GCD算法

LCM与GCD算法

今を生きる 1192

GCD和LCM算法

a 能整除b,记为 a|b。其中,a 和 b为整数,且a不等于0, b是a 的倍数,a 是b的约数(因子)。如:13|182,一5|35,-3|36;6 的因子是士1、2、土3、土6。性质1)若a,b,c为整数,且alb、blc,则alc;2)若a、b、m,n为整数,且cla、clb,则cl(ma+nb);3)定理:带余除法。如果a和b为整数且b>0,则存在唯一的整数 q、r,使a=bq+r,0

lclchong的博客 2936

【蓝桥杯】GCD与LCM

最大公约数(GCD)和最小公倍数(Least Common Multiple,(a, b)来计算最大公约数。

Hsianus的博客 1538

Python中数学问题1--lcm、gcd

本文详细讲解了关于gcd和lcm最大公约数和最小公倍数相关的知识点、代码模板和经典题型。同时详细解释了裴蜀定理以及reduce函数。

a72024791的博客 2538
上一篇: POJ1306 组合数学之排列 基础例子(一)
下一篇: SPFA 算法详解( 强大图解,不会都难!)
muximuxi525
博客等级 码龄15年 134粉丝 294原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值