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