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


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

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [49.216.131.103]
最後登入時間 :
2024-06-06 19:28:43

#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.137.60.223]
最後登入時間 :
2025-05-23 17:43:44

#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,但計算階乘的過程還是有可能溢位喔