【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード

『「123456789」 左の数列の数字の間(1の左にも入れる)に「-」か「+」、もしくは何も入れないで得た式を計算し、合計が100になった場合その時の式を出力せよ』という課題が出ました。

間に入れる文字の配列を作りそれを数列に挿入し計算、合計が100ならその式を出力し配列を変えまた計算・・・という流れです。
配列において「+」=1,何も入れない=0、「-」=-1 と数字に置き換え最初は左から(-1、-1、-1、-1、-1、-1、-1、-1、-1)を入れ(=-1-2-3-4-5-6-7-8-9)、一番右を1ずつカウントアップして配列を変えていきます。

配列は作れたのですが、それを挿入して計算するところでつまずいてしまいました。アシスタントの方に尋ねて
・スタックを使う
・-か+が出るまで、取り出してる数を10倍していく
という方法は理解できたのですが、それをプログラムにするのができません。

どなたかご教授お願いします。

A 回答 (2件)

多分・・・再帰の問題じゃない?



スタックを使うというのが、よく判らんけど・・・
> アシスタントの方に尋ねて
何かの課題であれば、その人に聞いてみるのが回答だと思うけど、課題なら、回答は、もらえんでしょうね
考えるのが、勉強だからね
    • good
    • 0

#1です



ちゃかっと、作ってみて計算させてみたよ
大体、アルゴリズムから作成実行まで、5分から10分くらいかな?
デバッグは、完全に確認はしてないけどねorz
たとえば、計算して100になる組み合わせ

+1+2+3-4+5+6+78+9
+1+2+34-5+67-8+9
+1+23-4+5+6+78-9
+1+23-4+56+7+8+9
+12+3+4+5-6-7+89
+12+3-4+5+67+8+9
+12-3-4+5-6+7+89
+123+4-5+67-89
+123+45-67+8-9
+123-4-5-6-7+8-9
+123-45-67+89
-1+2-3+4+5+6+78+9

で、全部みたい
文字列を作って、計算していくのは、それほど難しくない
難しいのは、組み合わせを、どう作るか?だと思うよ
    • good
    • 0
この回答へのお礼

遅くなりましたがご助言ありがとうございました。

お礼日時:2008/07/09 11:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!