例題 3方針・アルゴリズムA, B, C の個数についてさまざまな組合わせを作り,その合計が x となるかどうかを試していけばよい. つまり,この問題は例題 1, 例題 2 と同様の(所定の等式が成立するかどうかをチェックする)問題に帰着できる.A, B, C の個数をそれぞれ a, b, c で表すと,次式が成立するような (a, b, c) を見つければよい: いま,b, c = 0 とおくと, 同様にして b の探索範囲は x/5 以下,c の探索範囲は x/9 以下となる. 
 
 コーディング例
     1	/*
     2	 * プログラミング演習 第 14 回
     3	 * [例題 3]
     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, a, b, c;
    10	
    11	  /* x を読み込む */
    12	  printf("x = ? ");
    13	  scanf("%d", &x);
    14	
    15	  /* a, b, c を可能な範囲で変化させながら等号の成立をチェックする */
    16	  for ( a = 0; a <= x/2; a++ ){
    17	    for ( b = 0; b <= x/5; b++ ){
    18	      for ( c = 0; c <= x/9; c++ ){
    19	
    20		if ( 2*a + 5*b + 9*c - x == 0 ){
    21		  printf("%d %d %d\n", a, b, c);
    22		}
    23	
    24	      }
    25	    }
    26	  }
    27	
    28	  return 0;
    29	}
     
     
     ※左端の数字は行番号であり,ソースコードには含まれない点に注意!     
      
     コンパイル & 実行例
     $ gcc example14_3.c [Enter]
     $ ./a.out [Enter]
     x = ? 10 [Enter]
     0 2 0
     5 0 0
     
     |