设为首页 加入收藏

TOP

杭电 2519 新生晚会(精度问题,double )
2015-07-20 17:38:24 来源: 作者: 【 】 浏览:2
Tags:杭电 2519 新生 晚会 精度 问题 double

新生晚会

Time Limit: 2000/1000 MS ( Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 8521 Accepted Submission(s): 3034

Problem Description 开学了,杭电又迎来了好多新生。ACMer想为新生准备一个节目。来报名要表演节目的人很多,多达N个,但是只需要从这N个人中选M个就够了,一共有多少种选择方法?
Input 数据的第一行包括一个正整数T,接下来有T组数据,每组数据占一行。
每组数据包含两个整数N(来报名的人数,1<=N<=30),M(节目需要的人数0<=M<=30)

Output 每组数据输出一个整数,每个输出占一行
Sample Input
5
3 2
5 3
4 4
3 6
8 0

Sample Output
3
10
1
0
1

Source ECJTU 2008 Autumn Contest 就是一个简单的水题,不过有个陷阱,就是注意精度的问题,用__int64位进行除法运算的时候,可能会使精度降低, 导致wa 代码如下:
#include
  
   
int main()
{
	int t,i,n,m;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d",&n,&m);
		double sum=1;
		for(i=1;i<=m;i++)
		{
			sum*=(n--)*1.0/i;
		}
		printf("%.0lf\n",sum);
	}
	return 0;
}
  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ZOJ-3581 A Simple Test 模拟连连.. 下一篇POJ 5025 Saving Tang Monk(状压..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·数据库:推荐几款 Re (2025-12-25 12:17:11)
·如何最简单、通俗地 (2025-12-25 12:17:09)
·什么是Redis?为什么 (2025-12-25 12:17:06)
·对于一个想入坑Linux (2025-12-25 11:49:07)
·Linux 怎么读? (2025-12-25 11:49:04)