> 2009/05/27 (水) 21:35: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;
> }
やっぱり住人はすごいな(;´Д`)Perlで書いてください
参考:2009/05/27(水)21時27分33秒