niryuu/sni-each-converted huggingface dataset:
int c = 1;

void fenjie(int a, int k)
{
	if (a == 1) 
	{
		c++;
		return;
	}
	for (int i = k; i <= a; i++)
	{
		if (a % i == 0)
		{
			fenjie(a / i, i);
		}
	}
}

int main()
{
	int n, a;
	cin >> n;
	while (n--)
	{
		c = 0;
		cin >> a;
		fenjie(a, 2);
		cout << c << endl;
	}
	return 0;
}

Output: 1
int qipa(int p,int q)    // ?p???????????q?????? 
{
    int i,l,s=0;
    if(p==1) return 1;
    for(i=p;i>1;i--)
      if(p%i==0 && i<=q)
        s+=qipa(p/i,i);
    return s;
}
int main()
{
  int i,j,n,m,t;
  scanf("%d",&n);
  for(i=1;i<=n;i++)
  {
    scanf("%d",&m);   
    t=qipa(m,m);
    printf("%d\n",t);    
  }
return 0;
}
Output: 2
int digui(int m,int n,int sum)
{
	int i;
	sum++;
	if(sqrt(m)<n)
		return sum;
	else{
		for(i=n;i<=sqrt(m);i++){
			if(m%i==0)
				sum=digui(m/i,i,sum);
		}
		return sum;
	}
}

void main()
{
	int n,a;
	scanf("%d",&n);
	while(n--){
		scanf("%d",&a);
		printf("%d\n",digui(a,2,0));
	}
}
Output: 1
int sum=0;
void divide(int n,int a)
{
	for(int i=a;i<=n;i++)
	{
		if((n%i==0))
		{
			if(n/i==1)
				sum++;
			else
				divide(n/i,i);
		}
	}
}
int main()
{
	int N=0,n=0,i=0;
	cin>>N;
	for(i=0;i<N;i++)
	{
		cin>>n;
		divide(n,2);
		cout<<sum<<endl;
		sum=0;
	}
	return 0;
}
Output: 2
int sum=0;
void f(int x,int y)
{
	if(x==1)
		sum++;
	while(y<=x)
	{
		if(x%y==0)
			f(x/y,y);
		y++;
	}
}
int main()
{
	int n,i,a;
	cin>>n;
	for(i=1;i<=n;i++)
	{
		cin>>a;
		int j=2,num=1;
		while(j<=a/2)
		{
			if(a%j==0)
			{
				sum=0;
				f(a/j,j);
				num+=sum;
			}
			j++;
		}
		printf("\n%d",num);
	}
	return 0;
}

Output: 1
int dividemin(int a,int minyinzi){
	int num=0;
	if(a==1)num++;
	else for(int i=minyinzi;i<=a;i++)
	{
		if(a%i==0)num=num+dividemin(a/i,i);
	}
	return num;
}
int main(){
	int n;
	cin>>n;
	int a[n];
	for(int i=0;i<=n-1;i++)
		cin>>a[i];
	for(int i=0;i<=n-1;i++)
		//cout<<divide(a[i],a[i])<<endl;
		cout<<dividemin(a[i],2)<<endl;




}
Output: 3
int main()
{
	int i,n;
	int fun(int n,int begin);
	scanf("%d",&i);
	while (i-->0)
	{
		scanf("%d",&n);
		printf("%d\n",fun(n,2));
	}
	return 0;
}
int fun(int n,int begin)
{
	int i,result=1;
	for (i=begin;i<=sqrt(n);i++)
		if (n%i==0)
			result+=fun(n/i,i);
	return result;
}
Output: 1
int all=1;   //?????????????????????1
void divd(int,int);   //??????????????????????????????

int main()
{
	int n,num;
	cin>>n;
	while(n--)
	{
		cin>>num;
		divd(2,num);   //????2???????
		cout<<all<<endl;
		all=1;
	}
	return 0;
}

void divd(int fac,int num)
{
	int i;
	for(i=fac;i*i<=num;i++)   //???????????????????????????
		if(num%i==0)  //?????????
		{
			fac=i;  //??
			all++;   //????
			divd(fac,num/fac);   //??????????
		}
}
Output: 1
//********************************
//*???? 
//********************************


