|

楼主 |
发表于 2011-12-2 13:47:08
|
显示全部楼层
呵呵~~我还没做出来呢! ops: : ops:
下面这个是别人写的程序····
#include "stdio.h"
void main(){
int i,j,val,k,p,flag;
static int jiajia[200];
static int chenchen[10000];
static int newchenchen[10000];
static int number[100][100];
for(i=2;i<100;i++)
for(j=i+1;j<100;j++){
jiajia[i+j]++;
chenchen[i*j]++;
}
for(i=2;i<100;i++)
for(j=0;j<100;j++)
if(i==j||j==1||i==1||i<j)
number[j]=1;
val=0;
for(i=2;i<100;i++)
for(j=2;j<100;j++)
if(number[j]==0)
val++;
printf("%d\n",val);//99*98/2=4851
//我也不知道
for(i=2;i<100;i++)
for(j=2;j<100;j++)
if(jiajia[i+j]==1)
number[j]=1;
val=0;
for(i=2;i<100;i++)
for(j=2;j<100;j++)
if(number[j]==0)
val++;
printf("%d\n",val);//去掉了9个
//你也一定不知道
for(i=2;i<100;i++)
for(j=2;j<100;j++)
if(jiajia[i+j]>1){
flag=0;
for(k=2;k<(i+j);k++){
p=i+j-k;
if(k>=p)
break;
else{
if(chenchen[k*p]<=1){
flag=1;
break;
}
}
}
if(flag==1)
number[j]=1;
}
for(i=2;i<100;i++)
for(j=2;j<100;j++)
if(chenchen[i+j]>1){
flag=0;
for(k=2;k<(i+j);k++){
p=i+j-k;
if(k>=p)
break;
else{
if(jiajia[k*p]<=1){
flag=1;
break;
}
}
}
if(flag==1)
number[j]=1;
}
val=0;
for(i=2;i<100;i++)
for(j=2;j<100;j++)
if(number[j]==0)
val++;
printf("%d\n",val);
for(i=2;i<100;i++)
for(j=2;j<100;j++)
if(number[j]!=1)
printf("%d\t%d\t%d\t%d\t\n",i,j,i+j,i*j);
//for(i=0;i<10000;i++)
// if(chenchen!=0)
// printf("%d\t%d\n",i,chenchen);
} |
|