c语言编程题:有n个物品各不相同,现从中抽取t个(1<=t<=n),输出所有可能的取法 200
5个回答
展开全部
使用递归来做。从后往前选取,选定位置i后,再在前i-1个里面选取t-1个
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void Pick(int* arr, int nLen, int m, int* out, int outLen)
{
if(m == 0)
{
for (int j = 0; j < outLen; j++)
printf("%d\t",out[j]);
printf("\n");
return;
}
for (int i = nLen; i >= m; --i)
{
out[m-1] = arr[i-1];
Pick(arr,i-1,m-1,out,outLen);
}
}
void PickAll(int *arr, int nLen, int m)
{
if(m > nLen)
return;
int* out = (int*)malloc(sizeof(int) * nLen);
Pick(arr,nLen,m,out,m);
free(out);
}
int main(void)
{
int buf[5]={1, 2 , 3, 4,5 };
PickAll(buf, 5, 3);
return 0;
}
展开全部
#include<stdio.h>
int n;
int m;
int num = 0;
void comb(int *a, int h, int k, int *sub)
{
if(k == 0)
{
for(int i = 0; i < m-1; i++)
{
printf("%d,",sub[i]);
//cout << sub[i] << ",";
}
printf("%d\n",sub[m-1]);
//cout << endl;
num ++;
}
else
{
for(int i = h-1; i >= k-1; i--)
{
sub[k-1] = a[i];
comb(a, i, k-1, sub);
}
}
}
int main()
{
int n;
scanf("%d%d",&n,&m);
//cin >> n >> m;
int a[100], sub[100];
for(int i = 0; i < n; i++)
{
a[i] = i+1;
}
comb(a, n, m, sub);
printf("一共有%d种方案\n",num);
//cout << num << endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<stdint.h>
uint64_t fact(int n)
{
uint64_t res = 1;
for(int i = 1; i <= n; i++)
res *= i;
return res;
}
int main()
{
int n, t;
scanf("%d%d", &n, &t);
uint64_t res = fact(n)/(fact(t)*fact(n-t));
printf("%llu", res); //msvc中使用%l64u
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int i, n, m;
double n1, m1, o1;
printf("Enter m and n (m<=n):");
scanf ("%d%d",&m, &n);
n1=fact(n);
m1=fact(m);
o1=fact(n-m);
printf ("The result is %f" , n1/(m1*o1));
double fact(int n){
int i;
double product;
product = 1;
for(i=1;i<=n;i++){
product = product * i;
}
return product;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
富养的女儿不贪小利,气质非凡;生活的磨砺让穷养的儿子意志更坚强;男孩子以后要走上社会,承担社会责任与家庭责任,所以要穷养以励其志,否则大手大
脚,纨绔子弟一个,如何上奉父母,下养妻儿!富养的女孩,从小会被带着出入
各种场合,增加阅世能力,等到花般年纪,再到尘世里艰难成长,便不易被各种浮华和虚荣所迷惑,一个没见过大世面的女孩,在纨绔子弟的糖衣炮弹下,很可能被花言巧语所击败。富养的女孩,因为见识多,独立,有主见,
明智,很清楚自己真正追求的东西。
脚,纨绔子弟一个,如何上奉父母,下养妻儿!富养的女孩,从小会被带着出入
各种场合,增加阅世能力,等到花般年纪,再到尘世里艰难成长,便不易被各种浮华和虚荣所迷惑,一个没见过大世面的女孩,在纨绔子弟的糖衣炮弹下,很可能被花言巧语所击败。富养的女孩,因为见识多,独立,有主见,
明智,很清楚自己真正追求的东西。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询