题解
输出范围内的数
1 条题解
-
0
解题思路
题目要求把 m 到 n 之间(包含 m 和 n)的所有数用空格隔开输出。注意条件 0<m<n<1000。
做法很简单:用 for 循环让 i 从 m 走到 n(i=m; i<=n; i++),每走到一个数就输出它。因为 m、n 都包含在范围内,所以循环条件用 i<=n,千万别写成 i<n 漏掉 n。
输出格式要注意:数之间用空格隔开,但最后一个数后面不能有多余空格。代码里用 if(i==m) 判断:第一个数(i 等于 m)直接输出,后面的数先输出一个空格再输出,这样格式最标准,也不会在行尾留下多余空格。
验证样例:m=1,n=10,输出 1 2 3 4 5 6 7 8 9 10。
参考代码
#include <iostream> using namespace std; int main() { int m, n; // m、n:输出区间的两个端点 cin >> m >> n; // 读入 m 和 n for (int i = m; i <= n; i++) { // 从 m 输出到 n(含端点) if (i == m) { // 第一个数前面不用空格 cout << i; } else { // 其余数前面先输出一个空格 cout << " " << i; } } cout << endl; // 最后换行 return 0; }复杂度分析
循环执行 n-m+1 次,即从 m 到 n 一共要输出的数的个数,时间复杂度是 O(n-m+1),简写为 O(n)。因为 n<1000,循环次数很少。空间上只用 m、n、i 几个变量,空间复杂度 O(1)。
- 1