文字列に二つの非負の整数を指定する num1
と、num2
その合計を計算します。(電源ボタン415個の質問)
コメントエリアを参照するには疑問が高度なアルゴリズムを持っています。
書式#include <iostreamの>
の#include <アルゴリズム>
書式#include <string.hの>
名前空間stdを使用。
クラス解決
{
パブリック:
文字列addStrings(列NUM1、ストリングNUM2)
{
文字列str。
INT CUR = 0、iは= num1.size() - 1、J = num2.size() - 1;
(!I> = 0 || J> = 0 || CUR = 0)//将进位值也设为循环条件しばらく
{
'0' - IF(I> = 0)CUR + = num1を[i--] ;
IF(J> = 0)CUR + = NUM2 [j--] - '0'。
STR + = to_stringに(CUR 10%)。
CUR / = 10。
}
(str.begin()、str.end())逆。
STRを返します。
}
}。
メインINT()
{
溶液S。
「(文字列NUM1
COUT << s.addStrings(NUM1、NUM2)<< ENDL。
0を返します。
}
業績
このメソッドの美しさは、あなたが追加置く価値とキャリー値は数字が長い2、短い最後の文字で異なることができるように、加算され、キャリー値もループ状態に設定されていることです追加した後に状況が運ぶあります。