注解
1、筛选质因子。拿到一个数后,从2开始除,直到除不尽,加一,再去除,一直除到被除数和除数相等为止。
2、用这种思想,代码非常简单,也不需要再去判断除数是否为质数,因为如果不是质数,自然除不尽(该因子已经被分解为几个质数了)。
代码
#include <iostream>
using namespace std;
int main() {
int n;
while(~scanf("%d", &n)) {
int i = 2;
while(1){
if(i==n){
printf("%d\n", i);
break;
}
if(n%i==0){
printf("%d*", i);
n /= i;
}
else{
i++;
}
}
}
return 0;
}