NOIP-2009-B2 HANKSON 的趣味题

《P1072 [NOIP 2009 提高组] Hankson 的趣味题》 今天在课堂上,老师讲解了如何求两个正整数 c1​ 和 c2​ 的最大公约数和最小公倍数。接下来的n 行每行一组输入数据,为四个正整数 a0​,a1​,b0​,b1​,每两个整数之间用一个空格隔开。输入数据保证 a0​ 能被 a1​ 整除,b1​ 能被 b0​ 整除。请你帮助他编程求解这个问题。对于每组数据:若不存在这样的 x,请输出 0,若存在这样的 x,请输出满足条件的 x 的个数;第一组输入数据,x 可以是 9,18,36,72,144,288,共有 6 个。x 和 b0​ 的最小公倍数是 b1​。 阅读详情

暴力搜索=80分,对于暴力搜索这种方法来讲,已经不错了!

注意:下面是80分的代码。

正宗解法也是暴力搜索,不过搜索对象不一样 ;)

/*
 * noip-2009-b2 hankson的趣味题
 * mike-w
 */
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<assert.h>
#define PSIZE 10000

long prm[PSIZE];
long ma0[PSIZE],ma1[PSIZE],mb0[PSIZE],mb1[PSIZE];
long a0,a1,b0,b1;

inline int min(int e1,int e2)
{
	return e1<e2?e1:e2;
}

inline int max(int e1,int e2)
{
	return e1>e2?e1:e2;
}

long gprm(long maxv)
{
	long id,i,j;
	prm[0]=2;
	prm[1]=3;
	for(i=5,id=2;i<=maxv;i++)
	{
		for(j=0;j<id;j++)
			if(i%prm[j]==0)
				j=id;
		if(j==id)
			prm[id++]=i;
		if(id==PSIZE)
			return id;
	}
	return id;
}

int fmul(long *s,long e)
{
	int i;
	for(i=0;prm[i]<=e;i++)
		while(e && e%prm[i]==0)
			s[i]++,e/=prm[i];
	return i;
}

long solve(void)
{
	int lim=0;

	memset(ma0,0,sizeof(ma0));
	memset(ma1,0,sizeof(ma1));
	memset(mb0,0,sizeof(mb0));
	memset(mb1,0,sizeof(mb1));
	lim=max(lim,fmul(ma0,a0));
	lim=max(lim,fmul(ma1,a1));
	lim=max(lim,fmul(mb0,b0));
	lim=max(lim,fmul(mb1,b1));
	
	int i,j,t,up;
	long result=1;
	for(i=0;i<=lim;i++)
	{
		t=0;
		up=max(max(ma0[i],ma1[i]),max(mb1[i],mb0[i]));
		for(j=0;j<=up;j++)
			if(min(j,ma0[i])==ma1[i] && max(j,mb0[i])==mb1[i])
				t++;
		if(t==0)
			return 0;
		else
			result*=t;
	}
	return result;
}

int main(void)
{
	int n,i;
	scanf("%d",&n);
	gprm(2000000001L);
	for(i=0;i<n;i++)
	{
		scanf("%ld%ld%ld%ld",&a0,&a1,&b0,&b1);
		printf("%ld\n",solve());
	}
	return 0;
}



【noip2009提高组】 Hankson 的趣味题 欧几里得(数论) 题目描述Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson。现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题。今天在课堂上,老师讲解了如何求两个正整数 c1 和 c2 的最大公约数和最小公倍数。现在 Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的:已知正整 阅读详情

相关推荐

winget安装提示:执行此命令时发生意外错误: InternetOpenUrl() failed. 0x80072efd

当我们使用Winget包管理器安装应用,提示错误:执行此命令时发生意外错误: InternetOpenUrl() failed. 0x80072efd 该怎么处理呢?请听我娓娓道来。

Linux I Tell U 8136

Hankson 的趣味题

题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson。现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题。 今天在课堂上,老师讲解了如何求两个正整数 c1 和 c2 的最大公约数和最小公倍数。现在 Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这...

weixin_30925411的博客 286

Dify+MCP 双剑合璧:告别知识库模糊统计,让AI精准查询数据库数据!

本文详细介绍了如何通过Dify和MCP的结合,解决知识库在数据库查询中的模糊统计问题。通过MCP中间件将自然语言实时转换为SQL语句,实现精准数据查询,并支持SSE协议持续更新数据。文章包含MySQL环境搭建、MCP服务端部署、Dify工作流配置等实战步骤,帮助用户高效构建智能数据库查询系统。

weixin_33737774的博客 368

[NOIP2009 提高组] Hankson的趣味题【数论易懂讲解+ 思路推敲代码 + 代码注释 + 保你看懂】

细致入微,真的不能再细了,小白也包看懂!

m0_63613132的博客 1115

WIFI 相关的频偏调试以及天线调试记录

WIFI RF 相关的频偏调试以及天线调试 1,频率误差(Frequency Error) 频率误差(Frequency Error):表征射频信号偏离该信号所处信道中心频率的大小,单位PPM。频偏误差要求范围如下表。 频偏越小越好。PPM的计算公式如下: 问题: 我们ESP8089认证测试的时候频偏测试超了。需要修改哪些呢。 测试频率点在2.411865385GHz 宣称点:2.412GHz 频率偏移计算:{(2.412GHz-2.411865385GHz)÷2...

armkits的博客 1万+

手把手教你解决Ubuntu 20.04虚拟机桥接模式下的网络问题:DHCP与静态IP配置全指南

本文详细解析了Ubuntu 20.04虚拟机在桥接模式下的网络配置问题,包括DHCP与静态IP的配置方法及常见故障排查技巧。通过深入讲解桥接模式原理和提供实战操作指南,帮助用户解决无法访问外网、ping不通等典型网络问题,实现虚拟机与物理网络的无缝连接。

weixin_29256771的博客 542

Hankson趣味题

1.基本要求 求N个数的最大公约数和最小公倍数 1.1算法思路 先求出两个数的最大公约数(最小公倍数),然后将他们的最大公约数(最小公倍数)与第三个数求最大公约数(最小公倍数),由此递推求多个数的最大公约数(最小公倍数)。 1.3运行结果 1.4调试结果 2.提高要求 Hankson趣味题—“求公约数”和“公倍数”之类问题的逆问题 2.1算法思路 先用穷举法求出两个数的最大公约数和最小公倍数,...

qq_43266440的博客 571

Mamba实战:如何用Samba框架轻松搞定RGB-D显著性检测(附避坑指南)

本文提供了基于Samba框架进行RGB-D显著性目标检测的实战指南。详细解析了从环境配置、数据预处理到模型推理与可视化的全流程,并重点剖析了多模态数据融合中的常见陷阱与调试技巧,旨在帮助开发者高效部署这一基于Mamba的先进视觉模型,规避工程实践中的典型问题。

dapp9builder的博客 615

P1072 [NOIP2009 提高组] Hankson 的趣味题

P1072 [NOIP2009 提高组] Hankson 的趣味题

You_are_hanson的博客 1012

【OpenClaw企业级智能体实战】第27篇:Skill生态运营——企业私有Skill商店的搭建与审核机制

2026年ClawHavoc供应链攻击事件曝光超1200个恶意Skill渗透公共技能市场,工信部明确要求企业审慎使用第三方技能包并严格审查代码。本文基于真实安全事件与行业实践,完整讲解企业私有Skill商店从0到1搭建方案,覆盖小团队极简GitLab私有仓库、中大型企业Nacos 3.2私有Registry两种主流架构,配套企业级安全审核四步法、静态代码扫描规则、CI/CD自动化审计、数字签名校验与版本生命周期管理。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 499

ABB机器人与S7-1200PLC实现位置坐标数据发送和接收的具体方法

ABB机器人与S7-1200PLC实现位置坐标数据发送和接收的具体方法

Robot_PLC_HMI_Automation 2916

200 Hankson的趣味题(暴力枚举优化)

1. 问题描述: Hanks 博士是 BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫 Hankson。现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题。今天在课堂上,老师讲解了如何求两个正整数 c1 和 c2 的最大公约数和最小公倍数。现在 Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的:已知正整数 a0,a1,b0,b1,设某未知正整数 x 满足:x 和 a0 的最大公约数是 a1;x 和 b0

二哈 1025

论文阅读: SIGIR 2025 ID-Free Not Risk-Free: LLM-Powered Agents Unveil Risks in ID-Free Recommender Syste

咱们平时用的推荐系统(比如购物APP推商品、视频APP推剧),大多是“有ID”的——每个用户、每个商品都有个专属ID,系统靠这些ID记录你的浏览、购买历史,再给你推喜欢的东西。但这种方式有个大问题:新用户、新商品刚上线时没有ID历史数据,系统没法精准推荐,这就是“冷启动”难题。后来人们搞出了“无ID推荐系统”:不用ID了,改成直接分析商品的文字信息(比如商品标题、描述),靠大语言模型(LLM,类似ChatGPT的技术)把文字转成“语义代码”,再通过这些“代码”判断你可能喜欢什么。

CSPhD-winston的博客 976

P1072 [NOIP2009 提高组] Hankson 的趣味题【GCD】

Hanks 博士是 BT(Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson。现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题。今天在课堂上,老师讲解了如何求两个正整数c1​和c2​的最大公约数和最小公倍数。现在 Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的:已知正整数a0​a1​b0​b1​,设某未知正整数xx和a0​的最大公约数是a1。

海岛Blog 1251

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

VC中sqlite的使用

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

P1072 [NOIP 2009 提高组] Hankson 的趣味题

条件转化:根据最大公约数和最小公倍数的性质,可以将条件转化为:gcd(x/a1,a0/a1)=1 gcd(b1/x,b1/b0)=1这样可以将问题转化为对 x 的因数分解和条件判断。因数分解:对 b1进行质因数分解,得到所有可能的 x 的因数。对每个因数 x,检查是否满足上述两个条件。统计满足条件的 x.

2302_79431881的博客 1217

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

NOIP2009提高组.Hankson的趣味题

数论算法

Ayanami_Rei的博客 1205

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

[NOIP2009 提高组] Hankson 的趣味题 洛谷绿题题解

[NOIP2009 提高组] Hankson 的趣味题 洛谷绿题题解

yaosichengalpha的博客 1550

NOIP2009Hankson的趣味题

题目戳这里分析题目gcdgcd(x,a0)=a1\;\;\;\;gcd(x,a_0)=a_1 ⇒{x=k1∗a1a0=k2∗a1 \Rightarrow\left\{\begin{aligned}x=k_1*a_1\\a_0=k_2*a_1\\\end{aligned}\right.⇒gcd(k1,k2)=1\Rightarrow gcd(k_1,k_2)=1简单证明:假设 gcd(k1,k2)

Focus 8417

打卡信奥刷题(2384)用C++实现信奥 P1072 [NOIP 2009 提高组] Hankson 的趣味题

题目摘要: Hankson的趣味题要求根据给定条件计算满足要求的正整数x的个数。已知a0,a1,b0,b1,x要满足: gcd(x,a0)=a1 lcm(x,b0)=b1 输入包含n组数据,每组输出满足条件的x的个数(可能为0)。 解法摘要: 通过数学分析转化为条件验证: 枚举b1的因数x 检查x/a1是否能整除且与a0/a1互质 检查b1/x与b1/b0是否互质 使用gcd函数验证条件,避免重复计算平方因数 该题考察数论知识,包括因数分解和最大公约数的应用。

Loge谈信奥--一个专注于信奥人的博客 809

[NOIP2009 提高组] Hankson 的趣味题(数学)

Hanks 博士是 BT(Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson。现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题。今天在课堂上,老师讲解了如何求两个正整数c1​和c2​的最大公约数和最小公倍数。现在 Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的:已知正整数a0​a1​b0​b1​,设某未知正整数xx和a0​的最大公约数是a1。

m0_60738889的博客 1749

【Noip2009】hankson的趣味题

题目描述Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson。现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题。今天在课堂上,老师讲解了如何求两个正整数 c1 和 c2 的最大公约数和最小公倍数。现在 Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的:已知正整

没有听众的演讲 820

NOIP2009 Hankson的趣味题

题目描述 Hanks 博士是 BT(Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson。现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题。 今天在课堂上,老师讲解了如何求两个正整数c1​和c2​的最大公约数和最小公倍数。现在 Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的...

weixin_30823001的博客 287

NOIP 2009 Hankson 的趣味题

洛谷 P1072 Hankson 的趣味题 洛谷传送门 JDOJ 1648: [NOIP2009]Hankson的趣味题 T2 JDOJ传送门 Description   Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Hankson。现在,刚刚放学回家的Hankson 正在思考一个有趣的问题。   今天在课堂上,老师讲解了如何求两个正整数c1 和c2...

anhaoti3785的博客 193

[NOIP 2009 提高组] Hankson 的趣味题

设为和的最大公约数,为与的最小公约数由题可知:因为所以我们可得结论:对于两个整数,设就存在将​化简:运用上述结论:最后总结一下得:以上就是公式的全部推导过程。

Sui_Hui的博客 221
上一篇: NOIP-2009-B1 潜伏者
下一篇: HDU-2602 0-1背包
creativewang
博客等级 码龄17年 20粉丝 203原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值