第24講 10進数をn進数に翻訳する
第4話 10進数をn進数に翻訳するソフト解答例
コード例
Private Sub CommandButton1_Click()
Dim x As Long, n As Integer
x = Cells(8, 3)
n = Cells(8, 5)
Cells(10, 3) = f(x, n)
End Sub
Function f(x As Long, n As Integer)
Dim a As Integer
a = x Mod n
x = Int(x / n)
If x > 0 Then
f = f(x, n) + Str(a)
Else
f = Str(a)
End If
End Function
Private Sub CommandButton2_Click()
Cells(10, 3).Select
Selection.ClearContents
End Sub
実行例
解説
f = f(x, n) + Str(a)と足す順番が逆なのは、新しい方=現在の人形のデータを右にするためです。
f(x, n) は自分の内側の人形が返してきたデータです。
例で説明すると、
自分より内側の人形が100としてきたのに対して、その右に1と加えて1001としているわけです。
実は、逆順にするのに文字に変換しましたが、
変換しないで逆順を実現する方法があります。
第3話へ 第5話へ
VBA講義第1部へ
vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
数学研究室に戻る