
#include <stdio.h>#include <stdlib.h>int main(){long num_input = 0;scanf("%d",&num_input);long num_sub = 1;long num_left = 1;//枚举测试for(int i = 2;i<=num_input;i++){num_sub = num_input/i;num_left = num_input%i;if(num_left==0){if(primeJudge(i)){printf("%d ",i);//重复测试,质因子可能相同i-=1;num_input=num_sub;}}}}//质数判断,建议划分子程序,功能分割,否则十分混乱易错int primeJudge(long num){if(num==2){return 1;}else{for(int i = 2;i<num;i++){if(num%i==0)return 0;}return 1;}}
