Pagini recente » Cod sursa (job #125709) | Cod sursa (job #98111) | Cod sursa (job #1910456) | Cod sursa (job #1153910) | Cod sursa (job #3209782)
#include <fstream>
using namespace std;
ifstream cin("tombola1.in");
ofstream cout("tombola1.out");
unsigned long long codificare(long long int a)
{
unsigned long long s=0;
while(a)
{
s+=a;
a/=10;
}
return s;
}
long long decodificare(long long int a)
{
unsigned long long st=1,dr=100000000000000000,rez;
while(st<=dr)
{
unsigned long long m=(st+dr)/2;
unsigned long long dec=codificare(m);
//cout<<dec<<'\n';
if(a==dec)
{
return m;
}
else if(a>dec)
st=m+1,rez=m;
else
dr=m-1;
}
return rez;
}
int main()
{
const unsigned long long MOD=10000000000000000031;
unsigned long long int n,cer,cnt=1,a,s=0,A,B,C,D;
cin>>cer>>n>>a>>A>>B>>C>>D;
if(cer==1)
{
for(int i=0; i<n; i++)
{
unsigned long long int nr=decodificare(a);
cout<<a<<" "<<nr<<"\n";
s+=codificare(nr-1);
s=s%MOD;
a=((a%A)*B+C)%D;
}
cout<<s;
}
else
cout<<1/0;
return 0;
}
/**
9-11 1
20-22 1
31-33
42-44
53-55
64-66
75-77
86-88
97-99
108-111 2
996-999
1008-1010
fm pt al x-lea nr bun-
*/