C 不超时
#include "stdio.h" #include "string.h" int main(void) { int num=0; scanf("%ld",&num); int buf[100]={0}; int count=0; int data=2; while(num!=1) { if((num%data)==0) { num/=data; buf[count++]=data; data=2; } else{ if(data==2) data++; else data+=2; } } for(int i=0;i<count;i++) { printf("%d ",buf[i]); } return 0; }