超时////////////////////
#include<bits/stdc++.h>
using namespace std;
void NumYue(int N,vector<int>&v){//判断是否是约数
for(int i=2;i<N;i++){
if(N%i==0){
v.push_back(i);
}
}
}
int main(){
int N,M;
cin>>N>>M;
vector<int>dp(2*M,0);
dp[N]=0;
for(int i=N;i<=M;i++){
vector<int>v;
NumYue(i,v);
int n=v.size();
for(int j=0;j<n;j++){
if(dp[i+v[j]]){
dp[i+v[j]]=min(dp[i+v[j]],dp[i]+1);
}else{
dp[i+v[j]]=dp[i]+1;
}
}
v.clear();
}
if(dp[M]==0){
cout<<-1;
}else{
cout<<dp[M];
}
return 0;
}
京公网安备 11010502036488号