Pagini recente » Cod sursa (job #2634602) | Cod sursa (job #3257353) | Cod sursa (job #2947255) | Cod sursa (job #193773) | Cod sursa (job #1056448)
#include<iostream>
#include<fstream>
using namespace std;
ofstream g("progresie.out");
void prod(long long v[], long long &nr, long long v2[], long long n)
{
long long i,j,c,r,a[10000],poz;
for (i=1; i<=nr; i++) a[i]=0;
for (i=1; i<=n; i++)
for (j=1; j<=nr; j++)
a[j+i-1]=a[j+i-1]+v[j]*v2[i];
r=0;
for (i=1; i<=nr+n; i++)
{
a[i]=a[i]+r;
r=a[i]/10;
a[i]=a[i]%10;
}
nr=nr+n+2;
while (a[nr]==0) nr--;
poz=1;
a[poz]=a[poz]+1;
while (a[poz]>9 && poz<nr)
{
a[poz]=0;
++poz;
a[poz]=a[poz]+1;
}
for (i=nr; i>=1; i--) g<<a[i];
g<<"\n";
}
int main()
{
long long n,i,j,t,v[100000],v2[10000],nv,nv2;
unsigned long long r,q;
ifstream f("progresie.in");
f>>t;
for (i=1; i<=t; i++)
{
f>>n>>r;
q=(n-1)*r;
unsigned long long q2=q+1;
nv2=nv=0;
while (q>0)
{
++nv2;
v2[nv2]=q%10;
q=q/10;
}
while (q2>0)
{
++nv;
v[nv]=q2%10;
q2=q2/10;
}
prod(v,nv,v2,nv2);
}
return 0;
}