国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

使用回溯法找出n個自然數(shù)中取r個數(shù)的全排列

2023-05-16 12:36:05
字體:
供稿:網(wǎng)友

本文介紹了使用回溯法找出n個自然數(shù)中取r個數(shù)的全排列的方法,有興趣的可參考一下。

回溯法也稱為試探法,該方法首先暫時放棄關(guān)于問題規(guī)模大小的限制,并將問題的候選解按某種順序逐一枚舉和檢驗(yàn)。在回溯法中,放棄當(dāng)前候選解,尋找下一個候選解的過程稱為回溯。

本實(shí)例是用回溯法輸出n個自然數(shù)中以r個數(shù)全排列。代碼如下:

    public void Arrange(int n, int r)
    int i = 0, j;
    string s;
    int[] a = new int[n];
    a[i] = 1;
    while (true)
    {
        if ((a[i] - i) <= (n - r + 1))
        {
            if (i == (r - 1))
            {
                s = "";
                for (j = 0; j < r; j++)
                {
                    s = s + Convert.ToString(a[j]) + ",";
                }
                // Memo1.Lines.Append(Trim(s));
                Console.WriteLine(s);
                a[i] = a[i] + 1;
                continue;
            }
            i = i + 1;
            a[i] = a[i - 1] + 1;
        }
        else
        {
            if (i == 0)
            {
                break;
            }
            i = i - 1;
            a[i] = a[i] + 1;
        }
    }

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁阳县| 新郑市| 莲花县| 岑溪市| 辽阳市| 鱼台县| 株洲县| 丰台区| 望城县| 洛隆县| 论坛| 台东县| 大安市| 衡山县| 巴林左旗| 夏河县| 黄大仙区| 即墨市| 宁阳县| 新竹市| 堆龙德庆县| 元阳县| 九寨沟县| 隆安县| 淅川县| 许昌市| 阿克陶县| 连州市| 黄大仙区| 无为县| 邛崃市| 温宿县| 平塘县| 古蔺县| 定陶县| 商城县| 凭祥市| 黄浦区| 尼木县| 广宗县| 绥江县|