Pagini recente » Cod sursa (job #386040) | Istoria paginii utilizator/vladiana | Cod sursa (job #732340) | Cod sursa (job #2843600) | Cod sursa (job #1169743)
/******************************************************************************************
* .--. *
* ::\`--._,'.::.`._.--'/:: @author Ana M. Mihut @course InfoArena Tryout *
* ::::. ` __::__ ' .::::: @alias LT-Kerrigan @date 11.04.2014 *
* ::::::-:.`'..`'.:-:::::: @link http://infoarena.ro/problema/cifra *
* ::::::::\ `--' /:::::::: @detail 1^1 + 2^2 +...+N^N *
* *
*******************************************************************************************/
#include <fstream>
#include <string.h>
FILE *in = fopen("cifra.in", "r");
std::ofstream out("cifra.out");
int PopulateVec(int x) {
if (x % 10 == 0 || x % 10 == 1 || x % 10 == 5)
return (x % 10);
unsigned int tmp = 1;
for (int i = 1; i <= x; i++)
tmp *= x%10;
return tmp;
}
int main(){
int n, t, len;
int a[100] = { 0 };
char s[110];
for (int i = 1; i < 100; i++)
a[i] = (a[i-1] + PopulateVec(i)) % 10;
fscanf(in, "%d", &n);
for (int i = 0; i < n; i++){
fscanf(in, "\n%s", s);
len = strlen(s);
((len == 1) ? (t = s[0] - '0') : (t = 10 * (s[len-2] - '0') + s[len-1] - '0'));
out << a[t] << '\n';
}
return 0;
}