CF1471B Strange List 一点点找规律+模拟

#include<bits/stdc++.h>
using namespace std;
long long a[100005],b[100005];
int main( )
{
	
//	freopen("917.in","r",stdin);
	
	int t;
	cin>>t;
	while(t--)
	{
		long long n,x,ans=0,ok=1;
		
		
		cin>>n>>x;
		for(int i=1;i<=n;i++)
		{   long long c;
			cin>>c;
			b[i]=c;
			a[i]=c;
			ans+=c;
		}


		while(ok==1)
		{
			for(int i=1;i<=n;i++)
			{
				if(b[i]%x!=0)//a[i]%x!=0
				 {  
				 	ok=0;
				 	break;
				 }
				 else {
				 	ans+=a[i];
				 	b[i]/=x;
				 } 
			}
		}
		cout<<ans<<endl;
	}
}

  本来是想筛出每个数最多是x的多少次幂,会在哪里被卡,然后找到特定的k*p了事,原来模拟也能过..

CF1471B Strange List 一点点找规律+模拟

上一篇:sns.load_dataset('tips') 由于目标计算机积极拒绝,无法连接


下一篇:计算机 & 电子信息类 学位与研究生教育核心期刊目录