Cod sursa(job #733998)

Utilizator gabrielvGabriel Vanca gabrielv Data 13 aprilie 2012 12:43:39
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
using namespace std;
#include<cstdio>
#include<bitset>
#define MAX 1000005
#define MAX2 78600
#define MOD 9973
bitset <MAX> ciur;
int prim[MAX2],k=1;
void ciur_er()
{
	int i,j;
	prim[k]=2;
	for(i=3;i<MAX-1;i=i+2)
		if(!ciur[i])
		{
			prim[++k]=i;
			for(j=i+i+i;j<MAX-1;j=j+i+i)
				ciur[j]=1;
		}
}
int main()
{
	freopen("ssnd.in","r",stdin);
	freopen("ssnd.out","w",stdout);
	int T,n,c,nrd,i,m,S,P;
	ciur_er();
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d",&n);
		nrd=1;
		S=1;
		for(i=1;(prim[i]*prim[i]<=n)&&(i<=k);i++)
		{
			m=n;
			c=1;
			while(n%prim[i]==0)
			{
				n=n/prim[i];
				c++;
			}
			nrd=nrd*c;
			P=(m/n*prim[i]-1)/(prim[i]-1);
			S=((S%MOD)*(P%MOD))%MOD;
			//S=S*P;
		}
		if(n!=1)
		{
			nrd=nrd*2;
			S=((S%MOD)*((n+1)%MOD))%MOD;
			//S=S*(n+1);
		}
		printf("%d %d\n",nrd,S);
	}*/
	return 0;
}