全部评论 3

  • #include<bits/stdc++.h>
    using namespace std;
    int n,t,f[22]={0,-1,1,7,4,2,6,8,10,18,22,20,28,68,88,108,188,200,208,288,688,888};
    int main(){
    	cin>>t;
    	while(t--){
    		cin>>n;
    		if (n<=21) cout<<f[n]<<"\n";
    		else{
    			int k=ceil(1.0*(n-21)/7);
    			cout<<f[n-k*7];
    			while(k--) putchar('8');
    			cout<<"\n";
    		}
    	}
    	return 0;
    }
    
    

    2026-07-18 来自 广东

    1
  • #include<bits/stdc++.h>
    using namespace std;
    int t,n,x;
    int main(){
    	cin>>t;
    	while(t--){
    		cin>>x;int mm=x/7;
    		if(x==1)cout<<-1;
    		else if(x==2)cout<<1;
    		else if(x==3)cout<<7;
    		else if(x==4)cout<<4;
    		else if(x==5)cout<<2;
    		else if(x==6)cout<<6;
    		else if(x%7==0){
    			while(x>0)cout<<8,x-=7;
    		}else if(x%7==1){
    			cout<<10;x-=8;
    			while(x>0)cout<<8,x-=7;
    		}else if(x%7==2){
    			cout<<1;x-=2;
    			while(x>0)cout<<8,x-=7;
    		}else if(x%7==3){
    			if(x==10)cout<<22; 
    			else {
    				cout<<200;x-=17;
    				while(x>0)cout<<8,x-=7;
    			}
    		}else if(x%7==4){
    			cout<<20;x-=11;
    			while(x>0)cout<<8,x-=7;
    		}else if(x%7==5){
    			cout<<28;x-=12;
    			while(x>0)cout<<8,x-=7;
    		}else if(x%7==6){
    			cout<<6;x-=6;
    			while(x>0)cout<<8,x-=7;
    		} 
    		cout<<"\n";
    	}
    	return 0;
    }
    

    贪心

    11小时前 来自 广东

    0
  • 打表在这

    2026-07-18 来自 广东

    0
暂无数据

提交答案之后,这里将显示提交结果~

首页