求助0分
查看原帖
求助0分
1368233
liyifanglan楼主2024/11/30 15:29
#include<bits/stdc++.h>
using namespace std;

int n, B;
bool prime[1000010];
bool shu[1000010];
int zhi(int n){
	for (int i = n; i >= 1; i--){
		if (n%i == 0 && prime[i] == 0 && i <= B){
			return i;
		}
	}
	return 0;
}
int main(){
	prime[1] = 1;
	for (int i = 2; i*i <= 1e6; i++){
		if (prime[i] == 0){
			for (int j = i; i*j <= 1e6;j++){
				prime[i*j] = 1;
			}
		}
	}
	cin >> n >> B;
	int cnt = 0;
	for (int i = n; i >= 1; i--){
		shu[zhi(i)] = 1;
	}
	for (int i = 2; i <= 1e6; i++){
		cnt += shu[i];
	}
	cout << cnt << endl;
	return 0;
}
2024/11/30 15:29
加载中...