Coin HDU
来源:互联网 发布:国际淘宝怎么开 编辑:程序博客网 时间:2024/05/19 22:54
传送门
题目大意:两个素数可以表示n大的所有数,比如:比23大的所有的整数都可以用5和7 表示。那么5和7就可以表示比23大的所有的整数。给两个素数求出这个n。
公式证明:
设所求为n,那么n+a、n+b可以用a、b线性表出,而n不可。
所以 n+a=x1*a+y1*b,n+b=x2*a+y2*b
所以 n=(x1-1)*a+y1*b n=x2*a+(y2-1)*b
因为n不能被线性表出,所以x1=0,y2=0
所以 n+a=y1*b,n+b=x2*a
所以 n+a=y1*b,n+a=(x2+1)*a-b
所以 (x2+1)*a-b是b的倍数
因为a、b互质,所以(x2+1)是b的倍数
因为求最小的n,所以选最小的x2值,所以取(x2+1)为b
所以 n+a=b*a-b,n=a*b-a-b
证毕
数论题永远都是这么坑
AC代码:
#include <iostream>#include <cstdio>using namespace std;int main(){int t;scanf("%d", &t);long long a, b;while(t--){scanf("%lld%lld", &a, &b);printf("%lld\n", a*b-a-b);}return 0;}
阅读全文
0 0
- Coin HDU
- HDU 2069 Coin Change
- HDU 2068 Coin Change
- HDU 3951 Coin Game
- hdu 2069 Coin Change
- hdu 1029 False coin
- HDU 2069 Coin Change
- HDU:3951 Coin Game
- Hdu 3951 Coin Game
- HDU 2069 Coin Change
- hdu 2069 Coin Change
- HDU 2069 Coin Change
- HDU 2662 Coin
- hdu 2069 Coin Change
- hdu 2069 Coin Change
- hdu-2069-Coin Change
- HDU 2069 Coin Change
- hdu---2069Coin Change
- 3, js 基础之switch语句
- HDU 6069 Counting Divisors【约数个数定理】
- Spring Retry实现原理
- cookie
- MongoDB In Action-文档与插入
- Coin HDU
- 成为Java高手的25个学习要点
- 4, js 基础之 for 循环语句
- hdu 2044 一只小蜜蜂 动态规划 简单
- HDU 6140 Hybrid Crystals【阅读题】【水题】
- hdu6134-(莫比乌斯反演)
- 18考研-数据结构复习笔记-线性表03
- java 第一篇 io 相关笔记
- SplashActivity