- ベストアンサー
簡単なプログラミングだと思うのですが・・・
自然数m,nの掛け算を足し算の繰り返しで計算するプログラムを作成したいのですが、プログラミングの本を見ても全く分かりません。 悩みの種です・・・
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
m*nですよね。 mをn回足せばいいのではないでしょうか? for分か何かを使って、 for i = 1 to n かな?VBは最近さわってないから、 おかしいかもしれませんが、 sum = 0 for 1~nを数える sum = sum + m 繰り返し これでいいと思いますが・・・ ではでは☆
その他の回答 (2)
- dayan_dayan
- ベストアンサー率50% (8/16)
いきなり、答えを書いてしまうのもなんかな?と思ったのですが、 関数を作ってみました。 こいつを Kotae = Hoge(3,4) という風に呼ぶと、3が4回足されて12。 すなわち、3*4になります。 ただし、MやNの値が、マイナスの場合は、どうかな? たぶん、これでいいと思うけど。 M=-3 N=4の場合は、-12になるよね。 M=3 N=-4の場合は、-12ですね。 M=-3 N=-4の場合は、12で、OKですね。 よって、以下の関数でOKだと思います。 まあ、もっと「エレガント」な方法もあると思いますが、べたで書くと、 このようになりますね。 Function Hoge(lngM As Long,lngN As Long) As Long Dim lngLoopCnt As Long 'ループカウンタ '戻り値の初期化 Hoge = 0 'N回ループする。 For lngLoopCnt = 1 To Abs(lngN) IF lngN > 0 THEN '引数Mを加算する。 Hoge = Hoge + lngM Else Hoge = Hoge - lngM End If Next End Function
お礼
長らくお待たせしまして誠にすみませんでした。 一番長く丁寧に書かれてあったのですが、初心者も初心者の僕にはサッパリ意味が分かりませんでした。 知識が足り無い様なんで、これから勉強して分かる様なりたいです。
- coolguys
- ベストアンサー率18% (351/1917)
mをn回足していくと 掛け算になるので、 for文で1からnまでループする。 で、合計にmを毎回足していく という、プログラムでOKだと思います。
お礼
長い間お待たせさせてしまって非常に申し訳が無いです。簡潔に無駄無く御説明して戴き、有り難かったです。
お礼
長い間お礼をせずマコトに申し訳ありません! これからは即・お礼&締め切りします!! 最も分かり易く非常に参考になりました。 アリ・ガトー・ショコラ♪