zoukankan      html  css  js  c++  java
  • 整数拆分

    将一个整数拆分成不重复的整数之和。

    example:

       6 = 1 + 5 = 1 + 2 + 3
          = 2 + 4

    采用递归方法实现。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    #include <iostream>
       
    #include <vector>
       
    using namespace std;
       
       
    /**
       
        6 = 1 + 5 = 1 + 2 + 3
       
          = 2 + 4
       
    **/
       
       
    void split( int n, int s, vector<int>  ret)
       
    {
       
        // 递归结束条件
       
        if ( n <= 2*s)
       
        {
       
            vector<int>::iterator iter;
       
            ret.push_back(n);
       
            //注意打印的位置:递归结束时
       
            for ( iter = ret.begin(); iter != ret.end(); iter++ )
       
            {
       
                cout << *iter << '\t';
       
            }
       
       
            cout << endl;
       
        }
       
       
        for int i = s; i < (n+1)/2; i++ )    
       
        {
       
            // pop 上一分支的数据
       
            if ( i != s)
       
                ret.pop_back();
       
       
            ret.push_back(i);    
       
            split(n-i, i+1, ret);
       
        }
       
       
    }
        
    int main(int argc, char** argv)
       
    {
       
        vector<int> ret;
       
           
       
        int n = 20;
       
        split(n,1, ret);
       
       
        return 0;
       
    }
  • 相关阅读:
    传奇衣服、翅膀、武器、怪物、NPC等外观代码计算方法与公式
    传奇添加地图与配置参数
    传奇中如何加入衣服的翅膀效果
    传奇添加地图与配置参数详解
    NPC脚本界面自定义美化参数说明
    传奇物品叠加设置方法
    四级技能修炼NPC脚本参考
    传奇怎么设置沙巴克自动攻城
    HeroM2连击技能设置和DB完整数据
    python常用软件包
  • 原文地址:https://www.cnblogs.com/simonote/p/3095306.html
Copyright © 2011-2022 走看看