#include<bits/stdc++.h>
using namespace std;
int n,ans;
bool p[100000000];
int main() {
cin>>n;
int i,j;
p[0]=p[1]=false;
for(int i=2; i<=n; i++) p[i]=true;
for(int i=2; i*i<=n; i++) {
if(p[i]) {
for(int j=i*i; j<=n; j+=i) {
p[j]=false;
}
}
}
for(int u=0;u<n;u++){
if(p[u]) ans++;
}
cout<<ans;
}
#include<bits/stdc++.h>
using namespace std;
int n,ans;
bool p[100000000];
int main() {
cin>>n;
int i,j;
p[0]=p[1]=false;
for(int i=2; i<=n; i++) p[i]=true;
for(int i=2; i*i<=n; i++) {
if(p[i]) {
for(int j=i*i; j<=n; j+=i) {
p[j]=false;
}
}
}
for(int u=0;u<=n;u++){
if(p[u]) ans++;
}
cout<<ans;
}
我就想问这两个代码有什么区别(第一个#8WA,#10TLE,第二个AC)