该题切记循环到根号n,不可循环到根号k
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int t,n,k;
int main(){
cin >> t;
while(t--){
cin >> n >> k;
if( n <= k ){
cout << 1 << endl;
continue;
}
int ans = n;
for( int i = 1 ; i <= (int)sqrt(n) ; ++i ){
if(n%i==0){
if(n/i <= k){
ans = min(ans,n/(n/i));
}
if(i <= k){
ans = min(ans,n/i);
}
}
}
cout << ans << endl;
}
return 0;
}