Pagini recente » Cod sursa (job #1425930) | Cod sursa (job #1914837) | Istoria paginii runda/simulare_oni_2007_z1/clasament | Cod sursa (job #980095) | Cod sursa (job #2718653)
#include <bits/stdc++.h>
using namespace std;
int n;
int suma(int a)
{
int t = a;
int s = 0;
for(int i = 1; i <= t; i++)
{
if(i % 10 == 1)
s = (s + 1) % 10;
if(i % 10 == 5)
s = (s + 5) % 10;
if(i % 10 == 6)
s = (s + 6) % 10;
if(i % 10 == 9)
s = (s + 9) % 10;
if(i % 10 == 4)
s = (s + 6) % 10;
if(i % 10 == 2)
{
if(i % 4 == 2)
s = (s + 4) % 10;
else
s = (s + 6) % 10;
}
if(i % 10 == 3)
{
if(i % 4 == 1)
s = (s + 3) % 10;
else
s = (s + 7) % 10;
}
if(i % 10 == 7)
{
if(i % 4 == 1)
s = (s + 7) % 10;
else
s = (s + 3) % 10;
}
if(i % 10 == 8)
{
if(i % 4 == 2)
s = (s + 4) % 10;
else
s = (s + 6) % 10;
}
}
if(t == 0)
return 0;
return s%10;
}
int main()
{
ifstream f ("cifra.in");
ofstream g ("cifra.out");
f >> n;
f.get();
int s = 0, t;
char e[105];
while(n--)
{
f.getline(e, 105);
int r, r1, r2 ;
if(strlen(e) == 1)
{
r1 = e[0] - '0';
g << suma(r1) << '\n';
}
else
{r1 = e[strlen(e) - 1] - '0';
r2 = e[strlen(e) - 2] - '0';
g << suma(r2 * 10 + r1) << '\n';
}
}
return 0;
}