如何实现程序按指定次数以步长4递增输出整数序列?
实现指定次数步长为4的递增计数
没问题,这其实是个很基础的序列生成问题,核心就是按固定步长生成指定数量的连续数值。先明确下需求:你要的是从起始值n开始,生成times + 1个数字(因为初始值算第一个,之后要重复加4共times次),最后把这些数字用空格分隔输出一行。
下面是几个常用编程语言的实现示例:
Python 实现
Python的列表推导式可以很简洁地完成这个任务:
# 获取输入的起始值和次数 start = int(input("请输入起始值: ")) repeat_times = int(input("请输入重复次数: ")) # 生成目标序列:从start开始,每次加4,共repeat_times+1个元素 sequence = [start + 4 * i for i in range(repeat_times + 1)] # 转换为空格分隔的字符串并输出 print(' '.join(map(str, sequence)))
测试输入9和5的话,会直接输出9 13 17 21 25 29,完全符合你的示例要求。
JavaScript 实现
不管是在浏览器控制台还是Node.js环境,都可以用循环来生成序列:
// 获取用户输入 const start = parseInt(prompt("请输入起始值:")); const repeat_times = parseInt(prompt("请输入重复次数:")); const sequence = []; // 循环生成每个元素,共repeat_times+1个 for (let i = 0; i <= repeat_times; i++) { sequence.push(start + 4 * i); } // 输出结果 console.log(sequence.join(' '));
Java 实现
Java里可以用StringBuilder来高效拼接输出字符串:
import java.util.Scanner; public class StepIncrementCounter { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入起始值: "); int start = scanner.nextInt(); System.out.print("请输入重复次数: "); int repeat_times = scanner.nextInt(); StringBuilder resultBuilder = new StringBuilder(); for (int i = 0; i <= repeat_times; i++) { // 不是第一个元素的话,先加空格分隔 if (i != 0) { resultBuilder.append(" "); } resultBuilder.append(start + 4 * i); } System.out.println(resultBuilder.toString()); scanner.close(); } }
通用核心逻辑
不管用什么语言,核心步骤都是这三步:
- 获取起始值
start和重复次数repeat_times - 生成包含
repeat_times + 1个元素的序列,每个元素为start + 4 * i(i从0到repeat_times) - 将序列中的数值转为字符串,用空格连接后输出
内容的提问来源于stack exchange,提问作者user9431013
相关产品推荐
相关产品推荐

