第 14 回 - 組合わせ問題

[4/25, 2006 H.Aman]
67x27(1669bytes)   67x27(1669bytes) 【課題 1】

例題 1

393x99(14019bytes)

方針・アルゴリズム

x, y いずれの値も「3, 4, 5, 6, 7, 8」の 6 通りしかない.
つまり,組み合わせは全部で 36 通りしかない.
したがって,すべての組合わせを 1 つずつ試していけばよい.
  • x, y の値を 3 〜 8 の範囲で変化させながら, その都度 3x - 2y + 5 の値を計算し,0 と等しいかどうかを調べる.
80x16(888bytes) フローチャート

コーディング例

     1	/*
     2	 * プログラミング演習 第 14 回
     3	 * [例題 1]
     4	 * (C) 2006 Hirohisa AMAN <aman@cs.ehime-u.ac.jp, aman@computer.org>
     5	 */
     6	#include <stdio.h>
     7	
     8	int main(void){
     9	  int x, y;
    10	
    11	  /* x = 3, ..., 8 として繰り返す */
    12	  for ( x = 3; x <= 8; x++ ){
    13	
    14	    /* 各 x に対して y = 3, ..., 8 として繰り返す */
    15	    for ( y = 3; y <= 8; y++ ){
    16	
    17	      /* 3x - 2y + 5 の値が 0 に等しい時のみ x と y を出力する */
    18	      if ( 3*x - 2*y + 5 == 0 ){ 
    19		printf("%d %d\n", x, y);
    20	      }
    21	
    22	    }
    23	
    24	  }
    25	
    26	  return 0;
    27	}
     
※左端の数字は行番号であり,ソースコードには含まれない点に注意!

コンパイル & 実行例

     $ gcc example14_1.c [Enter]
     $ ./a.out [Enter]
     3 7