A Simple Math Problem HDU - 5974(思维+数论)

SerDes系列之FFE均衡技术 FFE的基本结构可以在RX侧或TX侧实现,其基本工作原理相同:它通过从同一信号源应用适当的延迟来产生多径信号,然后对它们进行线性缩放和组合以消除信道ISI。 阅读详情

A Simple Math Problem HDU - 5974

Given two positive integers a and b,find suitable X and Y to meet the conditions:
                                                        X+Y=a
                                              Least Common Multiple (X, Y) =b

Input
Input includes multiple sets of test data.Each test data occupies one line,including two positive integers a(1≤a≤2*10^4),b(1≤b≤10^9),and their meanings are shown in the description.Contains most of the 12W test cases.
Output
For each set of input data,output a line of two integers,representing X, Y.If you cannot find such X and Y,output one line of “No Solution”(without quotation).
Sample Input

6 8
798 10780

Sample Output

No Solution
308 490
题意:

要我们求解xy使得
x+y=ax+y=a
lcm(x,y)=blcm(x,y)=b
如果能找到一组解输出x y,否则输出“No Solution”

分析:

首先我们对二式变一下型

lcm(x,y)=blcm(x,y)=b

↓↓

x⋅ygcd(x,y)=bx⋅ygcd(x,y)=b

↓↓

x⋅y=b⋅gcd(x,y)x⋅y=b⋅gcd(x,y)
x+y=ax+y=a

↓↓

x⋅(a−x)=b⋅gcd(x,y)x⋅(a−x)=b⋅gcd(x,y)

↓↓

x2−ax+b⋅gcd(x,y)=0x2−ax+b⋅gcd(x,y)=0

所以题目转化成了求解这个二次方程,看似一元二次方程
但是其中还有一个大问题就是gcd(x,y)gcd(x,y)怎么求?或者说我们可以怎么表示gcd(x,y)gcd(x,y)

下面我们对x,yx,y进行分析:

设g=gcd(x,y)g=gcd(x,y)

则:

x=k1⋅gx=k1⋅g

y=k2⋅gy=k2⋅g

因为g是x,y的最大公因数那么k1,k2k1,k2一定是互质的数

我们代回最初的方程组中得到

