出力は次のようになります。
0 1 1 2 3 5 8 13..
..13 8 5 3 2 1 1 0
Java で 2 つの配列を使用し、それら 2 つの配列で Arrays.tostring() を使用して両方の値を出力することを考えましたが、それでも 1 つのループで解決できませんでした。それとは別に、私はこのようにしてみます
int main()
{
int n,j,c;
int a=0,b=1;
printf("enter total no of terms:");
scanf("%d",&n);
int arr[n];
arr[0]=a;
arr[1]=b;
printf("%d\t %d\t",arr[0],arr[1]);
for(j=2;j<=((2*n)-1);j++)
{
if(j<=n-1)
{
c=a+b;
arr[j]=c;
printf("%d\t",arr[j]);
a=b;
b=c;
if(j==n-1)
printf("\n");
}
else
{
arr[j]=b;
printf("%d\t",arr[j]);
c=a;
a=b-a;
b=c;
}
}
getch();
}
これで問題は解決しますが、この質問に対するより短くて効率的な方法はありますか?