牛客周赛round57 E题
数学题。。。
这个代码很简单,但是我看不懂为什么取2e3。。。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll k1,k2;
cin>>k1>>k2;
auto check=[&](ll x,ll k)
{
while(x)
{
if(x%k>1)return false;
x/=k;
}
return true;
};
for(ll i=k2;i<=2e3+k2;i++){
if(check(i,k1)&&check(i,k2)){
cout<<"YES"<<endl;
cout<<i<<endl;
return 0;
}
}
cout<<"NO";
return 0;
}