Pagini recente » Cod sursa (job #1360582) | Cod sursa (job #3192678) | Cod sursa (job #765832) | Cod sursa (job #828526) | Cod sursa (job #475241)
Cod sursa(job #475241)
#include<fstream>
#define max 1000
using namespace std;
char nr[max];
int a[max],ucc,rest;
int constanta[20]={1,4,7,6,5,6,3,6,9,0,1,6,3,6,5,6,7,4,9,0};
void transformare()
{
long i;
for (i=0; i<strlen(nr); i++)
a[i+1]=nr[i]-'0';
a[0]=strlen(nr);
}
void impartire()
{
long i;
for (i=1; i<=a[0]; i++)
if (a[i]<20)
a[i+1]=a[i]*10+a[i+1]; else
{
a[i+1]=(a[i]%20)*10+a[i+1];
ucc=a[i]/20;
}
rest=a[a[0]+1]/10;
}
ofstream fout("cifra.out");
void afisare()
{
long i,rez;
rez=(ucc*14)%10;
for (i=0; i<rest; i++)
rez=(rez+constanta[i])%10;
fout<<rez<<'\n';
}
void stergere()
{
long i;
for (i=1; i<=a[0]+1; i++)
a[i]=0;
a[0]=0;
}
int main()
{
long t,i;
ifstream fin("cifra.in");
fin>>t;
for (i=1; i<=t; i++)
{
fin>>nr;
transformare();
impartire();
afisare();
stergere();
}
fin.close();
fout.close();
return 0;
}