#include<stdio.h> #include<math.h> #include<string.h> int prime[1000010]; int vis[1000010]; int flag; void init_prime() { int i, j; for(i = 2;i <= sqrt(1000010); ++i) { if(!prime[i]) for(j = i * i; j <= 1000010; j += i) prime[j] = 1; } j = 0; for(i = 2;i <= 1000010; ++i) if(!prime[i]) prime[j++] = i; flag=j; } void vist_prime() { int i; memset(vis,0,sizeof(vis)); for(i=0;i<=flag-1;i++) { vis[prime[i]]=1; } }
时间: 2024-11-04 20:42:03