80分求助

P5736 【深基7.例2】质数筛

1不是素数,需判断 ~~求关~~
by Hawkfrost @ 2024-01-27 23:42:51


``` #include<bits/stdc++.h> using namespace std; bool pd(int n) { if(n==1) return 0; int a=0; for(int i = 2;i <= n-1;i++) { if(n%i == 0) return 0; } return 1; } int main() { int n,x; scanf("%d",&n); for(int i =1;i <= n;i++) { scanf("%d",&x); if(pd(x)) printf("%d ",x); } return 0; } ```
by Hawkfrost @ 2024-01-27 23:43:10


``` #include<bits/stdc++.h> using namespace std; bool ss(int n){ if(n<=1)return 0; for(int i=2;i<n;i++){ if(n%i==0)return 0; } return 1; } int main() { int n; cin>>n; int a[n]; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<n;i++){ if(ss(a[i])){ cout<<a[i]<<" "; } } } ```
by hetong321 @ 2024-02-24 11:32:27


要在函数中判断1,这段代码中没判断1,而且循环时判断到n的平方根(sqrt(n))就可以了,如果测试数据太多有可能超时 ~~当然这道题不用考虑这个~~ 本小白的代码 ```cpp #include <bits/stdc++.h> using namespace std; int SN(int x){ if(x<=1) return 0; for(int i=2;i<=sqrt(x);i++){ if(x%i==0) return 0; } return 1; } int main(){ int n;cin>>n; for(int i=1;i<=n;i++){ int a; cin>>a; if(SN(a)==1) cout<<a<<" "; } return 0; } ```
by L_SenY @ 2024-03-25 22:19:27


特判1 ~~本蒟蒻~~代码 ```c #include <bits/stdc++.h> using namespace std; int isPrime(int n) { int i; if(n==1) return 0; for(i=2;i<n;i++) { if(n%i==0) return 0; } return 1; } long long b; long long a[114]; int main(){ cin>>b; for(int i=0;i<b;i++){ cin>>a[i]; } for(int i=0;i<b;i++){ if (isPrime(a[i])){ printf("%d ",a[i]); } } return 0; } ```
by Jiangyixuan0330 @ 2024-03-30 15:15:09


|