Codeforces 1521A. A. Nastia and Nearly Good Numbers
原题链接
简单
作者:
蓬蒿人
,
2022-03-10 00:26:53
,
所有人可见
,
阅读 177
1521A
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
// 题目大意
// 有t组测试数据,每组包含a和b
// 定义 好数可被a*b整除 一般数仅可被a整除
// 问对于ab能否找到一组xyz使得 有俩数一般好 一个数好 同时x+y=z
// 1<=a,b<=1e6 1<=xyz<=1e18
// 不要想ab是否会相等 ab是两个数
/*--------------解题思路--------------------*/
// 可以发现若有解 xyz必然|a
// 所以对于有解的情况 1+b=b+1的组合就是答案 再将每个数都*a
// a+a*b=a*(b+1)就是答案
// 同时我们发现 b必须>1因为 若b=1则 会出现相同的数a+a=a*2
// 1+(b-1)=b的形式 使得b=2无法得出正解 应变形为1+b=b+1
typedef long long ll;
ll T,a,b;
int main(){
scanf("%lld", &T);
while (T--){
scanf ("%lld%lld",&a,&b);
if (b==1){
puts("NO");
continue;
}
puts("YES");
printf ("%lld %lld %lld\n",a,a*b,a*(b+1));
}
}