Pagini recente » Cod sursa (job #2077809) | Cod sursa (job #2890006) | Cod sursa (job #1754733) | Cod sursa (job #2003507) | Cod sursa (job #2000484)
#include <stdio.h>
#include <stdlib.h>
#define File_in "ssnd.in"
#define File_out "ssnd.out"
#define MAX 2000000
char prim[MAX];
int nr_div (int n){
int nr = 2,i;
if(n == 1 || n == 0 )
return 1;
for ( i= 2; i * i < n; i++ )
if( n % i == 0)
nr += 2;
if ( i * i == n)
nr++;
return nr;
}
int sum_div (int n){
int s = 1+ n ,i;
if(n == 1 || n == 0 )
return n;
for ( i= 2; i * i < n; i++ )
if( n % i == 0){
s += i + n/i;
s%=9973;
}
if ( i * i == n)
s+=i;
return s%9973;
}
int main()
{
freopen(File_in, "r", stdin);
freopen(File_out, "w", stdout);
int t,i,j,k,n,nr;
scanf("%d",&t);
prim[1]=1;
for ( i = 1; i <= t; i++)
{
scanf("%d",&n);
for ( j = 2; j*j <= n; j++){
if( prim[j] == 0)
for(k= j*j; k<= n; k +=j)
prim[n] = 1;
}
for(j=1; j<=n; j++)
nr=0;
if(prim[n]==0)
printf("2 %d\n",1+n);
else
if(n!=1)
printf("%d %d\n", nr_div(n), sum_div(n));
else printf("1 1\n");
}
return 0;
}