1,题意:
输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999。
2,用递归可以比较简短地实现:
#include <iostream>
#include <cstring>
using namespace std ;
void OutPut(char* number)
{
bool isBegin = true;
int nLength = strlen(number);
for(int i = 0; i < nLength; ++ i)
{
if(isBegin && number[i] != '0')
isBegin = false;
if(!isBegin)
cout << number[i];
}
cout << "\t";
}
void RecurOutPut(char* number, int n, int index)
{
if(index == n )
{
OutPut(number);
return;
}
for(int i = 0; i < 10; ++i)
{
number[index] = i + '0';
//每次递归,实现给每个位0到9
RecurOutPut(number, n, index + 1);
}
}
void PrintToN(int n)
{
if(n <= 0)
return;
char* number = new char[n + 1];
number[n] = '\0';
RecurOutPut(number, n, 0);
delete[] number;
}
int main()
{
PrintToN(2);
return 0 ;
}
分享到:
相关推荐
标题中的“打印从1到最大的n位数1”是一个编程问题,主要涉及到计算机科学中的算法设计,特别是遍历和数字处理。这个问题源自LeetCode,一个知名的在线编程挑战平台,标签为"leetcode",意味着它是一个典型的算法题...
剑指Offer(Python多种思路实现):打印从1到最大的n位数 面试17题: 题目:打印从1到最大的n位数 题:输入数字n,按顺序打印出从1到最大的n位十进制数,比如输入3,则打印出1、2、3一直到最大的3位数999. 解题思路一:...
此外,为了防止溢出,数组的大小需要预估合理,通常可以设置为比n的阶乘可能出现的最大位数稍大一些。 总的来说,实现无位数限制的阶乘计算是一个涉及大数运算和数组处理的问题。通过自定义数组数据结构和适当的...
题目:求二位数组的“最大点”。二维数组的“最大点”定义为:某个数式所在行的最大值,并且是所在列的最大值。某行或某列上可能有多个“最大点” 样例输入: 3 4 8 60 7 100 10 498 12 49 -71 132 4 85 ...
对于一本页码从1到n(1 ≤ n ≤ 10^9)的书,统计所有页码中数字0到9各出现了多少次。 ### 解题思路 解题的关键在于理解如何统计数字的出现次数。首先,我们需要将问题简化,将其分解为更小的部分来逐步解决。 ###...
3. `m.n`:`m`定义了输出字段的宽度,`n`定义了精度,用于控制小数位数或字符串的最大长度。 格式字符则用于指定输出数据的类型和格式,包括: 1. `%d`:输出十进制整数,可以配合`m`定义字段宽度。 2. `%ld`:...
在实际编程中,这些函数的具体实现会根据需求进行逻辑编写,如判断素数、执行四则运算、处理数字位数、查找质因数、输入输出数组、数组操作、计算最大n、处理字符串数组以及加密字符串等。注意每个函数应有清晰的...
43. **数列求和**:找到满足条件的最大n,然后计算数列之和。 44. **筛选特定数列**:使用循环过滤出不满足条件的数。 45. **Fibonacci数列**:递归或迭代计算Fibonacci数列的前40项。 46. **密码加密**:根据...
例如,`随机数(1, 100)`会返回1到100之间的随机整数(包括1和100)。 2. 整数运算: 在生成特定位数的随机数时,可能需要对生成的随机数进行整除和取余运算,以确保结果满足特定位数的要求。例如,如果你需要生成...
- `%-m.n`:左对齐输出,其中`m`为最小宽度,`n`为精度。 - `%0m.n`:在`%-m.n`的基础上,不足时用0填充。 - `%h`:短整型数据。 - `%l`:长整型数据。 ### 格式控制参数详解 `printf`格式控制的完整格式为`%...
20062 求m*m+1/m+(m+1)*(m+1)+1/(m+1)+(m+2)*(m+2)+1/(m+2)+......+n*n+1/n 13 20063 求1-2/3+3/5-4/7+5/9-6/11+…… 14 20064 求2^1+2^2+2^3+……+2^n 15 第4周(M4) 15 10007 显示图案 (复习...
1. **数组大小**:在本例中,我们假设输入的整数最多为4位数,因此定义了大小为4的数组。实际应用中应考虑更通用的方法来确定数组大小。 2. **异常处理**:在实际编程中,还需要加入异常处理逻辑,比如输入非数字...
这需要创建一个新节点并将其插入到链表中,直到用户输入-1为止。 2. 使用`ShowList`函数遍历链表并显示所有元素,确保它们在显示器上可见。 3. `LenList`函数用于计算链表的长度,通过遍历链表并计数节点来实现。 4....
1. **最大组合**:将组成这个四位数的四个数字按照从大到小的顺序排列,得到一个新的最大四位数。 2. **最小组合**:将组成这个四位数的四个数字按照从小到大的顺序排列,得到一个新的最小四位数(若其中包含0,则...
- 输出:小于 n 的最大质数。 **解析与解答:** 本题需要掌握质数判断的方法以及循环查找技巧。 **关键知识点:** 1. **质数判断**: 可以使用试除法来判断一个数是否为质数。 2. **循环结构**: 从 n 开始向下降序...
根据描述,“从上到下,每行有多到少”,意味着星号应该从最多逐渐减少至最少,形成一个倒置的三角形。但是,当前代码的内层循环`j 会导致每行的星号数量随着行数增加而增加,这与题目要求不符。 #### 正确实现 ...
1. 将四位数的四个数字由大到小排列,组成最大的四位数。 2. 同样将四个数字由小到大排列,组成最小的四位数。如果有0,可能不足四位,但不影响运算。 3. 计算这两个四位数的差,得到一个新的四位数。 4. 重复这个...
1. **基本情况**:如果\( m \)等于0,则最大公约数为\( n \)。 2. **递归步骤**:如果\( m \)不等于0,则最大公约数为\( n\mod m \)与\( m \)的最大公约数。 代码实现如下: ```cpp int RGcd(int m, int n) { if ...