打表求素数:
#include<stdio.h> int a[16005]; int isprime() { for(int i=0;i<16005;i++) a[i]=i; a[1]=0; for(int i=2;i<=16005;i++) { if(a[i]!=0) for(int j=2;i*j<=16005;j++) a[i*j]=0; } a[2]=0; return 0; } int main() { int n; isprime(); int i=0; while(scanf("%d",&n)!=EOF&&n>0) { if(a[n]==0)printf("%d: no\n",++i); else printf("%d: yes\n",++i); } return 0; }