输出全排列问题

                    版权声明:本文为博主瞎写的,请随便转载                        <a class="copy-right-url" href=" https://blog.csdn.net/sdut_jk17_zhangming/article/details/79619051"> https://blog.csdn.net/sdut_jk17_zhangming/article/details/79619051</a>
                </div>
                                                <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-3019150162.css">
                                    <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-3019150162.css">
            <div class="htmledit_views" id="content_views">
                                        <h4 class="card-title" style="font-family:'-apple-system', 'PingFang SC', 'Lantinghei SC', 'Helvetica Neue', 'Microsoft Yahei', 'Hiragino Sans GB', 'Microsoft Sans Serif', 'WenQuanYi Micro Hei', sans-serif;font-weight:500;line-height:1.1;color:rgb(41,43,44);">7-1&nbsp;输出全排列(20&nbsp;分)</h4><div class="problemListItem_2867x" style="color:rgb(41,43,44);font-family:'-apple-system', 'PingFang SC', 'Lantinghei SC', 'Helvetica Neue', 'Microsoft Yahei', 'Hiragino Sans GB', 'Microsoft Sans Serif', 'WenQuanYi Micro Hei', sans-serif;font-size:14px;line-height:21px;"><div class="problem_2tXnk"><div class="ques-view" style="line-height:1.5;"><p>请编写程序输出前<span class="katex" style="font-size:1.21em;font-family:'KaTeX_Main', 'Times New Roman', serif;line-height:1.2;"><span class="katex-html"><span class="strut"></span><span class="strut bottom" style="vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">n</span></span></span></span>个正整数的全排列(<span class="katex" style="font-size:1.21em;font-family:'KaTeX_Main', 'Times New Roman', serif;line-height:1.2;"><span class="katex-html"><span class="strut"></span><span class="strut bottom" style="vertical-align:-.0391em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">n</span><span class="mrel" style="margin-left:.27778em;">&lt;</span><span class="mord mathrm" style="margin-left:.27778em;">1</span><span class="mord mathrm">0</span></span></span></span>),并通过9个测试用例(即<span class="katex" style="font-size:1.21em;font-family:'KaTeX_Main', 'Times New Roman', serif;line-height:1.2;"><span class="katex-html"><span class="strut"></span><span class="strut bottom" style="vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">n</span></span></span></span>从1到9)观察<span class="katex" style="font-size:1.21em;font-family:'KaTeX_Main', 'Times New Roman', serif;line-height:1.2;"><span class="katex-html"><span class="strut"></span><span class="strut bottom" style="vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">n</span></span></span></span>逐步增大时程序的运行时间。</p><h3 style="font-family:inherit;font-weight:500;line-height:1.1;color:inherit;"><a name="t0"></a>输入格式:</h3><p>输入给出正整数<span class="katex" style="font-size:1.21em;font-family:'KaTeX_Main', 'Times New Roman', serif;line-height:1.2;"><span class="katex-html"><span class="strut"></span><span class="strut bottom" style="vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">n</span></span></span></span>(<span class="katex" style="font-size:1.21em;font-family:'KaTeX_Main', 'Times New Roman', serif;line-height:1.2;"><span class="katex-html"><span class="strut"></span><span class="strut bottom" style="vertical-align:-.0391em;"></span><span class="base textstyle uncramped"><span class="mrel">&lt;</span><span class="mord mathrm" style="margin-left:.27778em;">1</span><span class="mord mathrm">0</span></span></span></span>)。</p><h3 style="font-family:inherit;font-weight:500;line-height:1.1;color:inherit;"><a name="t1"></a>输出格式:</h3><p>输出1到<span class="katex" style="font-size:1.21em;font-family:'KaTeX_Main', 'Times New Roman', serif;line-height:1.2;"><span class="katex-html"><span class="strut"></span><span class="strut bottom" style="vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">n</span></span></span></span>的全排列。每种排列占一行,数字间无空格。排列的输出顺序为字典序,即序列<span class="katex" style="font-size:1.21em;font-family:'KaTeX_Main', 'Times New Roman', serif;line-height:1.2;"><span class="katex-html"><span class="strut"></span><span class="strut bottom" style="vertical-align:-.19444em;"></span><span class="base textstyle uncramped"><span class="mord textstyle uncramped"><span class="mord"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">a</span><span class="msupsub" style="text-align:left;"><span class="vlist"><span style="margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight" style="font-size:.7em;"><span class="mord mathrm mtight" style="margin-left:0px;">1</span></span></span><span class="baseline-fix" style="table-layout:fixed;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span>​</span></span></span></span><span class="mpunct">,</span><span class="mord" style="margin-left:.16667em;"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">a</span><span class="msupsub" style="text-align:left;"><span class="vlist"><span style="margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight" style="font-size:.7em;"><span class="mord mathrm mtight" style="margin-left:0px;">2</span></span></span><span class="baseline-fix" style="table-layout:fixed;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span>​</span></span></span></span><span class="mpunct">,</span><span class="minner" style="margin-left:.16667em;">⋯</span><span class="mpunct" style="margin-left:.16667em;">,</span><span class="mord" style="margin-left:.16667em;"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">a</span><span class="msupsub" style="text-align:left;"><span class="vlist"><span style="margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight" style="font-size:.7em;"><span class="mord mathit mtight" style="font-style:italic;font-family:'KaTeX_Math';margin-left:0px;">n</span></span></span><span class="baseline-fix" style="table-layout:fixed;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span>​</span></span></span></span></span></span></span></span>排在序列<span class="katex" style="font-size:1.21em;font-family:'KaTeX_Main', 'Times New Roman', serif;line-height:1.2;"><span class="katex-html"><span class="strut"></span><span class="strut bottom" style="vertical-align:-.19444em;"></span><span class="base textstyle uncramped"><span class="mord textstyle uncramped"><span class="mord"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">b</span><span class="msupsub" style="text-align:left;"><span class="vlist"><span style="margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight" style="font-size:.7em;"><span class="mord mathrm mtight" style="margin-left:0px;">1</span></span></span><span class="baseline-fix" style="table-layout:fixed;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span>​</span></span></span></span><span class="mpunct">,</span><span class="mord" style="margin-left:.16667em;"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">b</span><span class="msupsub" style="text-align:left;"><span class="vlist"><span style="margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight" style="font-size:.7em;"><span class="mord mathrm mtight" style="margin-left:0px;">2</span></span></span><span class="baseline-fix" style="table-layout:fixed;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span>​</span></span></span></span><span class="mpunct">,</span><span class="minner" style="margin-left:.16667em;">⋯</span><span class="mpunct" style="margin-left:.16667em;">,</span><span class="mord" style="margin-left:.16667em;"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">b</span><span class="msupsub" style="text-align:left;"><span class="vlist"><span style="margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight" style="font-size:.7em;"><span class="mord mathit mtight" style="font-style:italic;font-family:'KaTeX_Math';margin-left:0px;">n</span></span></span><span class="baseline-fix" style="table-layout:fixed;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span>​</span></span></span></span></span></span></span></span>之前,如果存在<span class="katex" style="font-size:1.21em;font-family:'KaTeX_Main', 'Times New Roman', serif;line-height:1.2;"><span class="katex-html"><span class="strut"></span><span class="strut bottom" style="vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">k</span></span></span></span>使得<span class="katex" style="font-size:1.21em;font-family:'KaTeX_Main', 'Times New Roman', serif;line-height:1.2;"><span class="katex-html"><span class="strut"></span><span class="strut bottom" style="vertical-align:-.19444em;"></span><span class="base textstyle uncramped"><span class="mord"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">a</span><span class="msupsub" style="text-align:left;"><span class="vlist"><span style="margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight" style="font-size:.7em;"><span class="mord mathrm mtight" style="margin-left:0px;">1</span></span></span><span class="baseline-fix" style="table-layout:fixed;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span>​</span></span></span></span><span class="mrel" style="margin-left:.27778em;">=</span><span class="mord" style="margin-left:.27778em;"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">b</span><span class="msupsub" style="text-align:left;"><span class="vlist"><span style="margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight" style="font-size:.7em;"><span class="mord mathrm mtight" style="margin-left:0px;">1</span></span></span><span class="baseline-fix" style="table-layout:fixed;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span>​</span></span></span></span><span class="mpunct">,</span><span class="minner" style="margin-left:.16667em;">⋯</span><span class="mpunct" style="margin-left:.16667em;">,</span><span class="mord" style="margin-left:.16667em;"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">a</span><span class="msupsub" style="text-align:left;"><span class="vlist"><span style="margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight" style="font-size:.7em;"><span class="mord mathit mtight" style="font-style:italic;font-family:'KaTeX_Math';margin-left:0px;">k</span></span></span><span class="baseline-fix" style="table-layout:fixed;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span>​</span></span></span></span><span class="mrel" style="margin-left:.27778em;">=</span><span class="mord" style="margin-left:.27778em;"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">b</span><span class="msupsub" style="text-align:left;"><span class="vlist"><span style="margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight" style="font-size:.7em;"><span class="mord mathit mtight" style="font-style:italic;font-family:'KaTeX_Math';margin-left:0px;">k</span></span></span><span class="baseline-fix" style="table-layout:fixed;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span>​</span></span></span></span></span></span></span>&nbsp;并且&nbsp;<span class="katex" style="font-size:1.21em;font-family:'KaTeX_Main', 'Times New Roman', serif;line-height:1.2;"><span class="katex-html"><span class="strut"></span><span class="strut bottom" style="vertical-align:-.208331em;"></span><span class="base textstyle uncramped"><span class="mord"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">a</span><span class="msupsub" style="text-align:left;"><span class="vlist"><span style="margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight" style="font-size:.7em;"><span class="mord scriptstyle cramped mtight" style="margin-left:0px;"><span class="mord mathit mtight" style="font-style:italic;font-family:'KaTeX_Math';margin-left:0px;">k</span><span class="mbin mtight" style="margin-left:0px;">+</span><span class="mord mathrm mtight" style="margin-left:0px;">1</span></span></span></span><span class="baseline-fix" style="table-layout:fixed;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span>​</span></span></span></span><span class="mrel" style="margin-left:.27778em;">&lt;</span><span class="mord" style="margin-left:.27778em;"><span class="mord mathit" style="font-style:italic;font-family:'KaTeX_Math';">b</span><span class="msupsub" style="text-align:left;"><span class="vlist"><span style="margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight" style="font-size:.7em;"><span class="mord scriptstyle cramped mtight" style="margin-left:0px;"><span class="mord mathit mtight" style="font-style:italic;font-family:'KaTeX_Math';margin-left:0px;">k</span><span class="mbin mtight" style="margin-left:0px;">+</span><span class="mord mathrm mtight" style="margin-left:0px;">1</span></span></span></span><span class="baseline-fix" style="table-layout:fixed;"><span class="fontsize-ensurer reset-size5 size5" style="font-size:1em;"><span style="font-size:0em;">​</span></span>​</span></span></span></span></span></span></span>。</p><h3 style="font-family:inherit;font-weight:500;line-height:1.1;color:inherit;"><a name="t2"></a>输入样例:</h3><pre style="font-family:Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;font-size:12.6px;color:rgb(41,43,44);border:1px solid rgb(221,221,221);background:rgb(247,247,247);"><code class="hljs" style="font-family:'YaHei consolas Hybrid', Consolas, monospace;font-size:12px;color:rgb(51,51,51);border:none;background:none;">3

输出样例:


 
 
  1. 123
  2. 132
  3. 213
  4. 231
  5. 312
  6. 321

 
 
  1. #include<stdio.h>
  2. int a[ 1000];
  3. int visited[ 1000];
  4. void perm(int n,int len)
  5. {
  6. int i,k;
  7. if(len n)
  8. {
  9. for(i= 0;i<n -1;i++)
  10. printf( "%d",a[i]);
  11. printf( "%d\n",a[n -1]);
  12. }
  13. for(k= 1;k<=n;k++)
  14. {
  15. if(visited[k] 0)
  16. {
  17. a[len++]=k; //把当前的数字放进数组,并且本层的len值加1
  18. visited[k]= 1; //把当前的数字加1
  19. perm(n,len); //递归调用,继续往下深入,如若满足了len==n 就做输出,然后执行下面的还原语句
  20. len–; //因为当前层次的len值做了加1 要还原本层的len值,就要len–;
  21. visited[k]= 0; //把当前数字的标记去掉,然后返回上一层,继续再往下执行
  22. }
  23. }
  24. }
  25. int main()
  26. {
  27. int n;
  28. scanf( "%d",&n);
  29. perm(n, 0);
  30. }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值