Pagini recente » Cod sursa (job #2930146) | Cod sursa (job #2051145) | Cod sursa (job #2685425) | Cod sursa (job #879919) | Cod sursa (job #2000486)
#include <stdio.h>
#include <stdlib.h>
#define File_in "ssnd.in"
#define File_out "ssnd.out"
#define MAX 1000000000
char ciur[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);
ciur[1]=1;
for ( i = 2; i*i <= 100000000; i++){
if( ciur[i] == 0)
for(j= i*i; j<= n; j +=i)
ciur[j] = 1;
}
for ( i = 1; i <= t; i++)
{
scanf("%d",&n);
if(ciur[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;
}