随笔 - 19, 文章 - 0, 评论 - 2, 引用 - 0
数据加载中……

hdu1465 错排

         这一题就是单纯的考察错排,也就是考察递推。

基本形式:d[1]=0;   d[2]=1
递归式:d[n]= (n-1)*( d[n-1] + d[n-2])

这就是著名的错排公式

 

#include <stdio.h>
#define DEBUG 1
int main()
{
    
#if DEBUG
    freopen(
"C:\\Documents and Settings\\Administrator\\桌面\\in.in","r",stdin) ;
    freopen(
"C:\\Documents and Settings\\Administrator\\桌面\\out.out","w",stdout) ;
    
#endif

    __int64 i, n, s, geshu, a1, a2, temp ;
    
while( EOF != scanf("%I64d"&n ) ){
        a1 
= 0 ;
        a2 
= 1 ;
        
for( i=1; i<=n; ++i ){
            temp 
= a2 ;
            a2 
= (i-1* (a1+a2) ;
            a1 
= temp ;
        }

        printf(
"%I64d\n", a2 ) ;
    }

    
return 0 ;
}

 

posted on 2009-05-21 23:17 祝你好运! 阅读(381) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理