[5B1] 1-4増加列

「1より大きい正の整数nに対する1-4増加列」とは、「最初が1、最後が nで、隣り合う数の差が1または4であるような増加数列」である。たと えば「6」に対する1-4増加列は「1 2 3 4 5 6」「1 2 6」「1 5 6」の3 つである。

コマンド引数として正の整数nを受け取り、nに対する1-4増加列をすべ て出力するプログラムを作成せよ。1つの列は横に並べて出力する(行頭 および数値の間には1つだけ空白を置く)。列を表示する順番は任意でよ い。

記号列 

コード 

選択肢

ア #include <stdio.h>
イ #include <stdlib.h>
ウ int main(int argc, char *argv[]) {
エ void incr(int *a, int *b, int i, int n) {
オ }
カ return 0;
キ int a[100], n = atoi(argv[1]);
ク *b = i;
ケ while(a <= b) {
コ if(i < n) {
サ if(i <= n) {
シ if(i > n) {
ス if(i >= n) {
セ if(i == n) {
ソ printf(" %d", *a++);
タ printf("\n");
チ incr(a, a, 1, n);
ツ incr(a, b+1, i+1, n);
テ incr(a, b+1, i+2, n);
ト incr(a, b+1, i+3, n);
ナ incr(a, b+1, i+4, n);

選択肢の行をドラグして上のコード領域に配置してください。 コード領域の行はドラグにより位置が変更できます。 削除したい場合は選択肢の領域に戻してください。