社区讨论

B4050求助

B4050[GESP202409 五级] 挑战怪物参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@m3v592wy
此快照首次捕获于
2024/11/24 13:13
去年
此快照最后确认于
2025/11/04 14:02
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>

using namespace std;
long long n,a,b[18]{0,1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536},ans=0;
bool f(int x)
{
	if(x<2)
	{
		return 0;
	}
	for (int i=1;i<=x/2;i++)
	{
		if(x%i==0)
		{
			return 0; 
		}
	}
	return 1;
}
int main()
{
    cin>>n;
    for (int i=1;i<=n;i++)
    {
    	ans=0;
    	cin>>a;
    	if(f(a)==1)
    	{
    		cout<<1;
    		
		}
    	for(int i=1;i<=17;i++)
    	{
    		a=a-b[i];
    		ans++;
    		if(a==0)
    		{
    			cout<<ans<<endl;
    			continue;
			}
    		if(f(a)==1)
    		{
    			a=0;
    			ans++;
    			cout<<ans<<endl;
    			continue;
			}
		}
		if(a<0)
		{
			cout<<"-1"<<endl;
		}
	}
	return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...