Pagini recente » Cod sursa (job #774879) | Cod sursa (job #2961176) | Cod sursa (job #2201673) | Cod sursa (job #3160166) | Cod sursa (job #1968081)
#include <fstream>
#include <string.h>
using namespace std;
ifstream f("cifra.in");
ofstream g("cifra.out");
int v[100];
int main(){
for(int i = 1; i < 100; ++i){
int c = i % 10;
if(c == 0) v[i] = v[i-1] % 10;
else if(c == 1) v[i] = (1 + v[i-1]) % 10;
else if(c == 2){
int x = i % 4;
if(x == 1) v[i] = (2 + v[i-1]) % 10;
else if(x == 2) v[i] = (4 + v[i-1]) % 10;
else if(x == 3) v[i] = (8 + v[i-1]) % 10;
else v[i] = (6 + v[i-1]) % 10;
}
else if(c == 3){
int x = i % 4;
if(x == 1) v[i] = (3 + v[i-1]) % 10;
else if(x == 2) v[i] = (9 + v[i-1]) % 10;
else if(x == 3) v[i] = (7 + v[i-1]) % 10;
else v[i] = (1 + v[i-1]) % 10;
}
else if(c == 4){
int x = i % 2;
if(x == 1) v[i] = (4 + v[i-1]) % 10;
else v[i] = (6 + v[i-1]) % 10;
}
else if(c == 5)
v[i] = (5 + v[i-1]) % 10;
else if(c == 6)
v[i] = (6 + v[i-1]) % 10;
else if(c == 7){
int x = i % 4;
if(x == 1) v[i] = (7 + v[i-1]) % 10;
else if(x == 2) v[i] = (9 + v[i-1]) % 10;
else if(x == 3) v[i] = (3 + v[i-1]) % 10;
else v[i] = (1 + v[i-1]) % 10;
}
else if(c == 8){
int x = i % 4;
if(x == 1) v[i] = (8 + v[i-1]) % 10;
else if(x == 2) v[i] = (4 + v[i-1]) % 10;
else if(x == 3) v[i] = (2 + v[i-1]) % 10;
else v[i] = (6 + v[i-1]) % 10;
}
else if(c == 9){
int x = i % 2;
if(x == 1) v[i] = (9 + v[i-1]) % 10;
else v[i] = (1 + v[i-1]) % 10;
}
}
int p;
f >> p;
for(p; p >= 1; --p){
char s[105];
f >> s;
int k = strlen(s);
int cifra1, cifra2;
if(k >= 2){
cifra1 = s[k-2] - '0';
cifra2 = s[k-1] - '0';
}
else{
cifra1 = 0;
cifra2 = s[k-1] - '0';
}
g << v[cifra1 * 10 + cifra2] << '\n';
}
}