HDU 2521 反素数(数论,比较)
#include<iostream> #include<cstring> #include<cmath> #include<cstdio> using namespace std; int cmp(int x)//计算因子数 { int cnt=0; for(int j=1;j<=x;j++) if(x%j==0) cnt++; return cnt; } int main() { int n; int a,b; int cnt,maxn,index; scanf("%d",&n); while(n--) { scanf("%d%d",&a,&b); maxn=0;//初始化为0 index=0; for(int i=a;i<=b;i++)//从a-b遍历 {//若因子数大于maxn,则替换值+下标 if(cmp(i) > maxn) { maxn=cmp(i); index=i; } } printf("%d\n",index);//输出有最大因子的最小数 } return 0; }