{k1⋅g+k2⋅g=ak1⋅g⋅k2⋅g=b(67)(67){k1⋅g+k2⋅g=ak1⋅g⋅k2⋅g=b

                                                          ↓                                                          ↓

{k1+k2=agk1⋅k2=bg(121)(121){k1+k2=agk1⋅k2=bg

因为k1,k2k1,k2是互质的,那么k1+k2,k1⋅k2k1+k2,k1⋅k2是互质的


下面给出该结论的证明:

p,qp,q是互质的两个整数

M=p+q,N=pqM=p+q,N=pq

假设M,N不是互质的

那么必有M=aNM=aN 或 N=aMN=aM a为整数

我们以M=aNM=aN为例,则原式等于 p+q=apqp+q=apq

p=q(ap−1)p=q(ap−1)

pq=ap−1pq=ap−1

因为p,q互质所以pqpq一定不会得到整数

但是a是整数,p是整数,则ap-1是整数

所以等式两边相矛盾故:

若p,q是互质的,那么p+q和pq也是互质的


{k1+k2=agk1⋅k2=bg(171)(171){k1+k2=agk1⋅k2=bg

那么有了这个结论说明agag和bgbg是互质的,那么g就是a,b的最大公因数

也就是gcd(a,b)=gcd(x,y)gcd(a,b)=gcd(x,y)

所以该题目转变成

求解一元二次方程 x2−ax+b⋅gcd(a,b)=0x2−ax+b⋅gcd(a,b)=0

code:

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int gcd(int a,int b){
    return b ? gcd(b,a%b) : a;
}
int a,b;
int main(){
    while(scanf("%d%d",&a,&b) != EOF){
        int diat = a * a - 4 * b * gcd(a,b);
        if(diat < 0){
            printf("No Solution\n");
        }
        else{
            int p = (int)sqrt(1.0*diat);
            if(p * p != diat){
                printf("No Solution\n");
            }
            else{
                int x1 = (a + p) / 2;
                int x2 = (a - p) / 2;
                int x = min(x1,x2);
                printf("%d %d\n",x,a-x);
            }
        }
    }
    return 0;
}
基于Multisim的三相桥式全控整流电路建模、仿真与综合分析 本文基于Multisim 14.2平台,系统研究了三相桥式全控整流电路的建模与仿真方法。首先阐述了电路拓扑结构和工作原理,建立了数学模型。重点介绍了在Multisim中搭建主电路、设计六脉冲触发系统(含两种实现方案)的关键步骤,以及参数设置技巧。通过仿真分析了不同负载(阻性、阻感性)和触发角(0°-90°)下的输出特性,包括电压波形、电流谐波等性能指标。研究为电力电子教学提供了直观的仿真范例,并探讨了模型改进方向与实际工程应用价值。 阅读详情

相关推荐

小红书图文AI创作:输入主题,一键生成图文(coze工作流教程+获取)

输入主题,工作流一键生成小红书风格图文,30s一条,可批量生成

2301_79384090的博客 2798

A Simple Math Problem HDU - 5974 (数学)

Given two positive integers a and b,find suitable X and Y to meet the conditions: X+Y=a Least Com...

码农的一亩三分地 261

K230开发板实战:5步搞定YOLOv8模型部署(附常见报错解决方案)

本文提供了一份详细的K230开发板部署YOLOv8模型的实战教程。内容涵盖从环境准备、模型转换到代码编写的完整流程,并重点解析了使用AICube工具链时常见的“生成部署文件异常”等报错解决方案,旨在帮助开发者高效完成嵌入式AI模型部署。

weixin_29053073的博客 784

A Simple Math Problem

描述: Huanhuan challenges you to a simple math problem. Define F(x) as the sum of the decimal digits of xx. For example: F(123)=1+2+3=6, F(700)=7+0+0=7. Huanhuan wants you to calculate the sum of F(j) for every i,j that satisfy 1≤j≤i≤n andi,j are coprime

weixin_62767819的博客 474

用Verilog搭出RISC-V架构单周期CPU

这是笔者学校暑期学期的必修课,难度并不高(仅追求及格的话),但相当耗时,对于在硬件设计方面完全不感冒的同学更是一场避不开的折磨,所以笔者想通过自己的成果和被折磨经验来帮助有此方面需求的同学,或是对于CPU设计有浓厚兴趣的人。

paticita的博客 1万+

从零到英雄:Spring Boot 微服务架构全攻略

在数字化转型的时代,微服务架构已成为构建可扩展、高可用系统的首选方案。本文以“从零到英雄”为主题,详细指导读者使用Spring Boot快速构建微服务帝国。从基础环境搭建入手,逐步深入到服务发现、配置管理、负载均衡、断路器、API网关、安全认证、监控与部署等核心模块。通过大量代码示例和详细解释,包括中文注释,帮助初学者和中级开发者掌握Spring Boot的核心概念和技术实践。文章强调实际操作,涵盖RESTful API开发、数据库集成、容器化部署等内容,并讨论常见问题与优化策略。无论你是Java开发者还是

一个被知识诅咒的人 2699

HDU5974方程化简

题意: Given two positive integers a and b,find suitable X and Y to meet the conditions: ​ X+Y=a ​ Leas...

Ivan_zcy的博客 741

手把手教你用certificate-manager修复Vcenter证书过期问题(附密码重置技巧)

本文详细解析了Vcenter证书过期引发的503服务不可用、密码错误等典型故障现象,并提供了使用certificate-manager工具进行系统性修复的完整步骤。文章重点阐述了证书体系原理、精准诊断方法,并分享了在SSO验证失败时通过vdcadmintool重置密码的关键技巧,帮助管理员快速恢复平台并建立预防性运维策略。

swift5iosmith的博客 457

HDU 5974 A Simple Math Problem (数论,大连区域赛)

大体题意: 给你a和b,让你求出X和Y,使得X + Y = a    lcm(x,y) = b 思路: 看数据范围肯定不能进行暴力枚举了! 令gcd(x,y) = g; 那么 g * k1 = x; g * k2 = y; 因为g 是最大公约数,那么k1与k2 必互质! =>   g*k1*k2 = b =>   g*k1 + g * k2 = a; 所以k1 * k2 =

aozil_yang的博客 2981

油气井管柱力学发展

油气井管柱力学发展 1 石油管柱力学问题的发复杂性 1)油气管柱动力学的非线性 钻井中钻柱在重力、钻压、扭矩、钻井液浮力和井壁约束等作用下,产生三维变形。一方面随井眼轴线的弯曲而弯曲,这一变形被称为管柱的初位移;另一方面,管柱在运动过程中相对井眼轴线也有变形,这种变形被称为计算位移。管柱大变形主要表现在初位移部分,计算位移相对很小。大曲率井眼中管柱产生大挠度,但管柱很长且柔软性较好,变形一般仍保持...

weixin_43831995的博客 949

Python 爬虫实战:亚马逊商品评论 + 评分抓取(情感分析数据预处理)

在电子商务领域,用户评论是了解产品口碑和市场反馈的重要渠道。亚马逊作为全球领先的电商平台,拥有海量的商品评论数据。本文将详细介绍如何使用 Python 编写爬虫程序,从亚马逊网站抓取商品评论和评分数据,并进行情感分析的数据预处理。

yansideyucsdn的博客 769

HDU - 5974-A Simple Math Problem(gcd)

HDU - 5974-A Simple Math Problem 题目大意:给你2个正整数a、b,要求你找出2个数x、y满足2个条件(1)x+y=a(2)x和y的最小公倍数是b,有则输出x、y,没有就输出“No Solution” 解题思路:首先按照正常的思路,分析题目,通过找b的因子来找到符合条件的x、y,b最大为10^9,也就是可以在sqrt(b)的时间复杂度内完成,但是题目是多组输出,也没有...

weixin_43871404的博客 229

IEC 104电力规约详细解读(一) - 报文结构、报文分类、ASDU

比如,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧,当然也可以不要求(S帧内容示例参考例1)。所以U帧格式的控制欲第一个字节就只有6种情况,分别是0x83(TESTER确认)、0x43(TESTER命令)、0x23(STOPDT确认)、0x13(STOPDT命令)、0x0B(START确认)、0x07(START命令)ASDU(应用服务数据单元),协议原文格式最好去101协议去看看,会比较详细。遥信、遥测、遥控、遥调、总召、对时等都需要使用I格式传送。

张二狗的博客 1万+

D - A Simple Math Problem HDU - 5974数论—欧几里得

@数论之欧几里得 gcd(an,bn)=ngcd(a,b); 这道题可以用到的是: 条件:a=x+y;b=xy; 结论:gcd(x,y)==gcd(a,b); 题目:D - A Simple Math Problem HDU - 5974 Given two positive integers a and b,find suitable X and Y to meet the conditions:

weixin_45753778的博客 212

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

hdu 5974 A Simple Math Problem

A Simple Math Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 3    Accepted Submission(s): 3 Problem Description Given two

bitwater的空间 1076

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

HDU 5974 A Simple Math Problem(数论)

题目链接 A Simple Math Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 833    Accepted Submission(s): 291 Problem Description

fouzhe的博客 340

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

HDU 5974 A Simple Math Problem (数论+解方程组)

Problem Description Given two positive integers a and b,find suitable X and Y to meet the conditions: X+Y=a Least Common Multiple (X, Y) =b Input Input includes multiple sets of test data

小坏蛋_千千 1320

HDU - 5974 - A Simple Math Problem 【 数论 】题解

目录1.题目2.代码 1.题目 Given two positive integers a and b,find suitable X and Y to meet the conditions: X+Y=a Least Common Multiple (X, Y) =b Input Input includes multiple sets of test data.Each test data occupies one line,including two positive integers a(1≤a≤2

林深不见鹿 的博客 360

HDU 5974 A Simple Math Problem (数学)

A Simple Math Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 86    Accepted Submission(s): 49 Problem Description Give

In my way 1059

D - A Simple Math Problem HDU - 5974(数论)

Given two positive integers a and b,find suitable X and Y to meet the conditions:X+Y=a Least Common Multiple (X, Y) =b Input Input includes multiple sets of test data.Each test data occupies one line,including two positive integers a(1≤a≤2*104),b(1≤b≤109),

Ditto_xff的博客 279

hdu5974 A Simple Math Problem(数学)

题目链接 大意:给你两个数X,YX,YX,Y,让你找两个数a,ba,ba,b,满足a+b=X,lcm(a,b)=Ya+b=X,lcm(a,b)=Ya+b=X,lcm(a,b)=Y. 思路:枚举gcd(a,b)gcd(a,b)gcd(a,b),假设gcd(a,b)=k,那么a=xa∗k,b=xb∗k,gcd(a,b)=k,那么a=x_a*k,b=x_b*k,gcd(a,b)=k,那么a=xa​∗k,...

pubgoso的博客 205

HDU 5974 A Simple Math Problem

null

菜鸡成长记 221

hdu 5974 A Simple Math Problem

A Simple Math Problem Problem Description Given two positive integers a and b,find suitable X and Y to meet the conditions:                                                         X+Y=a        

Hi_jiaxinwei的博客 354

HDU5974 LA7726 A Simple Math Problem【GCD】

A Simple Math Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 9457 Accepted Submission(s): 2997 Problem Description Given two positive integers a and b,find suitable X and Y to meet the co

海岛Blog 415

HDU - 5974 A Simple Math Problem (数论解方程)

Given two positive integers a and b,find suitable X and Y to meet the conditions: X+Y=a Least Common Multiple (X, Y) =b Input Input includes multiple .

。 346

HDU - 5974 A Simple Math Problem 题解

D - Simple Math Problem 戳上方进入原题哟~ 题目大意 给一个数 a,b。 让你求满足一下条件的 X,Y: X+Y = a LCM(X,Y) = b 解析 题目给出时间限制1s,这道题暴力肯定过不了了0.0。 在审题的时候,我注意到 gcd(a,b) = gcd(X,Y),个人感觉这是解题关键于是就以这个为基础开始推导: 设gcd(X,Y) = g 则有 gk1 = X , gk2 = Y 不难看出 a = g*(k1+k2) 且 b = g * k1 * k2 -------

Is_TuTouYa的博客 603
上一篇: Pave the Parallelepiped(有重复组合公式+状态压缩)
下一篇: Wrestling Match HDU - 5971(染色法判二分模板)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值