int f(int a, int b)
{
	if (a == 1)
		return 1;
	else
	{
		int c,d,i;
		c = 0;
		d = (int)sqrt((double)a);
		for (i = b; i <= a; i ++)
		{
			if (!(a % i))
				c+= f(a / i,i);
		}
		return c;
	}
}

int main()
{
	int n,a,i;
	cin >> n;
	for (i = 0; i < n; i++)
	{
		cin >> a;
		cout << f(a,2) << endl;
	}
	cin.get();
    cin.get(); //????
	return 0;
}

Output: 2
int f(int m,int min);					//????????
int main()
{
	int n,i,a[100],sum[100];
	cin>>n;								//??????
	for(i=0;i<n;i++)
		cin>>a[i];
	for(i=0;i<n;i++)
	{
		sum[i]=f(a[i],2);				//??????????????
		cout<<sum[i]<<endl;
	}
	return 0;
}

int f(int m,int min)					/*???????????????????????????
										??????????????*/
{
	int i,sum=0;
	if(m==min||m==1)					//???????????????????1???1?					
		return 1;
	else if(m<min)						//????????????????????
		return 0;
	else if(m>min)						//??????????????????????????????????
	{	for(i=min;i<=m;i++)
			if(m%i==0)
				sum+=f(m/i,i);
		return sum;
	}
}
Output: 3
int tru(int c)
{
	int j,p=0;
	if(c==1||c==2)
		return 1;
	else for(j=2;j<=pow((double)c,0.5);j++)
		     if(c%j==0)
			 {
				 p=1;
				 break;
			 }
		  if(p==1) return 0;
		  else return 1;
}
int count(int a,int b)
{
	int i,k=1;
	if(!tru(a))
		for(i=b;i<=pow((double)a,0.5);i++)
			if(a%i==0)
				k=k+count(a/i,i);
	return k;
}
int main()
{
	int n,x[999],q;
	scanf("%d",&n);
	for(q=0;q<n;q++)
		scanf("%d",&x[q]);
	for(q=0;q<n;q++)
		printf("%d\n",count(x[q],2));

	return 0;
}




Output: 4
/*1090 ????*/ 



int num;

void divide(int a,int k)
{
	int i;
	if(a==1) num++;//?????????????? 
	for(i=k;i<=a;i++)//???????? 
	    if(a%i==0) divide(a/i,i);
}

int main()
{
	int t;
	cin>>t;
	while(t--)
	{
			int n;
			cin>>n;
			num=1; 
			int i;
			for(i=2;i*i<=n;i++)
				if(n%i==0) divide(n/i,i);  
			cout<<num<<endl;
	}
    return 0;
}
Output: 2
void fun(int m, int i);                                                  //????
int num ;
int main()
{
	int n, i, a;
	cin>>n;
	for(i = 0; i < n; i++)
	{
		cin>>a;
		num = 0;
		fun(a, 2);                                                      //????
		cout<<num + 1<<endl;                                            //???????a=a???????num??1
	}
	return 0;
}
void fun(int m, int i)
{
	int k = sqrt(m);
	for(i = i; i <= k; i++)
	{
		if(m % i == 0)
		{
		         num++;                           
			fun(m / i, i);                                             //?????????
		}
	}
}
Output: 2
int main()
{
	int n,a[100];
	int i;
	int f(int x,int min);          //f:???????

	for(i=0;i<100;i++)
		a[i]=0;

	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
		a[i]=f(a[i],2);
	}

	for(i=0;i<n;i++)
	{
		printf("%d\n",a[i]);
	}


	return 0;
}

int f(int x,int min)
{
	int y=0;
	int i;

	if(x==1)
		y=1;

	else
	{
	  for(i=min;i<=x;i++)
	  {
		if(x%i==0)
		{
			y=y+f(x/i,i);
		}
	  }
	}

	return y;
}
Output: 4
int f(int,int);
int main()
{
	int n,a[32768],i;
	cin>>n;
	for(i=0;i<=n-1;i++)
	{
		cin>>a[i];
	}
	for(i=0;i<=n-1;i++)
	{
		cout<<f(a[i],2)+1<<endl;
	}
	return 0;
}
int f(int a,int p)
{
	int i,sum=0;
	for(i=2;i<=sqrt(a);i++)
	{
		if(((double)a/i==a/i)&&(i>=p))
		{   p=i;
			sum=sum+1+f(a/i,p);
		}
	}
	return sum;
}

Output: 3
int fenjie(int a,int b)
{
	int i,sign=0,k=0;
	if(a<b) return 0;
	else if(a==b) return 1;
	else
	{
		for(i=2;i<=a-1;i++)
		{
			if(a%i==0)
				sign=1;
		}
		if(sign!=1) return 1;
		else 
		{
			for(i=b;i<=a;i++)
			{
				if(a%i==0)
					k+=fenjie(a/i,i);
			}
			k+=1;
			return k;
		}
	}
}

	
int main()
{ 
	int n,a[100],i,k;
	scanf("%d",&n);

	for(i=1;i<=n;i++)
	{

		scanf("%d",&k);
		printf("%d\n",fenjie(k,2));
	}
	return 0;
}

Output: 3
int f(int x,int y)
{
	if(y==x)
		return 1; 
	if(y>x)
		return 0;
	if(x%y==0)
		return f(x,y+1)+f(x/y,y);
	else
		return f(x,y+1);
}
int main()
{
	int n,x;
	cin>>n;
	int z,i;
	i=n;
	while(i>0)
	{
		i=i-1;
		cin>>x;
		z=f(x,2);
		cout<<z<<endl;
	}
	return 0;
}


Output: 0
int f(int a,int b);
int main()
{
	int n,a,i;
	cin>>n;
	for(i=0;i<n;i++)
	{
		cin>>a;
		cout<<f(a,2)<<endl;
	}
	return 0;
}
int f(int x,int y)  //y?????
{
	int j,k,t=0,m=0;
	for(j=2;j<x;j++)
		if(x%j==0) t++;
		if(t==0) return 1; //?????,??1
		else 
		{
			for(k=y;k<=(int)sqrt((double)x);k++)
				if(x%k==0) 	m=m+f(x/k,k);
			 return (m+1);
		}
}

Output: 3
//????

int f(int x,int min){
	if(x<min) return 0;
	int r=1;
	for(int i=min;i<x/2;i++){
		if(x%i==0){
			r+=f(x/i,i);
		}
	}
	return r;
}

int main(){
	int n;
	cin>>n;
	while(n--){
		int x;
		cin>>x;
		cout<<f(x,2)<<endl;
	}
}

Output: 1
const int mov[4][2] = {{-1, 0}, {0, -1}, {1, 0}, {0, 1}};

int m, n, counter;

void dfs(int m, int i) {
	//cout << m << ' ' << n << endl;
	if (m == 1) {
		++counter;
		return;
	}
	for (;i <= m; ++i) {
		if (m % i == 0) {
			dfs(m/i, i); 
		}
	}
}

int main() {
	int t, m, n;
	cin >> t;
	while (t--) {
		counter = 0;
		cin >> m;
		dfs(m, 2);
		cout << counter << endl;
	}
}
Output: 1
int main()
{
	int f(int x,int y);
	int n,i;
	int a[100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
		printf("%d\n",f(a[i],2));
	}
	scanf("%d",&i);
	return 0;
}
int f(int x,int y)
{
	int s,j,k,l,m,n;
	if(x==1) s=1;
	else if(y>x) s=0;
	else {
		for(l=1;l<=x;l++)
		{
			k=0;
			if(x%l==0) k=k+1;
		}
		if(k==2) s=1;
	else 
	{
		s=0;
		for(j=y;j<=x;j++)
		{
		
			if(x%j==0){ s=s+f(x/j,j);}
		}
		
	}
	}
		return s;
}
Output: 3
int fact(int n,int m);//????fact
int main()//?????
{
	int n,a[35000],i,b[35000];
	cin>>n;
	for(i=0;i<n;i++)cin>>a[i];//???????????
	for(i=0;i<n;i++)b[i]=fact(a[i],2);//?????????????????fact(a[i],2)
	for(i=0;i<n;i++)cout<<b[i]<<endl;//????????
	return 0;
}//?????
int fact(int n,int m)//fact??
{
	int sum=1,i,temp=0;
	if(n<m)return 0;//?n<m,?????0
	else if(n==2)return 1;//?n???2??????1
	else
	{
			for(i=m;i<n;i++)//??????m?n
	{if(n%i==0)sum=sum+fact(n/i,i);}//?n??i????sum??fact(n/i,i)??,????
	return sum;
	}
}//fact??
Output: 4
//**********************************************
//**???1090 ????*************************
//**?????? 1000012741*********************
//**???2010?12?7?*************************
//**********************************************
//??change???a???????p???????
int change (int a, int p)      
{
	int i, count = 0;                             //count??????????
	for (i = p; i < a; i++)
	{
		if (a % i == 0 && a / i >= i)             //??????????????
		{
			count++;                              //???1
			int k, t;
			k = (int) sqrt(a / i);                //?k?a/i????
			for (t = 2; t <= k; t++)
			{
				if ((a / i) % t == 0)             //??a???2?k??????
				{
					count += change (a / i, i);   //?a/i??????
					break;
				}   
			}  
				
		}
	}
	return count;                                 //??count?
}
int main()
{
	int n, i, a;                                  //n?????????a?????
	cin >> n;
	for (i = 1; i <= n; i++)
	{
		int total = 0;                            //total?????
		cin >> a;
		total += change (a, 2);                   //??change??
		cout << total + 1 << endl;                //??1?????????????
	}
	return 0;
}
//**********************************************
Output: 3
int f(int a,int min)//???a???????min?????????
{
	int i;
	if(a < min)//??????
	{ 
      return 0; 
    } 
    int result = 1; 
    for(int i = min;i<a;i++)//??????
	{ 
    if(a % i == 0)
	{ 
      result += f(a/i,i); 
    } 
    } 
    return result; 
} 
int main()
{
	int n,a;//????
	cin>>n;
	while(cin>>a)//????
	{
		cout<<f(a,2)<<endl;//????
	}
	return 0;
}


Output: 1
int p(int x)
{
     int i;
     for(i=2;i<=sqrt(x);i++) if(x%i==0) return(0);
     return(1);
}
int f(int n,int m)
{
     int t,i;
     if(n<m) return(0);
     else if(p(n)==1) return(1);
     else if(m==1)
     {
          t=1;
          for(i=m+1;i<n;i++)
          {
               if(n%i==0) t=t+f(n/i,i);
          }
     }
     else if(m!=1)
     {
          t=1;
          for(i=m;i<n;i++)
          {
               if(n%i==0) t=t+f(n/i,i);
          }
     }
     return(t);
}    
main ()
{
     int x,y,z,j;
     scanf("%d",&y);
     for(j=0;j<y;j++)
     {
           scanf("%d",&x);
           printf("%d\n",f(x,1));
     }
    
}
Output: 4
/*
 *???: ????.cpp
 *??????
 *????: 2012-11-12
 *??: ????????????
 */


int count(int num, int m)
//???????????????????a1????????????
{
    if (num % m != 0) return 0;
    
    if (num == m) return 1;
    else {
        int counter = 0;
        for (int i = m; i <= num / m; i++){
                counter += count(num / m, i);
        }
        return counter;
    }
}

int main ()
{
    int n,num;
    cin >>n;
    for (int i = 1; i <= n; i++){
        int counter = 0;
        cin >> num;
        for (int i = 2; i <= num; i++)
            counter += count(num,i);//a1???2???m???
        cout << counter << endl;
    }
    return 0;
}
Output: 3
int divide(int,int);
int main(void)
{
	int n,a;
	cin>>n;
	while(n!=0)
	{
		cin>>a;
		cout<<divide(a,2)<<endl;
		n--;
	}
    return 0;
}

int divide(int x,int t)
{
	int i,sum=0;
	if(x==1) return 1;                      //????x?1
	for(i=t;i<=x;i++) 
	{
		if(x%i==0) sum+=divide(x/i,i);      //?i?x????x/i???????????????i?
	}
	return sum;
}

Output: 1
int sum;
void f(int x,int min)
{ int p;
  if (x==1) sum++;
     else for (p=min;p<=x;p++)
               if (x%p==0) f(x/p,p);
     }
int main()
{ int n,i,j,k;
  cin>>n;
  for (i=1;i<=n;i++)
      {sum=0;
       cin>>k;
       for (j=2;j<=k;j++)
            if (k%j==0) f(k/j,j);
       cout<<sum<<endl;             
                    } 
 return 0; 
    }

Output: 3
int main()
{
	int f(int,int);
	int n,a;
	cin>>n;
	while(n--)
	{
		cin>>a;
		cout<<f(a,a)<<endl;
	}
	return 0;
}
int f(int m,int k)
{
	int i,sum=0;
	if(m==1) sum=1;
	for(i=m;i>1;i--)
	{  
		if(m%i==0&&i<=k)
			sum+=f(m/i,i);}
	return sum;
}
Output: 1
//???? 
int divide(int n,int i);   //????   n???????i????????? 
int main()
{
    int n=0;  //????? 
    int t=0;  //???? 
    int sum;  //??????? 
    cin>>t;  
    for(int i=0;i<t;i++)
    {
        sum=0;
        cin>>n;
        for(int j=2;j<=n/2;j++)   //???????????1*n??? 
        {
            sum=sum+divide(n,j);
        }
        cout<<sum+1<<endl;
    }
    return 0;
}
int divide(int n,int i)   //???????????????1??? 
{
    int num=0;
    if(n%i==0)
    {
        if(n==i)      //?????????????????1 
        {
            return 1;
        }
        for(int j=2;j<=i;j++)
        {
             num=num+divide(n/i,j);   //?? 
        }
           return num;
    }
        
    else
    {
        return 0;
    }               
}
Output: 3
int f(int m,int l)
{
	int re=0,j;
	if(l==4)
      re=1;
	if(l>4)
	{
		for(j=m;j<=sqrt(l);j++)
		{
			if(l%j==0)
			{
				re=re+1+f(j,l/j);
			}
		}
	}
	return re;
}
int main()
{
	int n,i,a[100]={0};
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++)
	{
		printf("%d\n",(f(2,a[i])+1));
	}

}



Output: 3
int main()
{
int n,i,a,factor(int N,int min);
scanf("%d",&n);
for(i=0;i<n;i++)
{
	scanf("%d",&a);
    printf("%d\n",factor(a,2));
}

return 0;
}
int factor(int N,int min)
{
	int i,result;
	result=1;
	
    if(N<min)
	{
		return 0;
	}
	for(i=min;i<N;i++)
	{
		if(N%i==0)
		{
	      result+=factor(N/i,i);
		}

	}return result;
}

Output: 2
int cal(int M, int N)
{
    int i;
	int num=0;
	if(M==1) return 0;
	if(N>=M) return ( 1+cal(M,M-1));
	for(i=2;i<M;i++)
	{
		if(M%i==0&&i<=N) num=num+cal(M/i,i);
	}
	return num;
}
int main()
{
	int n,M;
	cin>>n;
	while(n--)
	{
		cin>>M;
		cout<<cal(M,M)<<endl;
	}
	return 0;
}


Output: 1
/*
 * fengjie.cpp
 *
 *  Created on: 2013-11-23
 *      Author: sony
 */

int sum;

void f(int x,int i){
	if (x == 1) sum++;
	for(;i<=x;i++)
		if (x%i == 0) f(x/i,i);
	return;
}

int main(){
	int t,a,i=2;
	cin>>t;//????????
	for (a = 0; a<t ; a++){
		int x;
		cin >> x;
		int ans = 1;
		for(i = 2; i<sqrt(x) ; i++){
			sum = 0;
			if(x%i == 0) f(x/i,i);
			ans = ans + sum;
		}
		cout<<ans<<endl;
	}
	return 0;
}

