标签:
1 #include <iostream> 2 3 using namespace std; 4 int a,b; 5 double zh(int a,int b) 6 { 7 int up=1,down=1; 8 for(int i=1;i<=b;i++) 9 {up=up*a;a--;} 10 for(int i=1;i<=b;i++) 11 down=down*i; 12 return up/down; 13 } 14 15 int main() 16 { 17 int i; 18 cin>>i; 19 while(i--) 20 { 21 cin>>a>>b; 22 cout<<zh(a,b)<<endl; 23 } 24 return 0; 25 }
//第二遍。。采用一边算一边除的方法。。。
//自己好弱啊!!!又错了。。。
//有点意思(去死
1 #include <iostream> 2 #include <stdio.h> 3 using namespace std; 4 long long a,b; 5 double zh(long long a,long long b) 6 { 7 double ans=1.0; 8 long long j=b; 9 while(j--) 10 { 11 ans=ans*a/b; 12 a--;b--; 13 } 14 return ans; 15 } 16 17 18 int main() 19 { 20 int n; 21 cin>>n; 22 while(n--) 23 { 24 cin>>a>>b; 25 cout<<zh(a,b)<<endl; 26 } 27 return 0; 28 }
//错误点。。。double不能cout,,,应该printf
#include <iostream> #include <stdio.h> using namespace std; long long a,b; double zh(long long a,long long b) { double ans=1.0; long long j=b; while(j--) { ans=ans*a/b; a--;b--; } return ans; } int main() { int n; cin>>n; while(n--) { cin>>a>>b; printf("%.0lf\n",zh(a,b)); } return 0; }
标签:
原文地址:http://www.cnblogs.com/nefu929831238/p/5201959.html