Pagini recente » Cod sursa (job #1699987) | Cod sursa (job #1659074) | Cod sursa (job #2128808) | Cod sursa (job #2778155) | Cod sursa (job #2340194)
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int T, a, b;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
vector<int> lastDigits(11, 1);
lastDigits[0] = 0;
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
lastDigits[i] = lastDigits[i]*i;
if (lastDigits[i] > 9)
lastDigits[i] %= 10;
}
fin >> T;
for (int i = 1; i <= T; i++)
{
string n;
fin >> n;
string k;
k.resize(n.size());
for (int j = 0; j < k.size(); j++)
k[j] = '0';
int sum = 0;
do
{
int digit = k.size()-1;
while(k[digit] == '9')
{
k[digit] = '0';
digit--;
}
k[digit]++;
sum += lastDigits[int(k[k.size()-1])-48];
if (sum > 9)
sum %= 10;
}
while (k != n);
fout << sum << endl;
}
fin.close();
fout.close();
return 0;
}