建议加强数据,n*sqrt(n)大约1e9的暴力轻松水过
查看原帖
建议加强数据,n*sqrt(n)大约1e9的暴力轻松水过
1074084
asd890123楼主2024/5/30 20:39
#include <cstdio>

int g(int x){
    
    int ans = -1,cnt;
    
    for (int i = 2;i * i <= x;i++){
        
        cnt = 0;
        while (x % i == 0) x /= i,cnt++;
        if (cnt) ans = ans > i ? ans : i;
        
    }
    if (x != 1) ans = ans > x ? ans : x;
    
    return ans;
}

int main(){
    
    int n,b,ans = 0;
    
    scanf("%d%d",&n,&b);
    for (int i = 1;i <= n;i++)
        if (g(i) <= b)
            ans++;
    printf("%d\n",ans);
    
    return 0;
}
2024/5/30 20:39
加载中...