朝日新聞2004年8月7日パズルパーク解答

プログラムの実行結果は以下の通り。

a:1,b:4,c:5,d:10, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:1,b:4,c:10,d:5, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:1,b:5,c:4,d:10, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:1,b:5,c:10,d:4, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:1,b:10,c:4,d:5, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:1,b:10,c:5,d:4, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:4,b:1,c:5,d:10, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:4,b:1,c:10,d:5, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:4,b:5,c:1,d:10, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:4,b:5,c:10,d:1, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:4,b:10,c:1,d:5, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:4,b:10,c:5,d:1, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:5,b:1,c:4,d:10, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:5,b:1,c:10,d:4, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:5,b:4,c:1,d:10, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:5,b:4,c:10,d:1, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:5,b:10,c:1,d:4, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:5,b:10,c:4,d:1, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:10,b:1,c:4,d:5, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:10,b:1,c:5,d:4, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:10,b:4,c:1,d:5, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:10,b:4,c:5,d:1, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:10,b:5,c:1,d:4, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200
a:10,b:5,c:4,d:1, a*b*c*d=200, (55-a)+(55-b)+(55-c)+(55-d)=200

これらは重複を除去していないため全て同じ結果を示している。

プログラムのソースは以下の通り。

#include "puzutl.h"

YesNo used[10];

int main( int argc, cstring argv[])
{
  int           cnt = 0;
  for( int a=1; a<= 10; a++) {
    for( int b=1; b<= 10; b++) {
      for( int c=1; c<= 10; c++) {
        for( int d=1; d<= 10; d++) {
          int x = a * b * c * d;
          int y = (55-a) + (55-b) + (55-c) + (55-d);
          if( x == y) ps( "a:%d,b:%d,c:%d,d:%d, a*b*c*d=%d, (55-a)+(55-b)+(55-c)+(55-d)=%d\n", a, b, c, d, x, y);
        }
      }
    }
  }
  return    0;
}