一个很city的问题

来源:互联网 发布:网络教育英语统考题库 编辑:程序博客网 时间:2024/05/20 18:42

City一直对排列组合很感兴趣。对于n个数的全排列一共有n!种方式。 
有一天City想到一种排列方式,他想知道 按照他的规则 对 从 1 到 n 的正整数进行排列 ,一共有多少种可能!请聪明的你告诉他吧! 
对于从 1 到 n 的 n个正整数 的某种排列方式。序列中 任意相邻的两个数 如果是升序的 记做一组升序数对。现在要求 n个数的排列中 有且仅有一组升序数对 。 
求满足要求的 排列方式的个数。

Input

输入只有一个数n ( 1<= n <= 1000)。

Output

只有一行,包含一个整数 ,表示对于n个数满足要求的排列的个数 对10111009取模的余数。

Sample Input

Sample Input 12Sample Input 23

Sample Output

Sample Output11Sample Output24

Hint

题目中给出两组Sample: 
第一组Sample: 
只有一个序列:1,2 
第二组Sample: 
有四个序列,分别为: 
3,1,2 
2,3,1 
1,3,2 
2,1,3 

取模:一个数p对r取模后的值,即为p除以r后所得的余数,比如10111011对10111009取模等于2。

不多说,上代码!!!

#include<stdio.h>
int main()
{
int n,i,sum;
scanf("%d",&n);
sum=0;
for(i=2;i<n+1;i++)
{
sum=(2*sum+i-1)%10111009;//此处规律
}
printf("%d\n",sum);
}

0 0
原创粉丝点击