整数分解
# 54. 整数分解
- 出题人:OJ
- 标签:["Number"]
- 难度:简单
- 总分数:100
## 题目描述给你一个整数n,将它拆分成他所有最小因子(大于1)的连乘形式,同时遵守最小因子优先的原则,小的因子在前面,如n=6,则输出2*3=6。
## 解答要求
时间限制:1000ms, 内存限制:100MB
## 输入测试包含多组数据,每个测试包含一个整数n,(1<n<=1000000),输入到文件末尾结束。
## 输出每个测试输出一行,即分解的结果。
## 样例
### 输入样例 1:
```
5
6
24
```
### 输出样例 1:
```
5=5
2*3=6
2*2*2*3=24
```
## 提示
```
package main
import (
"fmt"
//"strconv"
)
func main() {
var n int
for {
if _, err := fmt.Scanf("%d", &n); err != nil {
break
}
a := n
for i := 2; n >= i; i++ {
for n % i == 0 { // 因式分解,若可对 i 进行分解,需一直分解到不能再分解为止
if n == i {
fmt.Printf("%d=%d\n", i, a)
break
}
n /= i
fmt.Printf("%d*", i)
}
}
}
}
```