发布网友 发布时间:2022-04-24 07:45
共3个回答
热心网友 时间:2022-04-27 18:13
#include<iostream>
using namespace std;
#include"stdlib.h"
#include"time.h"
void main()
{
time_t t;
srand((unsigned) time(&t));
int m,n;
cin>>n;
cin>>m;
for(int i=0;i<m;i++)
{
cout<<rand()%n+1<<" ";
cout<<rand()%n+1<<endl;
}
}
第二种方法
下面是用了个递归函数
using namespace std;
#include"stdlib.h"
#include"time.h"
void digui(int n,int m)
{
for(int i=0;i<m;i++)
{
cout<<rand()%n+1<<" ";
}
cout<<endl;
n--;
if(n!=0)
digui(n,m);
}
void main()
{
time_t t;
srand((unsigned) time(&t));
int m,n;
cin>>n;
cin>>m;
digui(n,m);
}
热心网友 时间:2022-04-27 19:31
给你个递推公式P(s,n,m)=P(s+1,n,m-1)+P(s+1,n,m)
P(s,n,m)表示打印从s到n任选m个的所有组合
函数体P(s,n,m,p[],pos) p[]存储以求出的组合,pos指向p[]最后面一个数的后面一个位置
递归函数两个出口
m==0 打印出p[]
m==n-s+1打印出p[]再加上s到n这n-s+1个数
热心网友 时间:2022-04-27 21:06
#include<stdio.h>
int fuc(int=n)
{for(n=1;n<=3;n++);
if(m<n);
return(n);}
main()
{int m,n;
printf("input two nembers n m:");
scanf("%d%d",&n,&m);
for(m=1;m<=2;m++)
{fuc(n);}
printf("%d\t\t%d\n\n",m,n)
}