0
已解决
童梦圆
资深守护
资深守护
http://judge2.codingtang.com/problem/3890/
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n;
cin>>n;
int num,s=0,flag;
for(long long k=1;k<=n;k++)
{
num=0;
for(long long i=2;i<=sqrt(k);i++)
{
if(k%i==0)
{
flag=1;
for(long long j=2;j<=sqrt(i);j++)
if(i%j==0)
flag=0;
if(flag==1)
num++;
}
}
if(num==4)
s++;
}
cout<<s<<endl;
return 0;
}
童梦圆在2019-07-14 11:33:26追加了内容
哪里错了???
0分
1
已采纳
杨舰中
高级守护
高级守护
你好,我看不出你的问题,看看我的代码
for(2到n的循环)
{
if(a[i]==0)
{
for(int j=2*i;j<=n;j+=i)//2*i到n的循环
a[j]++;//用桶保存起来
}
}
for(2到n的循环)
{
if(a[i]==4)//若桶内有4个数
cnt++;//计数器+1
}
cout<<cnt<<" ";//最后输出
0
0
0