hdu6999

news/2024/11/24 11:35:30/

2021 年百度之星·程序设计大赛 - 初赛一Problem 1004 萌新

problem Description

给定两个正整数 a,b,求最小和最大的 c 满足 a mod c=b mod c,满足 c-1 为正整数,且 c≤max(a,b)。

思路

正整数a,b除以c有相同的余数,则可得 a - b=c*x(这里假定a>=b),则最大的c即x=1时,c=a-b,最小的c为a-b的最小因数。因为c-1要满足为正整数,即c>=2,所以当a-b=1时无解。
由于要找出a-b的最小因数,因此需提前计算1-32000(根号1e9)内的所有质数。

const int maxn=32000;
int prime[maxn];
int prime_sum=0;
void prime_init(){bool visit[maxn];memset(visit,1,sizeof(visit));visit[1]=0;for(int i=2;i<maxn;i++){if(visit[i]){prime[++prime_sum]=i;for(int j=i*i;j<maxn;j+=i) visit[j]=0;}}
}

这里要加一个特判,即当a=b时,如果a=b=1,此时无解输出-1,其它情况输出2与a。

代码

int main(){prime_init();int T;scanf("%d",&T);while(T--){int a,b;scanf("%d%d",&a,&b);if(a<b) swap(a,b);int t=a-b;if(t==1) printf("-1 -1\n");else{if(a==b){if(a==1) printf("-1 -1\n");else printf("2 %d\n",a);}else{int temp=t;for(int i=1;i<=prime_sum;i++){if(prime[i]>t) break;if(t%prime[i]==0){temp=prime[i];break;}}printf("%d %d\n",temp,t);}}}return 0;
}

end

这是我在CSDN发的第一篇博客,主要是想记录自己的学习刷题过程,本人目前也只是一个弱校在读大学生,如文章有所错误欢迎指出交流,感谢阅读。


http://www.ppmy.cn/news/115563.html

相关文章

达人评测 i9 12900hk和 i9 11980hk 差距大不大

i9 12900HK拥有14核心20线程&#xff0c;包括6个大核、8个小核&#xff0c;基准频率2.9GHz&#xff0c;最高加速4.8GHz&#xff0c;二级缓存为2.5MB&#xff0c;三级缓存为24MB。选i9 12900HK还是i9 11980hk这些点很重要http://www.adiannao.cn/dy 酷睿 i9-11980HK 采用了 8 核…

r9 5980hs参数 r9 5980hs性能怎么样 相当于什么水平

AMD锐龙9 5980HS是基于Cezanne的大型&#xff08;游戏&#xff09;笔记本电脑的处理器。 R9 5980HS集成了基于Zen 3微体系结构的所有八个内核。 它们的频率为3&#xff08;保证的基本频率&#xff09;至4.8 GHz&#xff08;Turbo&#xff09;&#xff0c;并支持SMT /超线程&…

超宽屏幕比例_49寸,1800R大曲率,32:9超宽比例的带鱼屏你见过吗

49寸&#xff0c;1800R大曲率&#xff0c;32&#xff1a;9超宽比例的带鱼屏你见过吗 2020-07-18 15:05:39 5点赞 4收藏 1评论 一般来说&#xff0c;16:9比例的屏幕是我们日常生活中最常见到的。这是因为16:9的比例和我们人眼的视野范围比较接近&#xff0c;匹配度也要更高一点。…

GM8906C替代DS90UR906,GM8913替代DS90UB913Q,GM8914替代DS90UB914Q,GM8905C替代DS90UR905QSQ

成都振芯科技股份有限公司 LVDS类&#xff1a;GM8284DD,GM8285C,GM8913,GM8914,GM8905C,GM8906C 视频类&#xff1a;GM7150BC,GM7121-D/GM7122,GM7123C LVDS类GOTECOM(振芯国腾&#xff09;替代TI封装 GM8905C DS90UR905QSQQFN48代理现货批量供应 GM8906C DS90UR906QFN代理…

889

DSLR相機連拍必備寫入高達每秒36MB Apacer 300X Photo Steno Pro IV CF 8GB記憶卡,特價:3999元【黑白琴鍵】 2.5吋 320G SATA行動硬碟,特價:2799元多色風采!質感一流! SDT晶采2.5吋250G SATA行動硬碟,特價:2099元eSATA介面、真正發揮SATA高速傳輸 CyberSLIM G70 3.5吋 320GB eS…

joj 2699

水题 简单的博弈思想 #include<iostream> #include<stdio.h> using namespace std; int main() { int n,k; while(scanf("%d%d",&n,&k),n||k) { int in%(k1); if(i!1) printf("16\n"); …

HDU 3899

题意&#xff1a;给一个有N个顶点的树&#xff0c;每个顶点上有Ti个元素&#xff0c;树的每条边都有一个长度Ci。假设Cost_i为树中的每个元素到顶点i的距离之和。题目要求找出树中的一个顶点x&#xff0c;使得Cost_x最小。 解法&#xff1a;最近这类题目比较多&#xff0c;解法…

Hoj 1868 八数码问题

题目链接&#xff1a;http://acm.hit.edu.cn/hoj/problem/view?id1868 超时的写法&#xff1a;容易想到的是一遍搜索&#xff0c;把所有的状态都保留下来&#xff0c;我们只要建立0-8的全排列和0-362879的对应起来&#xff0c;就可以了。其中fact数组保留了以当前标号开始的全…