1211:分析要素が存在する
説明[タイトル]
であるMのセットを生成し;(2)yはMの要素、その後、2Y + 1及び3Y + 1である場合(1)kは元素Mの既知の集合でありますそれは元素Mである;(3)上記の2例に加えて、他には何も元素Mの数になることはできません
質問:任意のKであり、x、xはMの要素であるか否かを判断してください。kは符号なし整数であり、X 10万以下であり、もしそうであれば、出力YES、そうでない場合、出力NO。
[INPUT]
入力整数k及びXは、カンマで区切られました。
[出力]
もしそうなら、出力YES、それ以外の場合は出力NO。
[サンプル入力]
0.22
[サンプル]出力
YES
明らか再帰
#include<iostream>
using namespace std;
bool judge(int x,int y)
{
//cout<<x<<" "<<y<<endl;
if(x==y)
return true;
if(x>y)
return false;
if(x<y)
{
int c=x;
(x*=3)++;
(c*=2)++;
return (judge(x,y)||judge(c,y));//两个条件满足其一
}
}
int main()
{
char d;
int k,n;
cin>>k>>d>>n;
if(judge(k,n))
{
cout<<"YES";
}
else cout<<"NO";
}