Yêu cầu: Cho hai số nguyên dương L và R. Hãy đếm số lượng số nguyên tố thuộc đoạn [L;R] Dữ liệu Gồm một dòng duy nhất chứa hai số nguyên dương L và R (0<L<=R<=109, R-L<=106) Kết quả: In ra kết quả bài toán. Ví dụ input 178 1919 output 253
2 câu trả lời
#include <bits/stdc++.h>
#define nmax 10000007
using namespace std;
bool f[nmax];
long long n;
long long l, r, dem = 0;
void prime()
{
memset(f, true, sizeof(f));
f[0] = f[1] = false;
for(int i = 2; i * i <= nmax; i++)
{
if(f[i])
for(int j = i * i ; j <= nmax ; j = j + i)
f[j] = false;
}
}
int main()
{
prime();
cin >> l >> r;
for ( int i = l; i <= r; i++)
{
if(f[i])
dem++;
cout <<dem;
}
}
#include <bits/stdc++.h>
using namespace std;
int kiemtra(long long n)
{
if(n < 2) return 0;
if(n < 4) return 1;
if(n % 2 == 0 or n % 3 == 0) return 0;
for(int i = 5; i * i <= n; i += 6)
{
if(n % i == 0 or n % (i + 2) == 0) return 0;
}
return 1;
}
long long l,r,dem;
int main() {
cin >> l >> r;
for (long long i=l; i<=r; i++)
{
long long kt=kiemtra(i);
if (kt==1)
dem++;
}
cout << dem;
}