最近怎么都是用long long 我的编译器就不能运行。。。。。
这道题用long long 就过了 我的vc++6.0 用 int 就wa
#include<stdio.h>
int main(void)
{
long long int log[100000][2],num=0,i,k;
long long int n,front,rear,ans;
while(~scanf("%lld",&n))
{
front=1;rear=1;ans=1,num=0;
while(1)
{
if(front*front>n&&rear*rear>n)
break;
if(ans==n)
{
log[num][0]=front;
log[num][1]=rear;
num++;
ans-=front*front;
front++;
}
else
{
if(ans<n)
{
rear++;
ans+=rear*rear;
}
else
{
ans-=front*front;
front++;
}
}
}
printf("%lld\n",num);
for(i=0;i<num;i++)
{
printf("%lld ",log[i][1]-log[i][0]+1);
for(k=log[i][0];k<=log[i][1];k++)
printf("%lld ",k);
printf("\n");
}
}
}