您的位置:首页 > 产品设计 > UI/UE

1209. Sequence Sum Possibi

2010-07-10 22:05 239 查看
TAG 数论

 

简单的数学题。设 n+.. +(n+k)=X, n>0,k>0

有 (2n+k)(k+1)=2X

         k(k+1)   <2X

                k^2<2X

                    k<sqrt(2X)

 

枚举k到sqrt(2X)就行了

/* source code of submission 421009, Zhongshan University Online Judge System */
#include <stdio.h>
#include <math.h>
int T;
int no,n;
int cal(int n)
{
int ret=0;
for (int i=1; i<=int( sqrt(2.0)*sqrt(n+0.0) ); ++i)
{
if ( (2*n)%(i+1)==0  && (2*n/(i+1)-i) >=2 && (2*n/(i+1)-i)%2==0 )
{
++ret;
}
}
return ret;
}
int main(int argc, char *argv[])
{
scanf("%d", &T);
while ( T-- )
{
scanf("%d%d", &no, &n);
printf("%d %d/n",no, cal(n) );
}
return 0;
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  system