#18063: ??????????????????????????????????????????????????????????????????????????????????????????????


rexwu1104@gmail.com (黑雪公主 Black Lotus)

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [118.166.54.130]
最後登入時間 :
2022-06-06 20:48:09
c061. 00530 - Binomial Showdown -- UVa530 | From: [114.24.4.158] | 發表日期 : 2019-06-15 10:47

#include <iostream>
using namespace std;
int main(int argc, char** argv) {
int a, b;
while(cin >> a >> b&&a&&b){
unsignedlonglongint c=1, d=1;
for(int i=1;i<=a-b;i++){
c*=i;
cout << c << endl;
}
for(int i=1;i<=b;i++){
d*=i;
cout << d << endl;
}
c*=d, d=1;
for(int i=1;i<=a;i++){
d*=i;
}
cout << d/c << endl;
}
}
 
#18066: Re:??????????????????????????????????????????????????????????????????????????????????????????????


314159265358979323846264338327 ... (少年π)

學校 : 臺北市私立延平高級中學
編號 : 69058
來源 : [223.136.179.30]
最後登入時間 :
2024-04-29 19:11:35
c061. 00530 - Binomial Showdown -- UVa530 | From: [223.136.207.243] | 發表日期 : 2019-06-15 11:09

#include
using namespace std;
int main(int argc, char** argv) {
int a, b;
while(cin >> a >> b&&a&&b){
unsignedlonglongint c=1, d=1;
for(int i=1;i<=a-b;i++){
c*=i;
cout << c << endl;
}
for(int i=1;i<=b;i++){
d*=i;
cout << d << endl;
}
c*=d, d=1;
for(int i=1;i<=a;i++){
d*=i;
}
cout << d/c << endl;
}
}

答案不會超過2^31,但計算階乘的過程還是有可能溢位喔


 
ZeroJudge Forum