Output: 3
struct node
{
	int s,n;
};
void cpy_clr(struct node a[],struct node b[])
{
	int i;
	for(i=0;i<=MAX&&(a[i].s!=0||b[i].s!=0);i++)
		if(b[i].s!=0)
		{a[i].s=b[i].s;a[i].n=b[i].n;b[i].s=0;b[i].n=0;}
		else
		{a[i].s=0;a[i].n=0;b[i].n=0;}
}
int chklst(struct node a[],int n)
{
	int i;
	int result=0;
	for(i=0;a[i].s!=0;i++)
	{	if(a[i].s!=n){result=0;break;}
		else result++;
	}
	return result;
}
void init(struct node a[])
{
	int i;
	for(i=0;i<MAX;i++) {a[i].s=0;a[i].n=0;}
}
void main()
{
	struct node a[MAX],b[MAX];	
	int i,j,k,l,_n,n,sum=0;
	scanf("%d",&n);
	while(n--)
	{
	scanf("%d",&_n);
	for(l=2;l<_n;l++) 
		if(_n%l==0)	
		{	init(a);init(b); 
			a[0].s=l;a[0].n=l;
			while(chklst(a,_n)==0&&a[0].s!=0)
			{
				i=0;k=-1;
				if(a[0].s==0) break;
				while(a[i].s!=0)
				{
					if(a[i].s==_n) sum++;
					else
					{
						for(j=a[i].n;j<=(_n/a[i].s);j++)
							if(_n%(a[i].s*j)==0)
							{b[++k].s=a[i].s*j;b[k].n=j;}
					}
					i++;
				}
				cpy_clr(a,b);
			}
			i=0;
			while(a[i].s!=0)
			{
				if(a[i].s==_n) sum++;
					i++;
			}
		} 
	printf("%d\n",++sum);
	sum=0;
	}
}

Output: 5
//n???????i?????????
int divi(int n,int i)
{
    int num=0;
    if(n%i==0)
    {
        if(n==i)      //?????????????????1 
        {
            return 1;
        }
        for(int j=2;j<=i;j++)
        {
             num=num+divi(n/i,j);   //?? 
        }
           return num;
    }
        
    else
    {
        return 0;
    }               
}

int main()
{
    int n=0;  //????? 
    int t=0;  //???? 
    int sum;  //????? 
    cin>>t;  
    for(int i=0;i<t;i++)
    {
        sum=0;
        cin>>n;
        for(int j=2;j<=n/2;j++)   //?????????1*n??? 
        {
            sum=sum+divi(n,j);
        }
        cout<<sum+1<<endl;
    }
    return 0;
}

Output: 3
int main()
{
  int i,j,num[100],n,m;
  int fj(int ,int );
  scanf("%d",&n);
  for(i=1;i<=n;i++)
   scanf("%d",&num[i]);
  for(i=1;i<=n;i++)
   printf("%d\n",fj(2,num[i]));

  return 0;
}

 int fj(int k,int n)
{
  int c,i,sum=1;
  if(n==2) return(sum);
  else if(n==3)  return(sum);
  else
   {
     c=(int)sqrt(n);
     for(i=k;i<=c;i++)
        if(n%i==0) sum=sum+fj(i,n/i);
     return(sum);
    }
}
     
Output: 3
/*
 * huisu.cpp
 *   ????
 *  Created on: 2010-11-26
 *      Author: ???
 */

int a=0,i=0,sum=1;                          //sum?????????????????????????1
void f(int i,int a) {                       //f????????
	int j;
	for(j=i;j<=sqrt(a);j++)
		if(a%j==0) {sum++; f(j,a/j);}        //?a??j?????????1????????????,????
}                                            //???j??????????????3*13?13*3
int main(){
	int n;
	cin>>n;
	while (n){
		cin>>a;
		f(2,a);
		cout<<sum<<endl;
		n--;
		sum=1;       //??sum
	}
}

