Đăng nhập để hỏi chi tiết
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <bits/stdc++.h>
#define ll long long
using namespace std;
#define pii pair<int, int>
#define pb push_back
#define mp make_pair
#define X first
#define Y second
const int Lim = 1e6;
bool check(ll x){
for (ll i = 2; i <= sqrt(x); ++i)
if(x % i == 0)
return false;
return x > 1;
}
ll t , a , b , dp[Lim + 5] = {0} , f[Lim + 5];
void uocmang(){
for (ll i = 1; i <= Lim; ++i)
for(ll j = i ; j <= Lim ; j += i) dp[j]++;
}
void taomang(){
for (ll i = 1; i <= Lim; ++i){
f[i] = f[i - 1];
if(check(dp[i])) f[i]++;
}
}
int main()
{
uocmang();
taomang();
cin >> t;
while (t--)
{
cin >> a >> b;
cout << f[b] - f[a - 1] << '\n';
}
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
#include <iostream>
#include <cmath>
using namespace std;
bool ok(int n) {
if (n<=1) return false;
if (n<=3) return true;
if (n%2==0 || n%3==0) return false;
for (int i=5;i*i<=n;i+=6) {
if (n%i==0 || n%(i+2)==0)
return false;
}
return true;
}
int tinh(int n) {
int d=0;
for (int i=1;i*i<=n;++i) {
if (n%i==0) {
d+=2;
if (i*i==n) {
d--;
}
}
}
return d;
}
int main() {
int t;
cin>>t;
while (t--) {
int a,b;
cin>>a >>b;
int d=0;
for (int i=a;i<=b;++i) {
if (ok(tinh(i))) {
d++;
}
}
cout<<d<<endl;
}
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin