题目链接:
http://codeforces.com/problemset/problem/797/A
题解:
水题,直接暴力处理就行了。
代码:
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
#define met(a,b) memset(a,b,sizeof(a))
#define inf 0x3f3f3f3f
const int maxn = 1e5+10;
int num[maxn];
int main()
{
int n,k;
scanf("%d%d",&n,&k);
int len=0;
for(int i=2;i<=n;i++)
{
while(n%i==0)
{
n/=i;
num[len++]=i;
}
}
if(len<k)
printf("-1\n");
else
{
for(int i=0;i<k-1;i++)
printf("%d ",num[i]);
int sum=1;
for(int i=k-1;i<len;i++)
sum*=num[i];
printf("%d\n",sum);
}
}