#include<stdio.h> #include<iostream> using namespace std; int a[8000]={2,3}; int hash[80000]={0}; void func() { int i,j,k=2,flag; hash[2]=hash[3]=1; for(i=5;k<7100;i+=2) { flag=1; for(j=0;a[j]*a[j]<i;j++) { if(i%a[j]==0) { flag=0; break; } } if(flag) { a[k++]=i; hash[i]=1; } } } int main() { func(); //printf("%d\n",a[6990]); int n; scanf("%d",&n); while(n--) { int p=0; scanf("%d",&p); while(hash[p]==0) { for(int j=0;j<6990&&p>=a[j];j++) { while(p%a[j]==0&&hash[p]==0) { printf("%d*",a[j]); p=p/a[j]; } } } printf("%d\n",p); } return 0; }
时间: 2024-10-01 05:49:51