【JavaScript】7-38 数列求和-加强版 (20 分)
题目:
给定某数字A(1 ≤ A ≤ 9)以及非负整数N(0 ≤ N ≤ 100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,S = 1 + 11 +111 = 123。
输入格式:
输入数字A与非负整数N。
输出格式:
输出其N项数列之和S的值。
输入样例:
1 3 |
输出样例:
123 |
JavaScript代码:
1 const { parse } = require('path') 2 var readline = require('readline') 3 4 const rl = readline.createInterface({ 5 input: process.stdin, 6 output: process.stdout 7 }) 8 9 rl.on('line', function(line) { 10 let tokens = line.split(' ') 11 let A = tokens[0] 12 let N = tokens[1] 13 14 let ret = sum(A, N) 15 console.log(ret) 16 }) 17 18 function sum(A, N) { 19 let res = [] 20 let carry = 0 21 22 for (let i = 0; i < N; i++) { 23 let s = A * (N - i) + carry 24 res.push(s % 10) 25 carry = Math.floor(s / 10) 26 } 27 28 if (carry != 0 || N == 0) { 29 res.push(carry) 30 } 31 32 res.reverse() 33 return res.join('') 34 }