2021 字节跳动 测试编程笔试2

师姐的测试岗笔试题,拿来记录一下:

题目描述:

一个整数如果由相同数字构成,可以称为完美整数,比如说1,11,333就是完美整数,12,19,101就不是完美整数。

现在想知道,在区间[x,y]中有多少个数是完美整数。

输入描述:

第一行t[1,1000],表示接下来有t个样例:

每个样例有一行,是整数x和y,(1<=x<=y<=10^9)

输出描述:

每个样例一行,是整数m,表示区间[x,y]中有m个整数是完美整数。

 

写的有点麻烦了。

public static int  getThePerfectNums(String s){
        int res=0;
        String [] bondary=s.split(" ");
        int x=Integer.valueOf(bondary[0]);
        int y=Integer.valueOf(bondary[1]);
        if(y<x)
            return  res;
        for(int i=x;i<=y;i++)
        {
            int num1=i%10;
            if(num1==0)
                continue;
            int num2=num1;
            while(i>=num2)
            {
                if(num2==i)
                {
                    res++;
                    break;
                }
                else
                    num2=num2*10+num1;
            }
        }
     return res;
    }
        public static void main(String[] args) {

            System.out.print("请输入t: ");
            Scanner input = new Scanner(System.in);

            int t = input.nextInt();
            String [] boundary=new String[t];
            System.out.print("开始输入样例: ");
            Scanner boundar = new Scanner(System.in);
            for(int i=0;i<t;i++)
                 boundary[i]= boundar.nextLine();

            List<Integer> res=new LinkedList<>();

            for(String s :boundary)
                res.add(getThePerfectNums(s));

            for(int i=0;i<res.size();i++)
                System.out.println(res.get(i));

        }

 

上一篇:c语言 复合赋值运算符的优先级低于算术运算符


下一篇:CF741C Arpa’s overnight party and Mehrdad’s silent entering