DAY43:Adding Big Numbers


Posted by birdbirdmurmur on 2023-08-25

題目連結

https://www.codewars.com/kata/525f4206b73515bffb000b21

解法

function add(a, b) {
    const arr1 = a.split('').reverse(); 
    const arr2 = b.split('').reverse();

    const maxLength = Math.max(arr1.length, arr2.length);
    const result = [];
    let carry = 0;

    for (let i = 0; i < maxLength; i++) {
        const digit1 = i < arr1.length ? parseInt(arr1[i]) : 0;
        const digit2 = i < arr2.length ? parseInt(arr2[i]) : 0;

        const sum = digit1 + digit2 + carry; // 相加每一位數
        const digitSum = sum % 10; // 尾數
        carry = Math.floor(sum / 10); // 無條件捨去 進位 

        result.push(digitSum);
    }

    if (carry > 0) {
        result.push(carry);
    }

    return result.reverse().join('');
}

筆記


#javascript #Codewars







Related Posts

[FE302] React 基礎 - hooks 版本:React 實戰篇 - 留言板

[FE302] React 基礎 - hooks 版本:React 實戰篇 - 留言板

Aspect-Oriented Programming(AOP) 面向導向程式

Aspect-Oriented Programming(AOP) 面向導向程式

學習 Git (10) - Pull 與 Clone

學習 Git (10) - Pull 與 Clone


Comments