杭州电 2048

#include<stdio.h>

int main()

{

int i,j,n,m;

__int64 a[22]={0,0,1,2},s;

float b[22];

b[2]=0.5;

b[3]=(float)1/3;

for(i=4;i<22;i++)

{

a[i]=(i-1)*(a[i-1]+a[i-2]);

s=1;

for(j=1;j<=i;j++)

s*=j;

b[i]=(float)a[i]/s;//此处在a[i]/s处不能加上括号 由于会使得先计算 产生误差后 在强制转换 这样有违初衷

}

scanf("%d",&n);

while(n--)

{

scanf("%d",&m);

printf("%.2f%%\n",b[m]*100);

}

return 0;

}

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-08-05 20:43:51

杭州电 2048的相关文章

杭电 2048

#include<stdio.h> int main() { int i,j,n,m; __int64 a[22]={0,0,1,2},s; float b[22]; b[2]=0.5; b[3]=(float)1/3; for(i=4;i<22;i++) { a[i]=(i-1)*(a[i-1]+a[i-2]); s=1; for(j=1;j<=i;j++) s*=j; b[i]=(float)a[i]/s;//此处在a[i]/s处不能加上括号 因为会使得先计算 产生误差后 在强

杭州电 2066 一个人的旅行

一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 18044    Accepted Submission(s): 6266 Problem Description 尽管草儿是个路痴(就是在杭电待了一年多.竟然还会在校园里迷路的人,汗~),但是草儿仍然非常喜欢旅行.由于在旅途中 会遇见非常多人(白马王子.^0^),非常多事,

杭电2048错排

错排公式是f(n)=(n-1)(f(n-1)+f(n-2)) 不过还是稍稍的分析一下这个入门题 就像一个将信件放入不同信箱的例子, 我们先考虑前n-1的情况 1.前n-1个信件全部都放错了,那么我们考虑n个的情况时,只需要将第N个信件与前n-1个信件的任意一 个做一个交换就ok了,这个结果是(n-1)*f(n-1) 2.然后再考虑前n-1个并没有完全放错,那么要想使第n个信封加入时和和其中的某一个信封进行交换可 以实现n个信件全部放错的情况,那么必须前n-1个当中有且只有一个信件是放正确的,就是

杭电2048

1 #include <stdio.h> 2 float fac(int a)//阶乘 3 { 4 if(a==0) 5 return 1; 6 else 7 return a*fac(a-1); 8 } 9 int main() 10 { 11 int t,i,num; 12 float p[50]={0,0,1}; 13 scanf("%d",&t); 14 i=3; 15 while(t--) 16 { 17 scanf("%d",&

A == B ?(杭州电2054)

A == B ? Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 64239    Accepted Submission(s): 10060 Problem Description Give you two numbers A and B, if A is equal to B, you should print "YES"

非接触数(杭州电1999)

/*非接触数 Problem Description s(n)它是一个正整数n真正的系数总和,小于n可分割n因子.例如s(12)=1+2+3+4+6=16.无论假设 号码m,s(m)不等于n,声称n非接触数. Input 包括多组数据,首先输入T,表示有T组数据.每组数据1行给出n(2<=n<=1000)是整数. Output 假设n是不可摸数,输出yes,否则输出no Sample Input 3 2 5 8 Sample Output yes yes no */ /*用打表法将 n的真因子

以卵石游戏(杭州电1527)

以卵石游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3754    Accepted Submission(s): 1890 Problem Description 有两堆石子,数量随意.能够不同.游戏開始由两个人轮流取石子.游戏规定,每次有两种不同的取法.一是能够在随意的一堆中取走随意多的石子:二是能够在两堆中同一时候取走同样

杭州电 1052 Tian Ji -- The Horse Racing(贪婪)

http://acm.hdu.edu.cn/showproblem.php? pid=1052 Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 18058    Accepted Submission(s): 5239 Problem Description Here is a f

回文串(杭州电2029)

/*Palindromes _easy version Problem Description "回文串"它是一个正读和反读同一字符串.例"level"要么"noon"等是回文序列.请编写一个程序,读取推断字符串是否"回文". Input 输入包括多个測试实例,输入数据的第一行是一个正整数n,表示測试实例的个数.后面紧跟着是n个字符串. Output 假设一个字符串是回文串.则输出"yes",否则输出&qu