HDU 2601 An esay problem

简单数学题,i*j+i+j=n  --> (i+1)*(j+1)=(n+1); 


#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
typedef __int64 INT;
int main()
{
	INT n;
	int t,i,j,b,k;
	while(cin>>t&&t)
	{
		for(i=0;i<t;i++)
		{
			scanf("%I64d",&n);
			n++;k=0;
			b=sqrt(n*1.0);
			for(j=2;j<=b;j++)
				if(n%j==0) k++;
			printf("%d\n",k);
		}
	}
	return 0;
}


你可能感兴趣的:(HDU 2601 An esay problem)