Cod sursa(job #344588)

Utilizator vladiiIonescu Vlad vladii Data 30 august 2009 18:04:23
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.43 kb
#include <iostream>
#include <fstream>
using namespace std;
int main() {
    int vect[10][10], a[10], n, i, j, p, q, t, s=0, k, l, z, x, c;
    fstream f1, f2;
    vect[0][0]=0; vect[0][1]=0; vect[0][2]=0; vect[0][3]=0;
    vect[1][0]=1; vect[1][1]=1; vect[1][2]=1; vect[1][3]=1;
    vect[2][0]=6; vect[2][1]=2; vect[2][2]=4; vect[2][3]=8;
    vect[3][0]=1; vect[3][1]=3; vect[3][2]=9; vect[3][3]=7;
    vect[4][0]=6; vect[4][1]=4; vect[4][2]=6; vect[4][3]=4;
    vect[5][0]=5; vect[5][1]=5; vect[5][2]=5; vect[5][3]=5;
    vect[6][0]=6; vect[6][1]=6; vect[6][2]=6; vect[6][3]=6;
    vect[7][0]=1; vect[7][1]=7; vect[7][2]=9; vect[7][3]=3;
    vect[8][0]=6; vect[8][1]=8; vect[8][2]=4; vect[8][3]=2;
    vect[9][0]=1; vect[9][1]=9; vect[9][2]=1; vect[9][3]=9;
    a[0] = 7; //suma primelor 10
    a[1] = 4; //suma primelor 20
    a[2] = 1; //suma primelor 30
    a[3] = 8; //suma primelor 40
    f2.open("cifra.out", ios::out);
    f1.open("cifra.in", ios::in);
    f1>>n;
    for(i=0; i<n; i++) {
             f1>>p;
             //calculez 1^1+2^2+...+p^p
             t=(p-p%10)/10;
             k=(t*7)%10;
             z=p-p%10;
             for(j=z;j<=p;j++) {
                      x = j%10; //ultima cifra
                      c = j%4; //rest la 4
                      s+=vect[x][c];
             }         
             s+=k;
             f2<<s%10<<endl; s=0;
    }
    f1.close(); f2.close();
    return 0;
}