p11229 0分求调
  • 板块学术版
  • 楼主lyc20110701
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/10/29 17:03
  • 上次更新2024/10/29 20:21:19
查看原帖
p11229 0分求调
1126841
lyc20110701楼主2024/10/29 17:03

感觉我这个代码没问题啊? 请求大佬指教QWQ 题面

#include<bits/stdc++.h>
using namespace std;
int x[]={6,2,5,5,4,5,6,3,7,6};
int n;
int T;

int main(){
scanf("%d",&T);
while(T--){
    scanf("%d",&n);
    for(int i=0;;i++){
        int cnt=0;
        if(0<=i&&i<=9){
        cnt+=x[i];
        }else if(10<=i&&i<=99){
        cnt+=x[i%10];
        cnt+=x[i/10];
        }else if(100<=i&&i<=999){
        cnt+=x[i%10];
        cnt+=x[i%100/10];
        cnt+=x[i/100];
        }else if(1000<=i&&i<=9999){
        cnt+=x[i%10];
        cnt+=x[i%100/10];
        cnt+=x[i/1000];
        cnt+=x[i%1000/100];
        
        }else if(10000<=i&&i<=99999){
        cnt+=x[i%10];
        cnt+=x[i%100/10];
        cnt+=x[i%1000/100];
        cnt+=x[i%10000/1000];
        cnt+=x[i/10000];
        }else if(100000<=i&&i<=999999){
        cnt+=x[i%10];
        cnt+=x[i%100/10];
        cnt+=x[i%1000/100];
        cnt+=x[i%10000/1000];
        cnt+=x[i%100000/10000];
        cnt+=x[i/100000];
        }
        if(cnt==n) {
            printf("%d\n",i);
            break;
        }
        if(cnt-n>5) {
            puts("-1");
            break;
        }
    }

}

    return 0;
}
2024/10/29 17:03
加载中...