(递归)9278:旅行

描述

转眼毕业了,曾经朝夕相处的同学们不得不都各奔东西,大家都去了不同的城市开始新的生活。在各自城市居住了一段时间后,他们都感到了一些厌倦,想去看看其他人的生活究竟如何,于是他们都选择到另一个同学所在城市去旅游,并且希望旅游的城市各不相同,他们想知道有多少种不同的方案,可是数量实在太多了,他们无法计算出来,你能帮助他们吗。

 

输入

一个正整数n(n<200),表示人数。

 

输出

一个数,表示有多少不同的方案。

 

样例输入

3

 

样例输出

2

 

我の思考

这个题,很好思考,但是会超出范围,要用大数来解决。(今天事情做不完了QAQ,明天再来)

 

我の代码

#include <iostream>
using namespace std;

int carry(int n){
    if(n==1)
        return 0;

    if(n==2)
        return 1;

    return (n-1)*( carry(n-1) + carry(n-2) );
}

int main()
{
    int n;
    cin>>n;
    cout<<carry(n)<<endl;
    return 0;
}

 

posted @ 2017-09-16 22:34  章鱼小年糕  阅读(212)  评论(0编辑  收藏  举报