Cod sursa(job #2215937)

Utilizator vadim171098vadim pislari vadim171098 Data 24 iunie 2018 12:46:23
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.39 kb
#include <iostream>
#include <fstream>
#include <string.h>

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 3;
     }
    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;
    return 0;
}

int cifre(int T,int arr[100]){
    int suma = (arr[T-1] + ultimul(T,T%10)) % 10;
    return suma;
}

int main()
{
    ifstream in;
    in.open("cifra.in");
    ofstream out;
    out.open("cifra.out");
    int nr,i;
    in >> nr;
    char str[101];
    int arr[100];
    arr[0]=0;
    for (i = 1; i != 100 ; i++){
        arr[i]= cifre(i,arr);
    }
    fgets(str, 100, in);
    for(i = 0 ; i != nr; i++){
        int k;
        fgets(str, 100, in);
        int n = strlen(str);
        n--;
        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 << arr[k] << endl;
    }
}