题意:大概是给了你两个数,l和r,然后这 2<=l<=r<=10的9次方,然后让你哪一个因子在l~r的出现次数最多,答案有多组,输出一组即可。
链接:http://codeforces.com/contest/805/problem/A
题解:其实一道比较水的题目,但是还是被坑了,一开始TLE,是想直接暴力一个一个算,后来发现实际上出现最大次数的因子只可能是二,但还是没考虑全,一开始想到1的情况了,但实际上这题的l和r不能到1,后面想到了,如果l==r等于奇数时,那么就不能输出2,而是输出l或者r中的一个。
代码:
#include <iostream>
#include <cstring>
#include <string>
#include <map>
#include <vector>
#include <queue>
#include <stdio.h>
#include <cmath>
#define maxn 100000001
using namespace std;
typedef long long LL;
int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
int l,r;
int num;
int main()
{
int i,n,x,mx,j,k;
while(scanf("%d%d",&l,&r)!=EOF)
{
if(l==r)cout<<r<<endl;
else cout<<2<<endl;
}
return 0;
}