标签:blog http strong io for 2014 div 算法
素数: 除 1 外只能被 1 和自身整除的数。
方法一:
#include <stdio.h> #define N 1000 int num = 0; int prime(int n) { int i; if(n % 2 == 0) return (n == 2); if(n % 3 == 0) return (n == 3); if(n % 5 == 0) return (n == 5); for(i = 7; i*i <= n; ++i) if(n % i == 0) return 0; return 1; } void main() { int i; for(i = 2; i < N; ++i) if(prime(i)) printf("%-4d %d\n", ++num, i); }
方法二(筛选法):
#include <stdio.h> #include <math.h> #include <time.h> #define N 1000 bool tag[N+1] = {0}; int num = 0; int prime(int n) { int i; if(n % 2 == 0) return (n == 2); if(n % 3 == 0) return (n == 3); if(n % 5 == 0) return (n == 5); for(i = 7; i*i <= n; i += 2) if(n % i == 0) return 0; return 1; } void main() { clock_t tic; tic = clock(); int i, v, bound; bound = (int)sqrt((float)N); for(i = 2; i <= bound; ++i) { if(!prime(i)) tag[i] = 1; if(!tag[i]){ v = i + i; while(v <= N){ tag[v] = 1; v += i; } } } for(i = 2; i <= N; ++i) if(!tag[i]) printf("%-4d %d\n", ++num, i); printf("%d ms\n", clock()-tic); }
标签:blog http strong io for 2014 div 算法
原文地址:http://www.cnblogs.com/liyangguang1988/p/3888892.html