永发信息网

abcde/fghij=n,其中a~j为数字0~9的不重复的排列,这里的除为整除,请统计这样的组合一共有多少个?

答案:1  悬赏:0  手机版
解决时间 2021-11-27 00:47
  • 提问者网友:棒棒糖
  • 2021-11-26 11:55
abcde/fghij=n,其中a~j为数字0~9的不重复的排列,这里的除为整除,请统计这样的组合一共有多少个?
最佳答案
  • 五星知识达人网友:长青诗
  • 2021-11-26 13:06
#include
int main()
{
int p,n,m,i,j,a[10],jud;
scanf("%d",&p);//读入要测试的数
n=1234;
for(;n<=98765;n++)//n穷举到最大的98765
{
jud=0;
m=n; // 不能破坏循环变量n的值
for(i=4;i>=0;i--)
{
a[i]=m%10;
m=m/10;//将n的5位数字分别存在数组中
}
if(n%p!=0)
continue;//如果n不能被p整除,则跳到下个循环
else
{
m=n/p; // 分母需要重新赋值,不能与分子相同
for(i=9;i>=5;i--)
{
a[i]=m%10;
m=m/10;//若能整除,则把5个数字分别存在数组中
}
}
for(i=0;i<=8;i++)
{
for(j=i+1;j<=9;j++)
if(a[i]==a[j])
{
jud=1;
break;//判断a[0]~a[9]中有无重复数字
}
if(jud==1)
break;//若有重复数字,则跳出循环
}
if(jud==0)//若没有重复数字,则输出这组数据
{
for(i=0;i<=4;i++)
printf("%d",a[i]);
printf("/");
for(i=5;i<=9;i++)
printf("%d",a[i]);
printf("=%d\n",p);
}
}
return 0;
}追问运行错误追答提交当然错误啦,因为会输出
12345/6789这种啊,而你只要最后的数字,所以你把输出去掉,加一个count计数,输出count就可以了追问麻烦把代码修改一下
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