建议降红
查看原帖
建议降红
951510
Atimmy楼主2024/10/26 16:31

考试时想不出来就开始找规律

#include <bits/stdc++.h>
using namespace std;
int t,n;
int main()
{
	cin>>t;
	while(t--)
	{
		cin>>n;
		if(n<2){
			cout<<-1<<endl;continue;
		}
		else if(n==2){cout<<1<<endl;continue;}
		else if(n==3){cout<<7<<endl;continue;}
		else if(n==4){cout<<4<<endl;continue;}
		else if(n==5){cout<<2<<endl;continue;}
		else if(n==6){cout<<6<<endl;continue;}
		else if(n==7){cout<<8<<endl;continue;}
		
		else if(n==8){cout<<10<<endl;continue;}
		else if(n==9){cout<<18<<endl;continue;}
		else if(n==10){cout<<22<<endl;continue;}
		else if(n==11){cout<<20<<endl;continue;}
		else if(n==12){cout<<28<<endl;continue;}
		else if(n==13){cout<<68<<endl;continue;}
		else if(n==14){cout<<88<<endl;continue;}
		
		else if(n==15){cout<<108<<endl;continue;}
		else if(n==16){cout<<188<<endl;continue;}
		else if(n==17){cout<<200<<endl;continue;}
		else if(n==18){cout<<208<<endl;continue;}
		else if(n==19){cout<<288<<endl;continue;}
		else if(n==20){cout<<688<<endl;continue;}
		else if(n%7==0)
		{
			for(int i=1;i<=n/7;i++)
			{
				cout<<8;
			}
			cout<<endl;
			continue;
		}
		else if(n%7==1)
		{
			cout<<10;
			for(int i=1;i<(n-1)/7;i++)
			{
				cout<<8;
			}
			cout<<endl;
			continue;
		}
		else if(n%7==2)
		{
			cout<<1;
			for(int i=1;i<=(n-2)/7;i++)
			{
				cout<<8;
			}
			cout<<endl;
			continue;
		}
		else if(n%7==3)
		{
			cout<<200;
			for(int i=1;i<=(n-3)/7-2;i++)
			{
				cout<<8;
			}
			cout<<endl;
			continue;
		}
		else if(n%7==4)
		{
			cout<<20;
			for(int i=1;i<=(n-4)/7-1;i++)
			{
				cout<<8;
			}
			cout<<endl;
			continue;
		}
		else if(n%7==5)
		{
			cout<<2;
			for(int i=1;i<=(n-5)/7;i++)
			{
				cout<<8;
			}
			cout<<endl;
			continue;
		}
		else if(n%7==6)
		{
			cout<<6;
			for(int i=1;i<=(n-6)/7;i++)
			{
				cout<<8;
			}
			cout<<endl;
			continue;
		}
	}
	return 0;
}

continue是复制上的,其实没必要

(n-k)/7可以直接改成n/7

2024/10/26 16:31
加载中...