>  2009/05/27 (水) 21:27:33        [qwerty]
> プログラムの得意な貴殿らに聞きたいんだけど(;´Д`)
> 1,5,3,2,8,4,9という数字が与えられて合計9になる組み合わせを
> 探すプログラムをVBAで書くの難しい?
> 答えは(1,5,3)(1,8)(5,4)(3,2,4)(1,8)(9)の5通りなんだけど

C++ だとこんな感じかしら(;´Д`)動くかどうかしらん

#include <stdio.h>
#include <stirng>

int tbl[]={1,5,3,2,8,4,9};
int ntbl = sizeof(tbl)/sizeof(int);


int func( std::string &str, int total, int *tbl, int ntbl)
{
  int total = 0;
  for(int i=0;i<ntbl-1; ++i){ 
	std::string s = str+",",itoa(tbl[i]);
	if( total+tbl[i]==9){
	  printf("みつけたよ(%s)\n", s.c_str());
	} else {
	  func( s, total+tbl[i], tbl[i+1], ntbl-i);
	}
  }
  return total;
}

int main(int argc, char *argv[])
{
 for(int i=0;i<ntbl;++i){
   std::string str;
   func(str, 0, tbl[i], ntbl);
   }

 }

return 0;
}

参考:2009/05/27(水)20時49分37秒