1 条题解
-
0
思路
由目标逆向递减判断,处理根值零与两类前驱。
参考程序(C++11)
#include <bits/stdc++.h> using namespace std; unsigned long long k;bool f(unsigned long long x){if(x==k)return true;if(x<k||x==0)return false;return ((x-1)%2==0&&f((x-1)/2))||((x-1)%3==0&&f((x-1)/3));}int main(){unsigned long long x;char c;cin>>k>>c>>x;cout<<(f(x)?"YES":"NO")<<'\n';}
- 1