Cod sursa(job #2022397)

Utilizator ruxandra_lutanRuxandra Lutan ruxandra_lutan Data 16 septembrie 2017 14:51:34
Problema Cifra Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <stdio.h>
#include <stdlib.h>

int last_digit_n_power_n(int n) {
    int i, x;
    x = 1;
    for(i = 1; i <= n; i++) {
        x = x * n % 10;
    }
    return x;
}

void first_99_numbers(int vector[]) {
    int i;
    vector[0] = 0;
    for(i = 1; i <= 99; i++) {
        vector[i] = (vector[i-1] + last_digit_n_power_n(i)) % 10;
    }
}

int main()
{
    FILE *in = fopen("cifra.in", "r");
    FILE *out = fopen("cifra.out", "w");
    int t, i, last_2_digits;
    char n[255];
    int vector[100];

    first_99_numbers(vector);
    fscanf(in, "%d", &t);
    fscanf(in, "%c" , &n[0]);
    for(i = 1; i <= t; i++) {
        fscanf(in, "%s", n);
        last_2_digits = n[strlen(n) - 1] - '0';
        if(strlen(n) > 1) {
            last_2_digits = last_2_digits + (n[strlen(n) - 2] - '0') *10;
        }
        fprintf(out, "%d \n", vector[last_2_digits]);
    }

    return 0;
}