怎么把5个数,例如(1、2、3、4、5)的所有组合找出来,并推广,用C++实现 怎么把5个数,例如(1、2、3、4、5)的所有组合找出来,并推广,用C++实现 20 个解决方案 #1 允许重复还是不
怎么把5个数,例如(1、2、3、4、5)的所有组合找出来,并推广,用C++实现 怎么把5个数,例如(1、2、3、4、5)的所有组合找出来,并推广,用C++实现
20 个解决方案
#1
允许重复还是不允许重复?
#2
不允许
#3
seealsoSTL:std::next_permutation
#4
组合以后必须是5个数,还是5个数以内的都可以?这些都没有说清楚
#5
引用3楼Vegertar的回复: seealsoSTL:std::next_permutation 赞
#6
结果仍然是5个数的组合
#7
编程方法?????????思想很重要
#8
举个例子 std::stringstr("12345");//先找到最小组合。可以用排序 std::cout<
#9 不是用stl,而是自己的实现方法 #10
引用7楼tenglongxun2的回复: 编程方法?????????思想很重要 排序 #11
#include #include usingnamespacestd; voidFoo(char*s,intt) { intn=strlen(s); char*ps=newchar[n+1]; strcpy(ps,s); if(t>=n) { cout<#12 引用9楼tenglongxun2的回复: 不是用stl,而是自己的实现方法 楼主咋不自己写?
#13
随让stl一封装好了方法,但是想知到不同的解题思想,当然是越简练越好! #14
很简单的一方法 voidf(inta,intb){staticintLENGTH=b-a+2;staticbool*flag=newbool[LENGTH];if(a>b){for(inti=1;i#15 就是全排列 #include#includeintcount=0;voidswap(intx=y;y=temp;}voidf(int*a,intn,inti){intj;if(i==n-1){for(j=0;j#16 我也贴一个! #includeconstintN=5;inta[N]={1,2,3,4,5};voidswap(intt=a;a=b;b=t;}voidpermutation(intm,intn){inti;if(m==n){for(i=0;i<=n;i++){printf("%d",a[i]);}printf("\n");}for(i=m;i<=n;i++){swap(a[i],a[m]);permutation(m+1,n);swap(a[i],a[m]);}}intmain(){permutation(0,4);} #17
#include #include intn,m;//n——参与组合元素个数,m——每个组合中元素个数 char*p;//存放组合元素的数组 voidPrint()//输出组合 { for(inti=0;i=m;i--) { p[m-1]=i; if(m==1) Print(); else Recur(i-1,m-1); } } intmain() { cout<<"输入参与组合元素总数N="; cin>>n; p=newchar[n]; for(m=1;m#18 正解 引用15楼hairetz的回复: 就是全排列 C/C++code #include #include intcount=0; voidswap(int x=y; y=temp; } voidf(int*a,intn,inti) { intj; if(i==n-1) { for(j=0;j#19 //testmain.cpp:Definestheentrypointfortheconsoleapplication. // #include"stdafx.h" #include #include voidtestfunction() { //========================= charszofile[256]; cout<<"请输入存放文件的文件名字:b.txt"<>szofile; cout<#20 ofile< #21
- JAVA中如何输入整数例如(1,2,3,4,5)详细解析
【本文由: 阜宁网站制作 http://www.1234xp.com/funing.html 复制请保留原URL】