如何按顺序填充0-9范围内两数间数值并拼接为连续字符串?
解决方案
这里提供两种常见编程语言的实现方式,逻辑核心都是先确定数字的起止范围,再依次拼接范围内的数字字符串:
JavaScript 实现
function getConsecutiveString(num1, num2) { const start = Math.min(num1, num2); const end = Math.max(num1, num2); let result = ''; for (let i = start; i <= end; i++) { result += i; } return result; } // 测试示例 console.log(getConsecutiveString(4, 9)); // 输出 "456789" console.log(getConsecutiveString(7, 3)); // 输出 "34567"
逻辑说明:先用Math.min和Math.max确定循环的起止边界,避免输入顺序影响结果;通过for循环遍历范围内的每个数字,直接拼接到结果字符串中。
Python 实现
def get_consecutive_string(num1, num2): start = min(num1, num2) end = max(num1, num2) return ''.join(str(i) for i in range(start, end + 1)) // 测试示例 print(get_consecutive_string(4, 9)) // 输出 "456789" print(get_consecutive_string(7, 3)) // 输出 "34567"
逻辑说明:利用min和max锁定范围,通过range生成连续整数序列,将每个数字转为字符串后用join方法一次性拼接,写法更简洁。
注:如果输入的两个数字相等(比如5和5),上述代码会返回单个数字的字符串(如"5"),符合预期逻辑。
内容的提问来源于stack exchange,提问作者Kristo Tänak
相关产品推荐
相关产品推荐

