细节
1.如果b相乘能达到2023,那么b一定是2023的因子,即2023%b==0
2.只要有1个b不是2023的因子,就no
3.如果用乘法判定是否达到2023,那么有可能会类型溢出(5个不大于2023的数相乘)
综上所述
代码
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false),cin.tie(0);
int T,n,k,i,c,a,flag;
for(cin>>T;T>0;T--)
{
cin>>n>>k;
c=2023;
flag=0;
for(i=0;i<n;i++)
{
cin>>a;
if(c%a!=0)flag=1;
else c/=a;
}
if(flag)cout<<"NO\n";
else
{
cout<<"YES\n";
for(i=0;i<k-1;i++)cout<<"1 ";
cout<<c<<'\n';
}
}
return 0;
}
标签:因子,int,flag,cin,相乘,2023
From: https://www.cnblogs.com/pure4knowledge/p/17937381