用数字012345能够组成几个没有重复数字且是25的倍数的4位数

如题所述

用数字012345组成没有重复数字且是25的倍数的4位数,则这个四位数后二位可能是25或50:
①25:则前两位:第一位不能是0,1、3、4可以——3种;第二位0、1、3、4都可以,4种,但不能重复,减去一个,3种,即3×3=9种;
②50:同理4×3=12种;
9+12=21
故21种。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-28
用数字012345组成没有重复数字且是25的倍数的4位数,后二位有如下两种情况:
25:3×3=9种
50:4×3=12种
9+12=21
用数字012345能够组成21个没有重复数字且是25的倍数的4位数本回答被提问者采纳
第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
//##################################################
第3个回答  2019-03-14
25的倍数必须最后两位是50、25
所以:4位数的个数=P(4,4)+3*P(3,3)=24+18=42个
能够组成42个没有重复的数字且是25的倍数的4位数
第4个回答  2011-11-28
21
相似回答