| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 763 人关注过本帖
标题:acm 提交下面代码提示SIGSEGV 怎么回事 哪位大神能指教下,谢谢!!!
只看楼主 加入收藏
wangzhili
Rank: 1
等 级:新手上路
帖 子:13
专家分:6
注 册:2013-5-16
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
acm 提交下面代码提示SIGSEGV 怎么回事 哪位大神能指教下,谢谢!!!
题目:
Description

现在有一列人,从1到n对这n个人进行编号,现在这n个人开始排队,有一个排队规则就是编号为i的人不能站在第i位上,问n个人进行排队,有多少种可能的排队方法。
Input

输入包括多组测试数据,每组测试数据含一个整数n,代表一共有n个人进行排队(1<=n<=1000)。

Output

输出包括一个整数,代表有多少种可能的排队方法。

Sample Input

3
4
6
Sample Output

2
9
265




我的代码:
#include<stdio.h>
int fun(int n)
{
    int f;
    if(n==2)
        f=1;
        else if(n==3)
            f=2;
    else f=(n-1)*(fun(n-2)+fun(n-1));
    return f;
}

int main()
{
    int n;
    while(scanf("%d",&n)!=-1)
    {
        printf("%d\n",fun(n));
    }
    return 0;
}
搜索更多相关主题的帖子: include 
2013-05-25 21:34
海上钢琴师
Rank: 2
等 级:论坛游民
帖 子:24
专家分:46
注 册:2013-4-18
收藏
得分:7 
错排。

天行健!君子以自强不息;地势坤!君子以厚德载物。
2013-05-26 12:18
Explorerlxz
Rank: 9Rank: 9Rank: 9
来 自:zzu
等 级:蜘蛛侠
威 望:4
帖 子:302
专家分:1032
注 册:2013-4-24
收藏
得分:7 
高中时遇到一道类似的题目,7人排队,求甲不在排头,乙不在中间,丙不在排位的概率!跟着挺像的。
我想这结果跟求1000!不差几个数量级的,int型的f显然是容不下的!
2013-05-26 12:53
逆风而前
Rank: 7Rank: 7Rank: 7
来 自:福建
等 级:黑侠
威 望:7
帖 子:193
专家分:567
注 册:2013-2-14
收藏
得分:7 
#include<stdio.h>
int fun(int n)
{
    int f;
    if(n==2)
        f=1;
        else if(n==3)
            f=2;
    else f=(n-1)*(fun(n-2)+fun(n-1));
    return f;
}

int main()
{
    int n;
    while(scanf("%d",&n)>0)
    {
        printf("%d\n",fun(n));
        getchar();
    }
    return 0;
}
2013-05-28 22:56
逆风而前
Rank: 7Rank: 7Rank: 7
来 自:福建
等 级:黑侠
威 望:7
帖 子:193
专家分:567
注 册:2013-2-14
收藏
得分:0 
scanf的返回值是转换成功的个数。。如果转换失败返回0,未转换便到达文件结尾返回EOF。。
2013-05-28 22:58
逆风而前
Rank: 7Rank: 7Rank: 7
来 自:福建
等 级:黑侠
威 望:7
帖 子:193
专家分:567
注 册:2013-2-14
收藏
得分:0 
其实去百度会找到一些答案
2013-05-28 22:59
快速回复:acm 提交下面代码提示SIGSEGV 怎么回事 哪位大神能指教下,谢谢!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018056 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved