0
0
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Thuật toán: Số nguyên dương có đúng 3 ước là bình phương của 1 số nguyên tố. Vậy ta chỉ cần duyệt i từ 2 đến `sqrt(n)` . Nếu i là số nguyên tố ta tăng biến điếm lên 1.
#include <bits/stdc++.h>
using namespace std;
bool check(int n)
{
if (n < 2)
return false;
for (int i = 2; i * i <= n; i++)
{
if (n % i == 0)
return false;
}
return true;
}
int main()
{
long long n,dem=0;
cin>>n;
for(int i=2;i*i<=n;i++)
{
if(check(i)) dem++;
}
cout<<dem;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
90
55
Giải thích các bước giải:
#include <bits/stdc++.h>
#include <vector>
#define ll long long
using namespace std;
bool check(ll n)
{
if (n < 2)
return false;
for (int i = 2; i * i <= n; i++)
{
if (n % i == 0)
return false;
}
return true;
}
int main()
{
ll n,cnt=0;
cin>>n;
for(int i=2;i*i<=n;i++)
{
if(check(i))
cnt++;
}
cout<<cnt;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin