1 条题解

  • 0
    @ 2024-12-24 9:59:29

    C :

    #include<stdio.h>
    
    int main()
    {
    	int t,n,m,i;
    	double s1,s2;
    	scanf("%d",&t);
    	while(t--)
    	{
    		scanf("%d%d",&n,&m);
    		if(n<m)
    			printf("0\n");
    		else
    		{
    			for(s1=1,i=n-m+1;i<=n;i++)
    				s1*=i;
    			for(s2=i=1;i<=m;i++)
    				s2*=i;
    			printf("%.lf\n",s1/s2);
    		}
    	}
    	return 0;
    }
    

    C++ :

    #include<stdio.h>
    
    int main()
    {
    	int t,n,m,i;
    	double s1,s2;
    	scanf("%d",&t);
    	while(t--)
    	{
    		scanf("%d%d",&n,&m);
    		if(n<m)
    			printf("0\n");
    		else
    		{
    			for(s1=1,i=n-m+1;i<=n;i++)
    				s1*=i;
    			for(s2=i=1;i<=m;i++)
    				s2*=i;
    			printf("%.lf\n",s1/s2);
    		}
    	}
    	return 0;
    }
    

    Java :

    import java.text.DecimalFormat;
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Collections;
    import java.util.Scanner;
    import java.math.*;
    public class Main {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in = new Scanner(System.in);
    		String[] zong = in.nextLine().split(" ");
    		int start=Integer.parseInt(zong[0]);
    		for(int i=0;i<start;i++){
    			String[] nei= in.nextLine().split(" ");
    			int[] zh=new int[2];
    			zh[0]=Integer.parseInt(nei[0]);
    			zh[1]=Integer.parseInt(nei[1]);
    			if(zh[0]<zh[1]){System.out.println("0");continue;}
    			System.out.println(check(zh[0],zh[1]));
    			
    		}
    			
    		
    	}
    
    
    	
    private static  BigInteger check(int a, int b) {
    		// TODO Auto-generated method stub
    	BigInteger c = new BigInteger("0");
    		c=jx(a).divide((jx(b).multiply(jx(a-b))));
    	return c;
    	}
    
    
    
    public static int jc(int i){      
        if(i<0)                          //<0退出
           return -1;
        else if(i==0)                     //0的阶乘=1
           return 1;
         else//0继续递归
           return i*jc(i-1);
    }
    public static BigInteger jx(int i){
    	  BigInteger n = new BigInteger("1");
    	  BigInteger n1 = new BigInteger("1");
    	  for (int j = 1; j <= i; j++) {
    	   n1 = n.multiply(BigInteger.valueOf(j));
    	   n = n1;
    	  }
    	return n;
    
    }
    }
    
    • 1

    信息

    ID
    1635
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者