【Netease】2023年秋採用筆記試験(機械学習アルゴリズムポスト)

【Netease】2023年秋採用筆記試験(機械学習アルゴリズムポスト) 1.マジックコイン

説明

シャオイーは、マジック アーティファクトを購入するためにマジック キングダムに行きます。マジック アーティファクトを購入するには、マジック コインを使用する必要がありますが、シャオ イーは現在マジック コインを持っていませんが、シャオ イーには x (x は 0) 個のマジック コインを投資することでさらに多くのマジック コインを生成できる 2 台のマジック マシンがあります。
マジック マシン 1: x 個のマジック コインを入れると、マジック マシンは 2x+1 のマジック コインに変えます。マジック マシン 2: x 個のマジック コインを入れると、マジック マシンは 2x+2 のマジック コインに変えます。シャオ イーはマジック アーティファクトを購入するのに合計 n 枚のマジック コインが必要なので、シャオ イーは 2 台の
マジック マシンで正確に n 個のマジック コインしか生成できません。シャオ イーは、最終的にちょうど n 個のマジック コインを獲得できるように、投資計画を立てるのを手伝ってもらう必要があります

入力

入力には、Xiao Yi が必要とするマジック コインの数を示す正の整数 n (1 ≤ n ≤ 10^9) を含む 1 行が含まれています。

出力

文字列を出力します。各文字は、Xiaoyi が今回投資することを選択した魔法のマシンを表します。これには文字「1」と「2」のみが含まれます。

サンプル入力

10

サンプル出力

122

問題解決のアイデア:

最初のアイデアは深く探すことです

#include <iostream>

名前空間 std を使用します。

void dfs(string &res, string &path, int sum, int target) { 
    if (sum > target) { 
        path.back(); 
        戻る; 
    if (sum == ターゲット) { 
        if (res == "") { 
    res 
            = パス; 
        }
        戻り値; 
    パス
    += '1'; 
    dfs(res, パス, 2 * 合計 + 1, ターゲット); 

おすすめ

転載: blog.csdn.net/yetaodiao/article/details/131810407