递归(C语言)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归(C语言)相关的知识,希望对你有一定的参考价值。

首先,给每位新娘打扮得几乎一模一样,并盖上大大的红盖头随机坐成一排;
然后,让各位新郎寻找自己的新娘.每人只准找一个,并且不允许多人找一个.
最后,揭开盖头,如果找错了对象就要当众跪搓衣板...

看来做新郎也不是容易的事情...

假设一共有N对新婚夫妇,其中有M个新郎找错了新娘,求发生这种情况一共有多少种可能.

Input

输入数据的第一行是一个整数C,表示测试实例的个数,然后是C行数据,每行包含两个整数N和M(1<M<=N<=20)。

Output

对于每个测试实例,请输出一共有多少种发生这种情况的可能,每个实例的输出占一行。

Sample Input

2
2 2
3 2

Sample Output

1
3

为什么不过。。。
#include<stdio.h>
unsigned __int64 ff(unsigned __int64 n)

unsigned __int64 i,sum;
sum=1;
for(i=1;i<=n;i++)
sum=sum*i;
return sum;

__int64 a[23]=0,0,1,2;
int main()

unsigned __int64 sum,i,j,n,m,t;
scanf("%I64u",&j);
for(t=0;t<j;t++)

scanf("%I64u%I64u",&n,&m);
for(i=4;i<=22;i++)
a[i]=(a[i-1]+a[i-2])*(i-1);
sum=a[m]*ff(n)/((ff(m))*(ff(n-m)));
printf("%I64u\n",sum);

return 0;

我的vc6.0能过 32位win7
亲 你这个不是递归吧~~~递归是函数对自身的调用 你的程序里没有出现一个 ff(ff(n)) 类似的程序哇
看你编程的思路有点乱,给你重新写一个吧...这道题就是求若干个n个数集合m个数的组合个数
(当满足n>m 且 m>1)

既然你说递归,那就写个递归的(虽然循环比递归好上万倍~~~)
#include<stdio.h>

int jiecheng(int n)//递归求阶乘

if(0 != n)
return jiecheng(n-1)*n;
else
return 1;

int main()

char num,n,m;
scanf("%d",&num);
while(num--)

scanf("%d %d",&n,&m);
if(n>m && m>1)
printf("%d\n",jiecheng(n) / jiecheng(m));
else
printf("0\n");

return 0;
参考技术A 同楼上 递归太耗内存了

C语言你编程:用递归方法实现对一个整数 的 逆序输出

输入输出 示例:
Enter a number:12345
54321

#include <stdio.h>

void printData(int data)

if (data==0)

return;

printf("%d",data%10);
printData(data/10);

int main()

int data;
printf("Enter a number:");
scanf("%d",&data);
printData(data);
printf("\n");
return 0;

程序如上,可以运行。
参考技术A #include <stdio.h>
#include <stdlib.h>

void print_order_number(unsigned number)

printf("%d",number%10);fflush(NULL);
if ( number >= 10 )

print_order_number(number/10);


int main(int argc, char**argv)

if ( argc != 2 )

printf("Usage: rev_print <integer> \n");
exit(0);

unsigned number = atol(argv[1]);
print_order_number(number);
return 0;

以上是关于递归(C语言)的主要内容,如果未能解决你的问题,请参考以下文章

C语言 递归程序 求解

C语言 背包问题 递归算法

C语言的两个问题: 所有的递归程序均可以用非递归算法实现?递归函数中的形式参数是自动变量吗? c语言中

C语言 编写递归函数

c语言递归函数

C语言你编程:用递归方法实现对一个整数 的 逆序输出