https://www.lanqiao.cn/problems/214/learning/
#include<bits/stdc++.h>
using namespace std;
int vis[1000006],m,n,cont;
void dfs(int index,int k){
if(index>k){
return;
}
cont=index;
for(int i=index;i<=k;i++){
if(i%vis[index]) vis[cont++]=vis[i];
}
dfs(index+1,cont-1);
}
int main(){
cin>>m>>n;
for(int i=1;i<=n;i++){
vis[i]=2*i-1;
}
dfs(2,n);
int ans=0;
for(int i=1;i<cont;i++){
if(vis[i]>m&&vis[i]<n) ans++;
}
cout<<ans<<endl;
return 0;
}
本文介绍了一种使用深度优先搜索(DFS)算法来筛选特定区间内的数值的方法。通过预设的数值映射和递归调用,该算法能够有效地找出落在指定范围内的整数。文章展示了完整的C++实现过程,并解释了关键步骤。
356

被折叠的 条评论
为什么被折叠?



