这个题目看似很简单,却很容易出错,如果能够一次AC,那说明你考虑问题的方式和代码能力已经很不错了~
我搞了一两个小时,最后还是看到别人的提示才搞定,唉~
这个题目的思路是:
对输入N进行10以内的因数分解,要使因数构成的数最小,则首先要使因数个数最少,因为这样以因数为数位的数的总位数最小,
这样,可以对N从9开始除,找一个较大因数。找到较大因数,应该把大因数放在低位,这样构成的数才最小。
上面的想法很容易得到,但是写程序时一些细节方面却容易被忽略,比如当N=1和0时,
当N = 1,直接输出1即可;
当N= 0,则要输出10,这是因为在题目中要求输出的数为正数(Positive Integer).
代码如下: