C#质因子(自己别扭的逻辑。。)

 static int length1(int num) //想着要定义一个函数取,质因子数组的长度
       {
             int arrayLength = 0;
 
           for (int i = 2; i <= num; i++)  //for循环中I 不会归零 只能遍历一次
            {

                 if (num == i)
                 {
                    arrayLength++;
                    break;//只要 因子等于i了,说求到头了,跳出循环(要不还会执行下一个IF)
                }
                if (num % i == 0)
                {
                     arrayLength++;
                     num = num / i;
                     i = 1;//因为得出的新的num 需要重新与i=2比较,所以手动赋值为1。。
                 }
             }
             return arrayLength;
        }

 

posted @ 2018-01-09 09:51  小猪师傅  阅读(306)  评论(0编辑  收藏  举报