1843 - 课后习题8.3
写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。
Input
一个数
Output
如果是素数输出prime 如果不是输出not prime
Examples
Input
97
Output
prime
Solution C
#include<stdio.h> #include<math.h> main() { int prime(int x); int m; scanf("%d",&m); if(prime(m)!=0) printf("prime\n"); else printf("not prime\n"); } int prime(int x) { int i; if(x==1) return 0; else { for(i=2;i<=sqrt(x);i++) if(x%i==0) break; if(i>sqrt(x)) return 1; return 0; } }
Solution C++
#include<bits/stdc++.h> using namespace std; long long n,a[1000000]; int main() { cin>>n; for(int i=2;i*i<=n;i++) { if(a[i]==0) { for(int j=i+i;j<=n;j+=i) a[j]=1; } } if(a[n]==0) cout<<"prime"; else cout<<"not prime"; return 0; }