2024CSP-J 普及组第二轮试题及解析(第三题、小木棍(sticks))

第三题参考程序代码:

#include <iostream>
using namespace std;
void solve()
{
	int n;
	cin >>n;
//特殊情况处理
	if(n ==1)
	{
		cout <<-1<<endl;return;
	}
	else if(n ==2)
	{
		cout <<1<<endl;
		return;
	}
	else if(n ==3)
	{
		cout <<7 <<endl;
		return;
	}
	else if(n ==4)
	{
		cout <<4<<endl;
		return;
	}
	else if(n ==5)
	{
		cout <<2 <<endl;
		return;
	}
	else if(n==6)
	{
		cout <<6<<endl;
		return;		
	}
	else if(n ==10)
	{
		cout <<22 <<endl;
		return;
	}
//输出符合要求的数	
	int res =n %7;
	int num =n /7;
	
	if(res ==0)
	{
		for(int i =0;i<num;i++)
			cout <<8;
	}
	else if(res ==1)
	{
		cout <<10;
		for(int i =0;i<num -1;i++)
			cout <<8;
	}
	else if(res ==2)
	{
		cout <<1;
		for(int i=0;i<num;i++)
		cout <<8;
	}
	else if(res ==3)
	{
		cout <<200;
		for(int i =0;i<num -2;i++)
		cout <<8;
	}
	else if(res ==4)
	{
		cout <<20;
		for(int i =0;i<num -1;i++)cout <<8;
	}
	else if(res ==5)
	{
		cout <<2;
		for(int i =0;i<num;i++)cout <<8;
	}
	else if(res ==6)
	{
		cout <<6;
		for(int i =0;i<num;i++)
		cout <<8;
	}
	cout <<endl;
}
int main()
{
	int t;
	cin >>t;
	while(t--)
		solve();
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_60445850/article/details/143293210