Pagini recente » Cod sursa (job #3122005) | Cod sursa (job #3210820) | Cod sursa (job #1149343) | Cod sursa (job #2558741) | Cod sursa (job #91671)
Cod sursa(job #91671)
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int pow[10][4];
int a10[10];
int a20[10];
int results[101];
void initPow()
{
for(int i=1;i<=10;++i)
{
int a = 1;
for(int j=0;j<4;++j)
{
a *= i;
a %=10;
pow[i-1][j] = a;
}
}
int start = 0;
int result = 0;
for(int j=1;j<=100;++j)
{
result = (result+pow[(j-1)%10][start])%10;
start = (start+1)%4;
results[j] = result;
}
}
int main(void)
{
FILE* in;
FILE* out;
int t;
char line[101];
initPow();
in = fopen("cifra.in", "r");
out = fopen("cifra.out", "w");
fscanf(in, "%d\n", &t);
for(int i=0;i<t;++i)
{
fscanf(in, "%s\n", line);
int result = 0;
size_t length = strlen(line);
if(length >= 2)
{
int a1 = line[length - 2] - '0';
result = 10*a1;
}
int a2 = line[length - 1] - '0';
result += a2;
fprintf(out, "%d\n", results[result]);
}
fclose(in);
fclose(out);
return 0;
}