Pagini recente » Cod sursa (job #2380490) | Cod sursa (job #814023) | Cod sursa (job #2956526) | Cod sursa (job #280233) | Cod sursa (job #1893607)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("sumdiv2.in");
ofstream g("sumdiv2.out");
int Q[1000000],ma[100000][2],P[100];
int sum_div(int x)
{ int sum=0;
for(int i=1;i<=x/2;i++)if(x%i==0)sum=sum+i;
sum=sum+x;
return sum;
}
int main()
{ int n,a,b,maxB=0,minA=99999;
f>>n;
for(int i=1;i<=n;i++)
{ f>>a>>b;
ma[i][1]=a;
ma[i][2]=b;
if(b>maxB)maxB=b;
if(a<minA)minA=a;
}
for(int i=minA;i<=maxB; i++) P[i]=sum_div(i);
for(int j=1; j<=minA; j++)Q[minA]=Q[minA]+P[j];
for(int i=minA+1;i<=maxB; i++)Q[i]=Q[i-1]+P[i];
for(int i=1;i<=n;i++)
{
b=ma[i][2];
a=ma[i][1];
g<<Q[b]-Q[a-1]<<'\n';
}
return 0;
}