题目链接:http://codeforces.com/problemset/problem/822/A
思路:
刚开始傻乎乎的真的去算阶乘,然后再求它们的最大公约数。但是其实想一想,大的那个数的阶乘肯定包括小的那个数的阶乘。所以,它们的最大公约数就是小的那个数的阶乘。
1 #include <iostream>
2 #include <algorithm>
3 #include <stdlib.h>
4 #include <string>
5 #include <string.h>
6 #include <set>
7 #include <queue>
8 #include <stdbool.h>
9 #include <map>
10 #define LL long long
11 using namespace std;
12 const int MAXN=100005;
13
14
15 int main()
16 {
17 #ifndef ONLINE_JUDGE
18 freopen("../in.txt","r",stdin);
19 #endif
20 int a,b,x,i,p=1;
21 scanf("%d %d",&a,&b);
22 x=a<b?a:b;
23 for(i=1;i<=x;i++)
24 {
25 p=p*i;
26 }
27 printf("%d\n",p);
28 return 0;
29 }
来源:https://www.cnblogs.com/-Ackerman/p/11216263.html