Pagini recente » Cod sursa (job #279768) | Cod sursa (job #1943049) | Cod sursa (job #2631579) | Cod sursa (job #2953890) | Cod sursa (job #1056776)
#include<fstream>
using namespace std;
ifstream fin("progresie.in");
ofstream fout("progresie.out");
unsigned long long s;
long r;
int i,j,t,n,v[1000],v1[1000],vs[1000],k;
bool ok;
int main()
{
fin>>t;
for (i=1;i<=t;i++)
{
j=1;
fin>>n>>r;
s=(n-1)*r;
while (s!=0)
{
v[j]=s%10;
s=s/10;
j++;
}
ok=1;
v[0]=j-1;
j=1;
for (k = j; k <= v[0];k++)
v1[k] = v[k];
while (ok)
{
if (v[j] + 1 <= 9)
{
v1[j]++;
ok=0;
}
else
{
v1[j]=0;
v1[j + 1]++;
j++;
}
}
v1[0]=j;
for (j = 1; j <= v[0];j++)
{
vs[j] = vs[j]+(v[j] * v1[j])%10;
if (v[j] * v1[j] > 9)
vs[j + 1] = (v[j] * v1[j])/10;
}
vs[0] = v[0];
if (vs[vs[0]+1]!=0)
vs[0]++;
if (v[0] < v1[0])
{
vs[v[0] + 1] = vs[v[0] + 1] + v1[v1[0]];
vs[0] ++;
}
if (vs[vs[0]]>9)
{
vs[vs[0]] = vs[vs[0]]%10;
vs[vs[0] + 1] = vs[vs[0]]/10;
vs[0]++;
}
j=1;
ok=1;
while (ok)
{
vs[j] = (vs[j]+1)%10;
if (vs[j]+1<=9)
ok=0;
else
j++;
}
for (j = vs[0]; j >=1;j--)
{
fout << vs[j];
vs[j]=0;
}
vs[0]=0;
fout<<endl;
}
fin.close();
fout.close();
return 0;
}