竞赛讨论区 > 球大佬解答为什么只过了90%
头像
牛客745021754号
发布于 2023-03-26 22:38 上海
+ 关注

球大佬解答为什么只过了90%

import java.util.*;
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        String t = sc.next();
        t=t.toUpperCase();
        boolean flag = false; 
        for(int i = 2;i<17;i++){
            String s = getS(n,i);
            if(s.indexOf(t)!=-1){
                flag = true;
            }
        }
        System.out.print(flag==true?"yes":"no");
    }        
    public static String getS(int n,int k){
        StringBuilder sb = new StringBuilder();
        for(int i = 1;i<=n;i++){
            if(i<k){
                if(i<10){
                    sb.append(i);   
                }else if(i==10){
                    sb.append('A');
                }else if(i==11){
                    sb.append('B');
                }else if(i==12){
                    sb.append('C');
                }else if(i==13){
                    sb.append('D');
                }else if(i==14){
                    sb.append('E');
                }else if(i==15){
                    sb.append('F');
                }
            }else{
                StringBuilder s = new StringBuilder();
                s.append(i%k);
                int l = i/k;
                if(k>10){
                       while(l>0){
                        int temp = l%k;
                        if(temp<10){
                            s.append(temp);   
                        }else if(temp==10){
                            s.append('A');
                        }else if(temp==11){
                            s.append('B');
                        }else if(temp==12){
                            s.append('C');
                        }else if(temp==13){
                            s.append('D');
                        }else if(temp==14){
                            s.append('E');
                        }else if(temp==15){
                            s.append('F');
                        }

                        l=l/k;
                    } 
                }else{
                    while(l>0){
                        int temp = l%k;
                        s.append(temp);
                        l=l/k;
                    }
                }
                sb.append(s.reverse().toString());
            }
        }
        return sb.toString();
    }
}

}

全部评论

(2) 回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