来源于剑指offer的大数打印问题:
给定n,如何打印从1到最大的n位整数?
如果n位整数不会溢出,例如n可以被long long表达,那可以简单的解决。如果n很大,无法用单个变量类型进行表达,那就要用其他数据类型来模拟大数的表达,最简单有效的方法是使用字符数组,并在字符数组上模拟整数的加法和进位。
#include<iostream> #include<string.h> using namespace std; class Solution { public: void PrintNumber(int n){ char* num = new char[n+1]; memset(num, '0', n); //将该段内存全部置为'0',初始化 num[n] = '