1 条题解
-
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; }
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
- 2077
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者