NYOJ题目216 A problem is easy

//AC  心得:思考题目要求,寻找好合适的条件。

#include<stdio.h>
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n,i;
int a=0;
scanf("%d",&n);
for(i=1;(i+1)*(i+1)<=n+1;i++)//数学平方数理想化
{
if((n+1)%(i+1)==0)//i*j+i+j =N 经过观察,可以变形为i*j+i+j+1=N+1,也就是说,可以进一步变形为(i+1)*(j+1)=N+1;
a=a+1;//由于要满足i<=j;
}
printf("%d\n",a);
}
return 0;
}

posted on 2017-07-24 17:53  残夜半梦  阅读(107)  评论(0编辑  收藏  举报

导航