此题有两点很让人纠结:
1、最后一个数字之后还有一个空格(题目没说清楚)
2、在最后一组也就是-1之前不输出空行(这个有说,但此类格式很少见)
我自己写的那段代码:Output Limit Exceeded了5次
随后去杭电论坛看了一下,无意中发现一段很值得学习的代码,当然,先拿来AC了再说,然后在仔细学习。
其中的for(ni=2;ni<=n&&n%ni!=0;ni++) ;一句用得很妙,直接得出素数因子,而我之前的代码则是先求出一定范围内的prime所有值,然后再求因子,显然前者要好的多。还有此段代码用了一个hash[]数组来保存各个因子的指数也用得相当巧妙。
代码如下: