1、忽略演算法的優化,這個只是我個人寫出來,個人測試後沒問題的**。不是啥時間空間複雜度最優的,也不一定的完全正確的。
2、演算法針對輸入的要求必須是正整數之間的相加。負數,小數、分數、複數不行。
3、思路,非常簡單,從低到高,逐位相加,然後將每一位相加的結果合併在一起就是最後的結果。其他的請看**。
package calculate;
public
class
addpublic string add
( string num1, string num2 )
else
if( i < num1.
length()
&& i >= num2.
length()
)//如果在迴圈結束後仍有更高位沒有參加運算,直接將其新增在結果中就ok了
if( i < num1.
length()
) sum = num1.
substring(0
, num1.
length()
-i)+ sum;
//結束迴圈
break
;//計算的位置已經超過了num2的情況
}else
if( i >= num1.
length()
&& i < num2.
length()
)if( i < num2.
length()
) sum = num2.
substring(0
, num2.
length()
-i)+ sum;
break
;//計算到最後,有進製的情況
}else
if( next ==1)
sum = next + sum;
}return sum;
}public
static
void
main
(string[
] args)
}
超長正整數相加
請設計乙個演算法完成兩個超長正整數的加法。輸入引數 string addend 加數 string augend 被加數 返回值 加法結果 思路 兩個數相加,可先將兩個數長度對齊,短的用0補齊後再計算。兩個數相加的結果長度至多為較大的數長度加1。可以用乙個陣列來存放結果。public class m...
超長正整數相加
請設計乙個演算法完成兩個超長正整數的加法。介面說明 輸入引數 string addend 加數 string augend 被加數 返回值 加法結果 public string addlonginteger string addend,string augend 輸入描述 輸入兩個字串數字 輸出描述...
超長正整數相加 牛客
請設計乙個演算法完成兩個超長正整數的加法。介面說明 請設計乙個演算法完成兩個超長正整數的加法。輸入引數 string addend 加數 string augend 被加數 返回值 加法結果 public string addlonginteger string addend,string auge...