---再帰的な要素があるかどうかを決定します

トピックリンクは
ニンニク王はMMのコレクションが生成されました:

(1)既知のKK MM要素の集合である;
(2)MMのYYが要素である場合、次いで、2Y + 12Y + 1及び3Y + 13Y + 1素子MMである;
(3)上記の2例に加えない他の番号はMMの要素とすることができます。
質問:考える株式会社とXX(0 \ルkの\ X-ル\ル50≤k≤x≤10^ 10
5
)、要素かどうかを確認してくださいxxのMMです。

もしそうなら、出力「YES」、そうでない場合は出力「NO」。

入力形式の
入力と整数KK xxは、カンマで区切られました。

出力フォーマット
もしそうなら、出力「YES」、そうでない場合は出力「NO」。

各行の最後に余分なスペースが、その答えは、出力の有効性には影響を与えません。

サンプル入力
0.22
サンプル出力
YES

#include <stdio.h>
#include <algorithm>
#include <iostream>
#include <stdlib.h>
#include <cstring>
using namespace std;
int k,x;
bool judge(int n)
{
    if(n>x)
        return false;
    if(n==x)
        return true;
    if(judge(2*n+1)||judge(3*n+1))
        return true;
    return false;
}
int main()
{
    char c;
    cin>>k>>c>>x;
    int n=k;
    bool f=judge(n);
    if(f==true)
       cout<<"YES"<<endl;
    else
       cout<<"NO"<<endl;
}

公開された67元の記事 ウォンの賞賛2 ビュー1805

おすすめ

転載: blog.csdn.net/weixin_44641254/article/details/104226134