题目链接:
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);
}
}
本文提供了 CodeForces 平台上的 797A 题目的解题思路及 C++ 实现代码。该题可通过直接暴力处理解决,主要涉及整数分解质因数的过程,并根据题目要求输出特定格式的结果。
927

被折叠的 条评论
为什么被折叠?



