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


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


#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 ... (少年π)


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