Output: 1
int main(){
  int hanshu(int k,int min);
  int n,i,a;
  scanf("%d",&n);
  for(i=0;i<n;i++){
      scanf("%d",&a);
      printf("%d\n",hanshu(a,2));
     }
  scanf("%d",&n);
  return 0;
}
  int hanshu(int k,int min){
      int j,a[k],b=1;
      if(k<min)return 0;
      for(j=min;j<=k/j;j++){
         if(k%j==0){
           b+=hanshu(k/j,j);
           }
         }
      return(b);
     }

Output: 2
int f(int shu,int min)
{ 
  int k=1;
  if(shu < min)
  { 
    k= 0; 
   return k;
  } 
  else
 {
  for(int i = min;i<shu;i++)
  { 
    if(shu%i == 0)
    { 
         k=k+ f(shu/i,i); 
    } 
  
    
  } 
    return k; 
}
} 

main()
{
      int n,i,a;
      scanf("%d",&n);
      
      for(i=0;i<n;i++)
      {
          scanf("%d",&a);
          
          if(i!=n-1)                                                        
           printf("%d\n",f(a,2));
           else
           printf("%d",f(a,2));                           
                                      
                     
                      
      }              
                     
                      
                      }
Output: 2
int main()
{
	int f(int p,int q,int t);

	int n,i;
	int g[100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&g[i]);
	for(i=0;i<n;i++)
	{
		printf("%d\n",f(2,g[i],1));
	}


	return 0;
}

int f(int p,int q,int t)
{
	int h[100][100];
	int i,k=0;
	for(i=p;i*i<=q;i++)
	{
		k=0;
		if(q%i==0)
		{
			h[k][0]=i;
			h[k][1]=q/i;
			k++;
			if(k!=0)
			{
				t=f(h[k-1][0],h[k-1][1],t);
			}
			
		}
		t=t+k;
	}
	return t;
}
Output: 3
int main()
{
	int nFactor(int n, int border);
	int n;
	cin >> n;
	for (; n >= 1; n--)
	{
		int a;
		cin >> a;
		cout << nFactor(a, a) << endl;
	}
	return 0;
}

int nFactor(int n, int border)
{
	if (n == 1) return 1;
	else
	{
		int i, sum = 0;
		for (i = border; i >= 2; i --)
		{
			if (n % i == 0)
				sum += nFactor(n / i, i);
		}
		return sum;
	}
}

Output: 2
int times=1;
int used[1000]={0};
void fuck(int n)
{

	int i=0;
	for (i=2;i<=sqrt(n);i++)
	{
		if (used[i]==0&&n%i==0)
		{
			int j=0;
			for (j=0;j<=i-1;j++)
				used[j]=1;
			times++;
			fuck(n/i);
			for (j=0;j<=i-1;j++)
				used[j]=0;
		}
	}
}
int main()
{
	int n=0;
	int num=0;
	cin>>n;
	int i=0;
	for (i=0;i<n;i++)
	{
	cin>>num;
	fuck(num);
	cout<<times<<endl;
	times=1;
	int k=0;
	for (k=0;k<=999;k++)
	used[k]=0;
	}
	return 0;
}
Output: 5
int Fz(int,int);
int main()
{
    int n,num[1000];
    cin>>n;
    for(int i=0;i<n;i++)
    {
        int a;
        cin>>a;
       num[i]=Fz(a,2);
    }   
for(int i=0;i<n;i++){
	cout<<num[i]<<endl;
}
    return 0;
}
int Fz(int x,int m)
{
    int s=1,i;
    int y=(int)sqrt((double)x);
    for(i=m;i<=y;i++)
    {
        if(x%i==0)
        {
        s=s+Fz(x/i,i);
        }
    }  
    return s;
}

Output: 3
int fjys(int x,int y)
{
	if(x<y)
		return 0;
	int i,n=1;
	for(i=y;i<x;i++)
	{
		if(x%i==0)
		{
			n+=fjys(x/i,i);
		}
	}
	return n;
}
int main()
{
	int n,a[100];
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
		cout<<fjys(a[i],2)<<endl;
	}
	return 0;
}
Output: 2
int s;
void search(int a,int k)
{
 	 if(a==0)
 	 return ;
 	 if(a==1)
 	 {
 	 return;
	 }
 for(int i=2;i<a;i++)
 {
   if(a%i==0&&a/i>=i&&i>=k&&a/i>=k)
   {
   s++;
   search(a/i,i);
   }
 }
 return ;
}		 		      	     		       
int main()
{
int n,a;
cin>>n;
for(int i=0;i<n;i++)
{
s=1;
cin>>a;
search(a,1);		
cout<<s<<endl;
}

 		 		 						
  return 0;
}					

