コーディングテスト練習記録

5504 ワード

2021.12.23 3 3日目
白駿1065号(単数)
正の整数Xの各位置が等差数列である場合、その数を1つの数と呼ぶ.等差数列とは、連続する2つの数の差が一定の数列を指す.
質問する
Nが与えられた場合、プログラムを作成し、1以上、N以下の数値を出力します.
私の答え
  • の範囲は
  • に近い.
  • 1~99の間の数は
  • である.
  • 12000は1つの数xに等しく、100から999は1つの数
  • に等しい.
  • 百ビットn/100、10ビットn%100/10、1ビットn%1
  • 第2桁-第1桁==第3桁-第2桁
  • 条件が
  • の場合、追加数は
  • である.
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            Test test = new Test();
            int a = scanner.nextInt();
    
            test.sum(a);
        }
    }
    
    class Test {
        void sum(int a) {
            int count = 0;
    
            if (a < 100) {
                count = a;
            } else {
                count += 99;
                for (int i = 100; i <= a; i++) {
                    if (i % 100 / 10 - i % 10 == i / 100 - i % 100 / 10) {
                        count++;
                    }
                }
            }
    
            System.out.println(count);
        }
    }
    考える