这么将100分解成两个质数的和
谢谢
比较简单
筛法找出100以内的素数
然后对每一个素数 查表检查 100-素数 是不是素食
就完事了
#include<stdio.h> int isprime(unsigned int val); int main(void) { unsigned int i; printf("100 is decomposed into two prime numbers:\n"); for(i=2; i <= 100; ++i){ if(isprime(i) && isprime(100-i)){ printf(" %d and %d\n", i, 100-i); } } return 0; } int isprime(unsigned int val) { unsigned int i; for(i=2; i!=val; ++i){ if(0 == val%i){ break; } } if(i >= val){ return 1; }else{ return 0; } }
#include<stdio.h> #define MAX 100 int main() { int a[MAX],num,i,j=0,k; for(num=2; num<MAX; num++) //筛法找出100以内的素数 { for(i=2; i<num; i++) { if(num%i==0) break; } if(i==num) a[j++]=num; } for(i=0;i<j;i++) //对每一个素数 查表检查 100-素数 是不是素数 { if(a[i]>MAX/2) break; for(k=0;k<j;k++) { if(100-a[i]==a[k]) { printf("%d,%d\n",a[i],a[k]); break; } } } return 0; }