Output: 2
int f(int i,int t)
{
	if(i<t)
	{return 0;}
	int b=1;
	int a;
	for(a=t;a<i;a++)
	{
		if(i%a==0)
		{b=b+f(i/a,a);}
	}
	return b;
}

int main()
{
	int n;
	scanf("%d",&n);
	int i=0;
	int d[100];
	do
	{
		scanf("%d",&d[i]);
		i++;
	}while(i<n);
	i=0;
	do
	{
		printf("%d\n",f(d[i],2));
		i++;
	}while(i<n);
	return 0;
}
Output: 1
int ans = 0;
void work(int p,int k)
{
	if(p == 1){
		ans ++;
		return ;
	}
	for(int i =k;i <= p;i ++){
		if(p % i == 0){
			work(p / i,i);
		}
	}
}
int main()
{
	int n;
	scanf("%d",&n);
	while(n--){
		ans = 0;
		int t;
		scanf("%d",&t);
		work(t,2);
		//ans = work(t);
		printf("%d\n",ans);
	}
	return 0;
}
Output: 1
int s(int, int);
int main()
{
	int n, i, a;
	cin >> n;
	for(i = 0;i < n;i++)
	{
		cin >> a;
		cout << s(a, 2)  << endl;                  // ??????b????2
	}
	return 0;
}
int s(int a, int b)
{
	int i, t = 0;
	for(i = b;i < a;i++)
		if(a % i == 0 && a / i >= i)              // ????????????????
			t = t + s(a / i, i);                   // ????????????
	return t + 1;
}
Output: 2
//
//  main.cpp
//  123
//
//  Created by blues cookie on 12-11-12.
//  Copyright (c) 2012? blues cookie. All rights reserved.
//

int calc(int a,int b)
{
    if(a*a>b) return 1;
    if(b%a==0) return (calc(a,b/a)+calc(a+1,b));
    return calc(a+1,b);
}
int main(int argc, const char * argv[])
{
    int n,a;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a;
        cout<<calc(2,a)<<endl;
    }
    return 0;
}
Output: 1
int f(int x,int y)
{
	int a,n=1;
	for(a=y;a<=sqrt(x);a++)
	{
		if(x%a==0)
		{
			n+=f(x/a,a);
		}	
	}
	return n;
}
int main()
{
	int m,i;
	scanf("%d",&m);
	int x[m],n[m];
	for(i=0;i<m;i++)
	{	
		scanf("%d",&x[i]);
		n[i]=f(x[i],2);
	}
	for(i=0;i<m;i++)
	{
		printf("%d\n",n[i]);	
	}
	return 0;
}

Output: 3
int j;
int discharge(int x,int y)
{
	int a=1;
	for(int i=y;i<=(sqrt((double)x));i++)
	{
		if(x%i==0)
		{
			a=a+discharge(x/i,i);
		}
	}
	return a;
}
int main()
{
	int n,x,r[100];
	cin>>n;
	for(j=0;j<n;j++)
	{
		cin>>x;
		r[j]=discharge(x,2);
	}
	for(j=0;j<n-1;j++)
	{
		cout<<r[j]<<endl;
	}
	cout<<r[n-1];
	return 0;
}
Output: 3
int f(int n,int i)
{
    int sum=0;
    for(i;i<=(int)sqrt(n);i++){
        if(n%i==0) {
            sum+=f(n/i,i);
        }
    }
    return sum+1;
}
main()
{
      int i0,n0;
      scanf("%d",&n0);
      for(i0=0;i0<n0;i0++){
          int n;
          scanf("%d",&n);
          printf("%d\n",f(n,2));
      }
}

Output: 2