P7947 [✗✓OI R1] 铝锤制作 luogu
题面:构造一个正整数数列 a,使 a 中所有元素之积为 n,所有元素之和为 k。如果不存在这样的数列,输出-1。
答案: 质因数分解求每个质因数,完成对n的构造,后续补1完成对k的构造。 如果对n质因数分解后的数列a的和大于k,则无解。`
#include
using namespace std;
int a[10000],pri[10000];
int Decomopisition(int m){
int cnt=0;int Cnt=0;
for(int i=2;i*i<=m;++i){
while(m%i==0){
a[++cnt]=i;m/=i;
}
}
if(m>1)a[++cnt]=m;
return cnt;
}
int main(){
int n,k;
cin>>n>>k;
int num=Decomopisit
共有 0 条评论