题目:输入一个正整数,将其分解为质因式,如:60=2*2*3*5;若本身是质数,则输出
如:307是一个质数!
==================================================================这是一道有深度的题目,思路是这样的:先定义素数的判断函数,输入一个数,判断,如果是
质数,直接输入如 307是一个质数!否则继续下一步:在0到m之间(注意m是动态的)寻找因
子,首先找到的i必然是质数,比如不可能先找到4,因为在4之前还有2,必然先找到2,而2是
质数!确定质因子i后,将m变为m/i,比如60,先找到质因子2,然后变为60/2=30,通过循环(
此时i的初值又变回2)继续找30的质因子,直到找不出质因子(60找2变30,再找2变15,再找
3变5,5已经找不出质因子,因为5已经是质数),此时循环结束!为了按照题目要求输出,必须
将找到的质因子保存在预先定义的数组y[]中,以便循环结束时按要求输出!你想想如果不用数组
输出,是不是没法输入“*”或者多输出“*”!的确是这样的,读者可以不通过数组尝试输出结果,以
便理解上面这几句!
========================================================================版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/lzx19901012/article/details/46855655