赞
踩
- #include<stdlib.h>
- #define N 1000000
-
- int map[N] = {0};
-
- int isPrimary(int n)
- {
- int i;
- if(n == 2)
- {
- return 1;
- }
- for(i = 2; i*i <= n; i++)
- {
- if(n % i == 0)
- {
- return 0;
- }
- }
- return 1;
- }
-
- void initMap(int* map)
- {
- int i;
- for(i = 2; i <= N; i++)
- {
- if(isPrimary(i) == 1)
- {
- map[i] = 1;
- }
- }
- }
-
- void findPrimary(int n)
- {
- int i;
- if(n % 2 != 0 || n < 1)
- {
- return;
- }
-
- for(i = 2; i <= n; i++)
- {
- if(map[i])
- {
- if(map[n - i])
- {
- if(i <= n / 2)
- {
- printf("%d = %d + %d \n",n,i,n-i);
- }
-
- }
- }
- }
-
- }
-
- int main()
- {
- initMap(map);
- findPrimary(10000);
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。