1 条题解

  • 0
    @ 2025-4-7 21:41:50

    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;
    }
    

    Pascal :

    program p1074;
    var i,j,k,n,m,t:longint;
        s:int64;
    begin
      readln(t);
      for i:=1 to t do
       begin
         readln(n,m);
         if m=0 then writeln(1) else
         begin
         s:=1;
         for j:=1 to m do
          s:=s*(n+1-j) div j;
         writeln(s);
         end;
       end;
    end.
    

    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;
    
    }
    }
    

    Python :

    import sys,math
    
    for line in sys.stdin:
            t = line.split()
            data = map(lambda x:int(x),t)
            if len(data) != 1:
               if data[0] == data[1] or data[1] == 0:
                   print 1
               elif data[1] > data[0]:
                   print 0
               else:
                  a = math.factorial(data[0])
                  b = math.factorial(data[1])
                  c = math.factorial(data[0]-data[1])
                  print  a/(b*c)
            else:
                   pass
    
    • 1

    信息

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