这个为什么答案老是不对啊
#include<stdio.h>
int cn(int a,int b);
int main()
{
int n,a,b,s;
scanf("%d%d",&a,&b);
s=cn(a,b);
printf("%d\n",s);
return 0;
}
/* 请在这里填写答案 */
int g(int a)
{
int i,q=0;
for(i=1;i<=a;i++)
if(a%i==0)
q++;
return q;
}
int gg(int a)
{int i,q=1;
for(i=1;i<=a;i++)
if(g(i)>g(a))
q=0;
return q;
}
int cn(int a,int b)
{
int j,max=g(a),m;
for(j=a;j<=b;j++)
{if(g(j)>max&&gg(j)==1)
{max=g(j);
m=j;}}
return m;
}