自然数m,nの掛け算を足し算の繰り返しで計算するプログラムを作成したいのですが、プログラミングの本を見ても全く分かりません。 悩みの種です・・・

A 回答 (3件)

いきなり、答えを書いてしまうのもなんかな?と思ったのですが、


関数を作ってみました。

こいつを

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
    • good
    • 0
この回答へのお礼

長らくお待たせしまして誠にすみませんでした。 一番長く丁寧に書かれてあったのですが、初心者も初心者の僕にはサッパリ意味が分かりませんでした。 知識が足り無い様なんで、これから勉強して分かる様なりたいです。 

お礼日時:2001/07/30 17:50

mをn回足していくと


掛け算になるので、

for文で1からnまでループする。

で、合計にmを毎回足していく

という、プログラムでOKだと思います。
    • good
    • 0
この回答へのお礼

長い間お待たせさせてしまって非常に申し訳が無いです。簡潔に無駄無く御説明して戴き、有り難かったです。

お礼日時:2001/07/30 17:37

m*nですよね。


mをn回足せばいいのではないでしょうか?

for分か何かを使って、
for i = 1 to n かな?VBは最近さわってないから、
おかしいかもしれませんが、
sum = 0
for 1~nを数える
 sum = sum + m
繰り返し
これでいいと思いますが・・・

ではでは☆
    • good
    • 0
この回答へのお礼

長い間お礼をせずマコトに申し訳ありません!     これからは即・お礼&締め切りします!!       最も分かり易く非常に参考になりました。       アリ・ガトー・ショコラ♪    

お礼日時:2001/07/30 17:28

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

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報