打扰一下,请问我的程序哪有问题?
#include<stdio.h>
using namespace std;
int prime(int n){
bool flag;
int max=0;
for(int i=n;i>1;i--)
if(n%i==0){
flag=true;
if(!(i&1)) flag=false;
if(i==2) flag=true;
for(int j=3;j*j<=i;j+=2)
if(i%j==0){
flag=false;
break;
}
if(flag) return i;
}
return 0;
}
int main(){
int n;
scanf("%d",&n);
printf("%d",prime(n));
return 0;
}