一个很短的问题
一个很短的问题时限:1000ms 内存限制:10000K 总时限:3000ms
描述:
找到最小的正整数Q,使得Q的各位数的乘积等于N
输入:
一个数 N (0<=N<=1000000000)
输出:
一个数 Q 如果不存在Q,输出-1
输入样例:
10
输出样例:
25
下面是我的代码,不知道那错了,请高手指点
#include<stdio.h>
main()
{
int Q=2,Q1,N,a[20],i,j=0,sum=1;
scanf("%d",&N);
while(1)
{
Q1=Q;
while(Q>0)
{
a[j++]=Q%10;
Q=Q/10;
}
for(i=0;i<j;i++)
{
sum=sum*a[i];
}
if(sum==N)
{
printf("%d\n",Q1);
break;
}
else Q++;
}
}