RE求助!
查看原帖
RE求助!
1041720
zhangxinwei_dl楼主2024/9/4 21:53

错误记录
代码:

#include<bits/stdc++.h>
using namespace std;

long long n, B;
long long sushu[170];

void aishishai() { // 埃式筛,绝对不是不会写线性筛
	sushu[0] = 2;
	long long it = 1;
	for (long long i = 3; i <= 1000; i += 2) {
		if (i % 2 == 0) continue;
		bool flag = 1;
		for (long long j = 3; j < i; j += 2) {
			if (i % j == 0) {
				flag = 0;
				break;
			}
		}
		if (flag) sushu[it++] = i;
	}
	return ;
}
long long yinshu(long long n1) { // 求n1的最大质因数
	long long it = 0;
	while (sushu[it++] <= n1) {}
	it--;
	for (long long i = it; i >= 0; i--) {
		if (n1 % sushu[i] == 0) return sushu[i];
	}
	return 0;
}

int main() {
    cin >> n >> B;
    aishishai(); // 先筛素数
    long long ans = n > 0; // 关于1的最大质因数这件事
    for (long long i = 2; i <= n; i++) {
    	if (yinshu(i) <= B) ans++; // 判断B-smooth数
    }
    cout << ans << endl;
    return 0;
}

感谢

2024/9/4 21:53
加载中...