📄 no33.htm
字号:
<html xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:w="urn:schemas-microsoft-com:office:word"xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=GB2312"><meta name=ProgId content=Word.Document><meta name=Generator content="Microsoft Word 9"><meta name=Originator content="Microsoft Word 9"><link rel=File-List href="./No33.files/filelist.xml"><title>排列问题</title><!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Author>a</o:Author> <o:LastAuthor>a</o:LastAuthor> <o:Revision>1</o:Revision> <o:TotalTime>1</o:TotalTime> <o:Created>1996-12-31T16:50:00Z</o:Created> <o:LastSaved>1996-12-31T16:51:00Z</o:LastSaved> <o:Pages>1</o:Pages> <o:Company>aa</o:Company> <o:Lines>1</o:Lines> <o:Paragraphs>1</o:Paragraphs> <o:Version>9.2812</o:Version> </o:DocumentProperties></xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:UseFELayout/> </w:Compatibility> </w:WordDocument></xml><![endif]--><style><!-- /* Font Definitions */@font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;}@font-face {font-family:"\@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:1 135135232 16 0 262144 0;} /* Style Definitions */p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} /* Page Definitions */@page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;}@page Section1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:42.55pt; mso-footer-margin:49.6pt; mso-paper-source:0; layout-grid:15.6pt;}div.Section1 {page:Section1;}--></style></head><body lang=ZH-CN style='tab-interval:21.0pt;text-justify-trim:punctuation' bgcolor="#e8ffe8"><div class=Section1 style='layout-grid:15.6pt'><p class=MsoNormal align=center style='text-align:center'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>排列问题</span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span></span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>输入整数</span><spanlang=EN-US>N(<15),</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>输出</span><spanlang=EN-US>1..N</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>的全部不同排列的总数</span><span lang=EN-US>,</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>当</span><span lang=EN-US>N<=6</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>时</span><span lang=EN-US>,</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>还要输出全部排列</span><spanlang=EN-US>.</span></p><p class=MsoNormal><span lang=EN-US>int p[30];<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>int pr1(int n)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>{ int i,m,j, t,j1,j2;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>for (i=n;i>0 && p[i]>=p[i+1];i--)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>if(i<=0)<span style="mso-spacerun: yes"> </span>return 0;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>for(j=i+1,t=i+1;t<=n && p[i]<p[t];t++)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>j=t;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>m=p[i];p[i]=p[j];p[j]=m;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>for (j1=i+1,j2=n;j1<j2;j1++,j2--)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>m=p[j1],p[j1]=p[j2],p[j2]=m;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>return 1;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>main() /*n!*/<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>{int j,t,n,m;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>long num;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>printf("input n:\n");<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>scanf("%d",&n);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>for (j=1;j<=n;j++) p[j]=j;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun: yes"> </span>t=1; num=0;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>while (t>0)<span style="mso-spacerun: yes"> </span>/***/<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>{if (n<=6)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>{for(j=1;j<=n;j++) printf("%d<spanstyle="mso-spacerun: yes"> </span>",p[j]);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>printf("\n");}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>num++;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>t=pr1(n);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:yes"> </span>printf("num=%ld\n",num);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p><p class=MsoNormal></p></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -