第26講 n進数の演算---その2 減法
第10話 プログラム解説その4

          else{
             d[j]=n-1;
           }

の意味は、100004-7すなわち
1


を計算すれば分かります。
5進数だとわかりにくいかも知れませんが、
10進数の引き算なら、
2
ですよね。ですから、5進法なら、
3
です。10進数にしろ5進数にしろ、
位の数字が0であったものはn-1になってますね。
10進数のときはn-1=10-1=9
 5進数のときはn-1= 5-1=4
ですよね。

納得できない方のために、もう少し説明を加えましょう。

まず、4は1つ上の位から1つ借りようとしました。
ところが、1つ上の位はお金を持っていません。
お金を貸すために1つ上の位のは、さらに1つ上の位から、
お金を借りようとします。
残念ながら、の1つ上の位の財産も
です。
仕方なく、
はさらに1つ上の位からお金を借りて、
にお金を貸そうと考えます。
ですが、残念ながら
の1つ上の位の財産もです。
と同じことを考えますが、今回も上の位のお金もです。
最終的には、
からお金を借ります。
わかりやすく、10進法で説明し直すと、
が10万円をから借りてきて、1万をにかします。
すると、
の財産は9万円となります。
は1万の内の1000円をに貸します。
これで、
の財産は9000円となります。
資産が1000円となった
は、このうちの100円をに貸しますから、
貯金は900円となります。
100円の運営資金を得たは、4に10円貸しますので貯金は90円となり、
一の位は14円の財産をもちます。
それで、はじてめて引き算に応じられて14-7=7円となるのです。
結果的には
4
となりますね。

10進数の説明をコピペして、5進数に直すと

が5の5乗=3125円をから借りてきて、5の4乗=625円をにかします。
すると、
の財産は3125-625=2800(=4×625=×5の4乗)円となります。
は625円の内の5の3乗=125円をに貸します。。
これで、
の財産は625-125=600(=4×125=×5の3乗)円となります。
資産が125円となった
は、このうちの25円をに貸しますから、
貯金は125-25=100(=4×25=
×5の2乗)円となります。
25円の運営資金を得たは、4に5円貸しますので、
資産は20(=
×5の1乗)円です。
すると、一の位は9円の財産をもちます。
それで、はじてめて引き算に応じられて9-7=2円となるのです。
(今の説明で
が4つになったことに注意してくささい。)
5


残りは、

   int ik;
   for(i=g-1;i>=0;i--){
     if(c[i]>0){
        if(u>0){
          c[i+1]=n;
          ik=i+1;
        }
        else{
           c[i+2]=n;
           c[i+1]=n+1;
           ik=i+2;
        }
        break;
     }
   }
   return(ik);
の謎を解明して終わりです。
これの任務なんだかお分かりですか。

第9話へ 第11話へ

a

eclipse c++ 入門講義第1部へ

eclipse c++ 入門講義第2部へ


魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