分离各位数
123
132.231.,213,312,321;都是;
特点各位数之积和各位数之和相同
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int hb(int x,int p);
int pb(int x,int p);
int main()
{
int t,k,n,b,x,cont=0;
scanf("%d",&t);
//printf("%d",b);
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&x);
k=hb(x,(int)log10(x)+1);
b=pb(x,(int)log10(x)+1);
if((k==hb(t,(int)log10(t)+1))&&(b==pb(t,(int)log10(t)+1)))
cont++;}
printf("%d",cont);
return 0;
}
int hb(int x,int p)
{
int s=1,q,k=1;
for(int i=1;i<=p;i++)
{
q=x/k%10;
k*=10;
s*=q;
}
return s;
}
int pb(int x,int p)
{
int s=0,q,k=1;
for(int i=1;i<=p;i++)
{
q=x/k%10;
k*=10;
s+=q;
}
return s;
}
但仍然有小瑕疵;如果有更好的思路,感谢指教!