作业帮 > 数学 > 作业

C#面试题:C#请实现一个方法,该方法接受一个正整数,返回一个最小的正整数该正整数的各个数位上的数字之积,等于输入的数,

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/11/06 00:41:10
C#面试题:
C#请实现一个方法,该方法接受一个正整数,返回一个最小的正整数该正整数的各个数位上的数字之积,
等于输入的数,若不存在这样的正整数,返回-1
如,输入10,返回25,因为2*5=10,且不存在比25还小的正整数满足该条件
//贪心思想
#include
int main()
{
int a[100];
int n;
while(scanf("%d",&n)!=EOF)
{
int i,j;
j=0;
for(i=9;i>1;i--)
{
while(n%i==0)
{
a[j]=i;
j++;
n/=i;
}
}
if(j==0) printf("-1");
else
{
for(i=j-1;i>=0;i--)
printf("%d",a[i]);
}
printf("\n");
}
return 0;
}