Cod sursa(job #2215112)

Utilizator v_silviuVlasceanu Silviu v_silviu Data 21 iunie 2018 01:51:27
Problema Cifra Scor 0
Compilator java Status done
Runda Arhiva de probleme Marime 1.3 kb
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

class Main {

    private static int last(char c) {
        switch (c) {
            case '1': return 1;
            case '2': return 5;
            case '3': return 2;
            case '4': return 8;
            case '5': return 3;
            case '6': return 9;
            case '7': return 2;
            case '8': return 8;
            case '9': return 7;
            default: return 0;
        }
    }

    private static int calculateDigit(String n) {
        if(n.length() == 1) return last(n.charAt(0));
        char tenths = n.charAt(n.length() - 2);
        char units = n.charAt(n.length() - 1);
        return (Character.getNumericValue(tenths) * 7 % 10 + last(units))% 10;
    }

    public static void main(String[] args) throws IOException {

        Scanner reader = new Scanner(new FileInputStream("cifra.in"));
        BufferedWriter writer = new BufferedWriter(new FileWriter("cifra.out"));

        int T = reader.nextInt();
        String N;
        while(T > 0) {
            N = reader.next();
            int digit = calculateDigit(N);
            writer.write(digit + "\n");
            T--;
        }

        reader.close();
        writer.close();
    }

}