SDUT1586 计算组合数(组合数)

摘要:
#包括<stdio.h>longlongfac{longlongm=1;for{m=i*m;}returnm;}intmain(){intm,n,i;inta;scanf;对于{scanf;longlongu=fac/;printf;}return0;}ViewCode应该是最传统的方法,但如果范围稍微增加,则很容易超时

这个题数据量小,不容易超时。

SDUT1586 计算组合数(组合数)第1张SDUT1586 计算组合数(组合数)第2张
#include<stdio.h>
long long fac(int n)
{
    long long m = 1;
    for(int i = 1; i <= n ; i++)
    {
         m = i*m;
    }
    return m;
}
int main()
{
    int m,n,i;
    int a;
    scanf("%d",&a);
    for(i = 1; i <= a ; i++)
    {
        scanf("%d %d",&m,&n);
        long long u = fac(m)/(fac(n)*fac(m-n));
        printf("%lld
",u);
    }
    return 0;
}
View Code

这个代码应该是最传统的方法了,但题中只要稍稍增加一下范围就容易超时

免责声明:文章转载自《SDUT1586 计算组合数(组合数)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SDUT1574组合数的计算(组合数)SDUT2241计算组合数C(n,m)(组合数)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用C语言获取linux系统相关信息

最近在写shell的时候,涉及到了获取环境变量参数和本地计算机相关信息,包括计算机设备名,用户名的信息,在这里简单总结一下。获取环境变量各项参数,可以直接使用getenv函数。man中关于getenv函数的声明如下: #include <stdlib.h> char *getenv(const char *name); 函数中,参数name...

输出100以内的质数

1 #include "stdafx.h" 2 #include <stdio.h> 3 # define MAX 100 4 5 void main() //输出100以为的质数 6 { 7 inti,j; 8 for(i=1;i<=MAX;i++) 9 { 10 for(j=2;j<=i;j+...

作业四

#include<stdio.h>intmain(void){intx,y,z,w;printf("Enterx,y");scanf("%d%d",&x,&y);if(x<=3)z=10;elseif(x>3&&x<=13)z=2*x+4;elsez=3*x-9;if(y<5)w=z;el...

指针

1 #include<stdio.h> 2 //2020年11月23日20:58:58 3 int main(void) 4 { 5 double *p; 6 double x = 66.6; 7 8 p = &x;//x占8个字节,1个字节是8位,1个字节1个地址, 9 //p存放的是第一...

UVa 11346 Probability (转化+积分+概率)

题意:给定a,b,s,在[-a, a]*[-b, b]区域内任取一点p,求以原点(0,0)和p为对角线的长方形面积大于s的概率。 析:应该明白,这个和高中数学的东西差不多,基本就是一个求概率的题,只不过更简单了,不用你算了,你给出表达式, 让计算机帮你算即可。 由对称性知道,只要求[a, b]区域内的概率就OK了,也就是xy > s,由高中的知识也知道...

CSU-ACM2020寒假集训比赛2

A - Messenger Simulator CodeForces - 1288E 两种解法,我选择了第二种 mn很好求,联系过就是1,没联系过就是初始位置 第一种:统计同一个人两次联系之间的出现的不同的人的个数,这个值用来更新mx[i],模拟一下就可以理解。而在第一次联系之前的部分,由于初始是顺序的,所以只需要统计i第一次联系之前出现的大于i的不同的人的...