Pagini recente » Cod sursa (job #2120009) | Cod sursa (job #714113) | Cod sursa (job #1362873) | Cod sursa (job #278361) | Cod sursa (job #629961)
Cod sursa(job #629961)
#include<cstdio>
#include<fstream>
#include<vector>
using namespace std;
const long long Nmax = 1000000;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int max1,t;
struct ssnd
{
int suma;
int nr;
};
vector<int> numere;
ssnd ciur[Nmax];
void ReadData()
{
int i,x;
fin>>t;
for( i=0;i<t;i++)
{
fin>>x;
if(max1 < x)
max1 = x;
numere.push_back(x);
}
}
void Ciur()
{
int i,j;
ciur[1].suma = ciur[1].nr = 1;
for(i=2;i<=max1;i++)
{
ciur[i].suma += 1; // il adaug pe 1;
ciur[i].nr ++;
for( j = i; j <=max1; j+=i)
{
ciur[j].suma += i;
ciur[j].suma = ciur[j].suma % 9973;
ciur[j].nr ++;
}
}
}
void WriteData()
{
int i;
for(i=0;i<t;i++)
{
fout<<ciur[numere[i]].nr<<" "<<ciur[numere[i]].suma<<"\n";
}
}
int main()
{
ReadData();
Ciur();
WriteData();
return 0;
}