JAYLEE900 2022-07-24 22:58 采纳率: 37.5%
浏览 63
已结题

五个数字所有不重复的组合方式逻辑思维及c++算法

现有一个长度为5的数组arrar=[1,2,3,4,5],求一下这个数组中,所有元素的组合:
长度=1:1 2 3 4 5
长度=2:12 13 14 15 23 24 25 34 35 45
长度=3:123 124 125 234 235 345
长度=4:1234 1235 1245 2345
长度=5:12345
麻烦详细提供一下逻辑和c++算法

  • 写回答

2条回答 默认 最新

  • 天际的海浪 2022-07-24 23:03
    关注

    用递归

    img


    你题目的解答代码如下:

    #include<iostream>
    using namespace std;
    
    int a[] = {1,2,3,4,5};
    int re[5],len=0;
    
    void fp(int t,int n)
    {
        int i;
        if (len==n)
        {
            cout << " ";
            for (i = 0; i < len; i++)
            {
                cout << re[i];
            }
            return;
        }
        for (i = t; i < 5-(n-len-1); i++)
        {
            re[len] = a[i];
            len++;
            fp(i+1,n);
            len--;
        }
    }
    
    int main()
    {
        int i;
        for (i = 1; i <= 5; i++)
        {
            cout << "长度=" << i << ":";
            len = 0;
            fp(0,i);
            cout << endl;
        }
        return 0;
    }
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月4日
  • 已采纳回答 7月27日
  • 创建了问题 7月24日

悬赏问题

  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系