[5B2] 2-3増加列

「2より大きい正の整数nに対する2-3増加列」とは、「最初が1、最後が nで、隣り合う数の差が2または3であるような増加数列」である。たと えば「7」に対する2-3増加列は「1 3 5 7」「1 4 7」の2つである。nに よっては2-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);

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