第2个回答 2011-11-28
//##################################################
// 不重复的组合共有300个,300个中能被25整除的只有21个,
// 程序如下:
//##################################################
int main(void)
{
char ch[10]={'0','1','2','3','4','5'},str[10];
int i=0,j=0,k=0,nFileItem=0,find=0,nNum=0;
FILE *fp=fopen("c:\\Count.txt","w+");
for(i=1023;i<=5432;i++)
{
sprintf(str,"%d",i);
for(j=0;j<4;j++)
{
for(k=0,find=0;k<6;k++)
{if(str[j]==ch[k]){find=1;break;}}
if(find==0)break;
}
if(find==0)continue;
for(j=0,find=0;j<4&&find==0;j++)
{
for(k=0;k<6;k++)
{
if(j==k)continue;
if(str[j]==str[k]){find=1;break;}
}
}
if(find==0)
{
if((i%25)==0)
{
fprintf(fp,"%d,",i);nFileItem++;
if((nFileItem%8)==0)fprintf(fp,"\r\n");
nNum++;
}
}
}
fprintf(fp,"\r\nCount:%d\r\n",nNum);
fclose(fp);
printf("%d",nNum);
getchar();
return 0;
}
//##################################################
// 程序输出21个数字如下:
1025,1250,1325,1350,1425,1450,2150,2350,
2450,3025,3125,3150,3250,3425,3450,4025,
4125,4150,4250,4325,4350,
Count: 21
//##################################################