Cod sursa(job #2215822)

Utilizator vadim171098vadim pislari vadim171098 Data 23 iunie 2018 18:42:00
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.3 kb
#include <iostream>
#include <fstream>

using namespace std;

int ultimul( int nr, int ult){
    int n= nr % 4;
    if (ult == 0) return 0;
    if (ult == 1) return 1;
    if (ult == 2){
        if (n == 0) return 6;
        if (n == 2) return 4;
    }
    if(ult == 3){
        if(n == 3) return 7;
        if(n == 1) return 9;
     }
    if(ult == 4) return 6;
    if(ult == 5) return 5;
    if(ult == 6) return 6;
    if(ult == 7){
        if (n == 3) return 3;
        if (n == 1) return 7;
    }
    if(ult==8){
        if(n==0) return 6;
        if(n==2) return 4;
    }
    if(ult==9)return 9;
}
int cifre(int T){
    int j,suma=0,aux,k,rest;
    for(j = 1; j<=T; j++){
        rest = j % 10;
        suma = (suma + ultimul(j,rest)) % 10;
    }
    return suma;
}

int main()
{
    ifstream in;
    in.open("cifra.in");
    ofstream out;
    out.open("cifra.out");
    int nr,i;
    in >> nr;
    string str;
    getline (in, str);
    for(i = 0 ; i != nr; i++){
        int k;
        getline (in, str);
        int n = str.length();
        if(n == 1) k = str[n - 1] - '0';
        else k = (str[n - 2] - '0') *10 + (str[n - 1] -'0');
        if(k==0){
            out << 0 << endl;
            continue;
        }
        out << cifre(k) << endl;
    }
}