#include <stdio.h>
#include <conio.h>
int main(void)
{
long long getData; /*保存从控制台得到的数据*/
long long data[2]={0,-1}; /*保存一项的前两项的数据*/
long long nextData=0; /*存放下个项的数据*/
long long tempData; /*用于交换时的临时空间*/
int i=1; /*指示下一个项的正负*/
clrscr(); /*清屏*/
scanf("%lld",&getData); /*输入数据*/
printf("0 -1 "); /*打印前两项*/
while(1) /*无限循环*/
{
if(data[0]>=0) /*如果开头这项为正数*/
if(data[1]>=0) /*如果第二项为正数*/
{
nextData=i*(data[0]+data[1]);
}
else /*如果第二项为负数*/
{
nextData=i*(data[0]-data[1]);
}
else /*如果开头这项为负数*/
if(data[1]>=0) /*如果第二项为正数*/
{
nextData=i*(-data[0]+data[1]);
}
else /*如果第二项为负数*/
{
nextData=i*(-data[0]-data[1]);
}
/*设置退出循环条件*/
if(nextData>=0)
if(nextData>getData)
break;
else
if((-1*nextData)>getData)
break;
/*data[1] 为下一个数的第一项
nextData 为下一个数的第二项*/
tempData=data[1];
data[1]=nextData;
data[0]=tempData;
printf("%lld ",nextData); /*打印数据*/
/*设置下一个数的正负*/
if(i==1)
i=-1;
else
i=1;
}
getch();
}