-1

私はプログラミングの初心者で、Objective C を最初の言語として使い始めました。私はいくつかの本やチュートリアルをいじっています, 最後に計算機をプログラミングしています... すべてうまくいき、私は始めています (プログラミングは本当に楽しいです)

今、私はアラビア数字を中国語の数字にどのように変換できるか自問しています (例えば、アラビア数字の 4 は中国語の四で、8 は八で、四 + 四 = 八を意味します) 、 10000 、および ja のようなねじれたもので、私の脳を台無しにします... とにかく、この数値を処理する方法、またはそれらを計算する方法をコンピューターに伝える方法について、アドバイス、ヒント、ヒント、または解決策を持っている人はいますか?

私はすべてが可能だと思うので、「可能かどうか」とは尋ねません。

4

3 に答える 3

2

ウィキペディアhttp://en.wikipedia.org/wiki/Chinese_numeralsで説明されているように、中国語の数値システム (マンダリン) を考慮します。たとえば、次のようになります。

  • 45 は [4] [10] [5] と解釈され、四十五と書かれます</li>
  • 114 は [1] [100] [1] [10] [4] と解釈され、一百一十四と書かれます。

したがって、トリックは、数値を 10 の累乗として分解することです。

x = c(k)*10^k + ... + c(1)*10 + c(0)

ここで、k は商が少なくとも 1 になるように x を除算する 10 の最大累乗です。上記の 2 番目の例では、114 = 1*10^2 + 1*10 + 4 です。

この x = c(k)*10^k + ... + c(1)*10 + c(0) となり[c(k)][10^k]...[c(1)][10][c(0)]ます。2 番目の例でも、114 = [1] [100] [1] [10] [4] です。

次に、括弧内の各数値を対応するサイノグラムにマッピングします。

0 = 〇</p>

1 = 一

2 = 二</p>

3 = 三</p>

4 = 四</p>

5 = 五</p>

6 = 六</p>

7 = 七</p>

8 = 八</p>

9 = 九</p>

10 = 十</p>

100 = 百</p>

1000 = 千</p>

10000 = 万</p>

形式を覚えていれば[c(k)][10^k]...[c(1)][10][c(0)]、コンピュータが処理できる整数や対応する漢数字に変換するのは簡単です。したがって[c(k)][10^k]...[c(1)][10][c(0)]、サイズ k+2 の整数配列に格納するのはこの形式です。

于 2013-02-25T22:49:16.247 に答える