编程题,有1 2 3三个数字,能组成多少个互不相同且无重复数字的三位数,并请输出这些三位数
4个回答
展开全部
void Permute(int A[],int n,int index){
if(index>=n){
for(int i=0;i<n;i++){
printf("%d",A[i]);
}
printf("\n");
}
for(int i=index;i<n;i++){
swap(A[i],A[index]);
Permute(A,n,index+1);
swap(A[i],A[index]);
}
}
int main(){
int A[]={1,2,3};
Permute(A,sizeof(A)/sizeof(int),0);
}
追问
你这是用什么语言编写的
追答
c或c++都能运行加头文件不同而已,以下是C++代码
#include<iostream>
using namespace std;
void Permute(int A[],int n,int index){
if(index>=n){
for(int i=0;i<n;i++){
printf("%d",A[i]);
}
printf("\n");
}
for(int i=index;i<n;i++){
swap(A[i],A[index]);
Permute(A,n,index+1);
swap(A[i],A[index]);
}
}
int main(){
int A[]={1,2,3};
Permute(A,sizeof(A)/sizeof(int),0);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义一个数组,s=[1,2,3];
for(int i=0;i<s.length;i++){
for(int j=0;j<s.length;j++){
for(int k=0;k<s.length;k++){
if(i!=j&&i!=k&&j!=k){
int c =s[i]*100+s[j]*10+s[k];
}else{
continue;
}
}
}
}
for(int i=0;i<s.length;i++){
for(int j=0;j<s.length;j++){
for(int k=0;k<s.length;k++){
if(i!=j&&i!=k&&j!=k){
int c =s[i]*100+s[j]*10+s[k];
}else{
continue;
}
}
}
}
追问
这个方法不错啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 randperm matlab语句
追问
用c
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
123 132 213 231 312 321
更多追问追答
追答
6个
追问
我不需要这个答案
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询