将1、2、3、4、5、6、7、8、9九个数字分成二组,每个数字只能用一次,一组形成一个5位数,另一组形成一个

2024-12-29 15:32:54
推荐回答(1个)
回答1:

#include
using namespace std;
int count[10];
int n;
void panduan(int a){
int m=a*n;
int i;
for(i=0;i<10;++i)
count[i]=0;//每个数字用过几次 先设置为0;
int x;
int aa=a;//a备份一个
for(i=0;i<4;++i){
x=aa%10;//每次去aa的最后一位数字
aa/=10;
++count[x];
}
int mm=m;
for(i=0;i<5;++i){
x=mm%10;//每次取mm的最后一位数字
mm/=10;
++count[x];
}
for(i=1;i<10;++i)
if(count[i]!=1)//每个数字的使用次数必须为1
return;
//能够进行到这里证明 m/a=n 是一个符合题意的答案
//进行其他操作 如输出提示
cout<