• hdu 2519 新生晚会 (求排列组合时容易溢出)


    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    void cal(int n,int m)
    {
        long long ans=1;
        m=min(m,n-m);
        int j=m;
        for(int i=n;m>0;m--,i--)
        {
            ans*=i;
        }
        for(int i=1;i<=j;i++)
        {
            ans/=i;
        }
        printf("%I64d
    ",ans);
    }
    int main()
    {
        int _case;
        int n,m;
        scanf("%d",&_case);
        while(_case--)
        {
            scanf("%d%d",&n,&m);
            if(m>n)printf("0
    ");
            else cal(n,m);
        }
        return 0;
    }
    View Code

    注意此写法long long也会溢出!!!!!!!!!!!!!!

    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    #define eps 1e-8
    int main()
    {
        int _case;
        int n,m;
        scanf("%d",&_case);
        while(_case--)
        {
            scanf("%d%d",&n,&m);
            if(m>n)printf("0
    ");
            else
            {
                double ans=1;
                m=min(m,n-m);
                int j=m;
                for(int i=0; i<m; i++)
                {
                    ans*=n--;
                    ans/=j--;
                }
                //long long x=ans+eps;
                printf("%.0lf
    ",ans+eps);
            }
        }
        return 0;
    }
    #include<iostream>
    #include<cstdio>
    using namespace std;
    int main(void)
    {
       int m,n,t;
       _int64 sum;
       cin>>t;
       while(t--)
       {
           cin>>n>>m;
             sum=1;
         for(int i=1;i<=m;i++)
         {
             sum*=n--;
             sum/=i;
         }
         printf("%I64d
    ",sum);
       }
       return 0;
    }
  • 相关阅读:
    Vue基础第三章
    Vue基础第二章
    Vue基础第一章
    AWS笔记
    导入Dynamic Web Project后程序有红叉但是可以运行
    JSTL配置文件下载地址
    access纯jdbc连接
    XML学习总结二——DTD
    【转】无题
    XML学习总结一
  • 原文地址:https://www.cnblogs.com/XDJjy/p/3250530.html
Copyright © 2020-2023  润新知