第20講 n進数演算−−−引き算
第10話 引き算プログラム解説その5
を実現するプログラムエンジン核心部分再掲
For i = 0 To mx - 1
If d(i) < e(i) Then
For j = i + 1 To mx - 1
If d(j) > 0 Then
d(j) = d(j) - 1
Exit For
Else
d(j) = n - 1
End If
Next
d(i) = d(i) + n
End If
c(i) = d(i) - e(i)
Next
参考ダウンロード添付ファイル
解説その3
i = 5 までで、
↓
↓
↓
↓
↓
↓
が実現できていました。
7巡目に入ります。
i = 6 のとき、
d(6) = 1 e(6) = 6
ですから、
If d(i) < e(i) Then
For j = i + 1 To mx - 1
If d(j) > 0 Then
d(j) = d(j) - 1
Exit For
Else
d(j) = n - 1
End If
Next
d(i) = d(i) + n
が実行されて、
For j = 7 To 9
If d(j) > 0 Then
d(j) = d(j) - 1
Exit For
Else
d(j) = 6
End If
Next
の1回目のループは、
If d(7) > 0 Then
d(7) = d(7) - 1
Exit For
Else
d(7) = n - 1
End If
となりますが、
d(7) = 0
で、Else側が実行されて、
d(7) = 6
となります。2回目のループは、
If d(8) > 0 Then
d(8) = d(8) - 1
Exit For
Else
d(8) = 6
End If
d(8) = 2 から肯定側が実施され、
d(8) = d(8) - 1 = 2 - 1 = 1
さらに、
Exit For
によって、
For j = 7 To 9
If d(j) > 0 Then
d(j) = d(j) - 1
Exit For
Else
d(j) = 6
End If
Next
が強制終了されて、
d(i) = d(i) + n
から、
d(6) = d(6) + 7 = 1 + 7 = 8
最後に、
c(i) = d(i) - e(i)
から
c(6) = d(6) - e(6) = 8 - 6 = 2
以上の計算から、
↓
までが実現します。
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
vc++講義へ
excel 2013 2010 2007 vba入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門へ
小学生からエンジニアまでのRuby入門へ
本サイトトップへ