分解质因数
-----------------------------------------------------------
题目:编程将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
--------------------------------------------------------------------
while (n%i == 0){} 目的是为了使质因数 i 全部除尽。
比如: 100 = 2 2 5 5 (有重复的2,5需要用循环搞定)。
为何 i 肯定是质因数呢?
因为这里是从最小的质因数2开始除的,已经将最小的质因数全部剔除掉了。
所以大的 i 不可能再分成几个较小的质因数。
1 /* 2 Title:分解质因数 3 Author:Dojking 4 */ 5 #include <stdio.h> 6 7 int main() 8 { 9 int i,n; 10 11 scanf("%d", &n); 12 for (i = 2; n != 1; i++) 13 { 14 while (n % i == 0) 15 { 16 n /= i; 17 printf("%d ",i); 18 } 19 } 20 21 return 0; 22 }