Cod sursa(job #972144)

Utilizator danlexDan Alexandru danlex Data 11 iulie 2013 02:34:15
Problema Cifra Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <iostream>
#include <fstream>
#include <string.h>
#include <stdlib.h>
#include <math.h>
using namespace std;

int i, j, k, n, out;
char t[100], u[2];
bool DEBUG = false;
int st[100];

int pow100(int p){
    int p100 = p % 100;
    for (i = 1; i < p; i ++){
        p100 = p100 * (p % 100) % 100;
    }
    return p100;
}

void compute100(){
    st[1] = 1;
    for(i = 2; i <= 100; i++){
        st[i] = st[i-1] + pow100 (i);
    }
}

void print(){
	cout << endl;
	cout << "n: " << n << endl;
	cout << endl;
}

void read(){
	compute100();
	int last2nr, last2nr100;
    ifstream fi("cifra.in");
	ofstream fo("cifra.out");
    fi >> n;
	for(i = 0; i < n; i ++){
		last2nr = 0;
		fi >> t;
		if(strlen(t) > 1){
			u[0] = t[strlen(t) - 2];
			u[1] = t[strlen(t) - 1];
		} else if (strlen(t) == 1) {
			u[0] = t[strlen(t) - 1];
			u[1] = '\0';
		}
		last2nr = atoi(u);
		last2nr100 = st[last2nr] % 10;
		fo << last2nr100 << endl;
	}
    fi.close();
	fo.close();
}

int main(void){
    read();
    return 0;
}