#include <stdio.h>/* これはなんですの? セバスチャンにお尋ねしても「おまじないでございます」としか答えてくださいませんわ */
#include <stdlib.h>
#define 領地を拡大しますわ q=(node*)malloc(sizeof(node));
#define 新築ですの 領地を拡大しますわ q->val=0; q->next=NULL;
#define c家が増築なさいました NEWQ c=c->next=q;
#define c様隣室を拝借いたしますわ c=c->next;
#define お掃除ですの while(x!=NULL){q=x; x=x->next; free(q);}
整数家の main殿は引数として コマンドパラメータ int argc, char **argv をお受け取りになる関数でして つぎのことをなさいます
整数家の n様は0, ca様は0, t様は0 ですわ
タイプを定義いたしますわ こちらの構造の nodetag様はつぎのようになっています
整数家の val様と
構造 nodetag *next;
以上がタイプの定義と node様ですの
node ご当主様a,ご当主様b,ご当主様c, 初代様a1,初代様b1,初代様c1, ご当主様q, ご当主様xですわ
もし argc が2に等しいでしたら
n様はatoi(argv[1])ですわ
そうでなければ 使い方をお教えて差し上げますわ
printf("[使い方]\nn番目のフィボナッチ数を計算します。\n[例]time ./008c 300000\n\n");
お持ち帰りいただくのは -1ですわ
もしのお話はこれでおしまいですのよ
printf("n=%d\n",n);
新築ですの a家はa1家はqですわ q家のval様は1ですわ
新築ですの b家はb1家はqですわ q家のval様は1ですわ
新築ですの c家はc1家はqですわ
何回もnを減らして1になるまで つぎのことをなさいます
a家はa1様ですの b家はb1様ですの c家はc1様ですの ca様は0ですわ
何回も ca様が正またはb家に中身がある限り つぎのことをなさいます
t様は (a家にはどなたもいらっしゃらないのかしら?無人それともa家のval様)と(b家にはどなたもいらっしゃらないのかしら?無人それともb家のval様)とcaですわ
c家のval様は(ca様はt様の値が10以上かしら)?t-10それともtですわ
もし ca でしたら/*きゃりーがございます*/
もし c家のnext様がいらっしゃらない でしたら c家が増築なさいました
そうでなければ c様隣室を拝借いたしますわ
もしのお話はこれでおしまいですのよ
そうでなければ /*きゃりーはございません*/
もし b家に中身があるかつb家のnext様が居られる でしたら/*bで最上位を演算中でございます*/
もし c家のnext様がいらっしゃらない でしたら c家が増築なさいました
そうでなければ c様隣室を拝借いたしますわ
もしのお話はこれでおしまいですのよ
もしのお話はこれでおしまいですのよ
もしのお話はこれでおしまいですのよ
a家は(a家にはどなたもいらっしゃらないのかしら)?空虚それともa家のnext様ですの b家は(b家にはどなたもいらっしゃらないのかしら)?空虚それともb家のnext様ですの
繰り返すのはここまでございます
q家はa1様ですの a1家はb1様ですの b1家はc1様ですの c1家はq様ですの
繰り返すのはここまでございます
/*答えはb, b1は最下位をポイント 答えを逆順にしてqに仮格納*/
b家はb1様ですの x家は空虚ですわ
何回も b家に中身がある限り つぎのことをなさいます
領地を拡大しますわ
q家のval様はb家のval様ですの q家のnext様はx様ですの x家はqですわ
b家はb家のnext様ですの
繰り返すのはここまでございます
何回も q家に中身がある限り つぎのことをなさいます
printf("%d",q家のval様を表示)ですわ q家はq家のnextですわ
繰り返すのはここまでございます
printf("\n");
お掃除ですの x家はa1様ですの お掃除ですの x家はb1様ですの お掃除ですの x家はc1様ですの お掃除ですの
お持ち帰りいただくのは 0ですわ
以上ですの