打印1到最大的n位数:
这里一个很重要的概念就是n位数,不知道n为多大,那么需要用一个字符来表示一个大数
这里用string来表示大数,为了打印的时候方便,这里需要模拟一个字符的加法操作
另外,之前实现过大数的乘法,异曲同工:
http://blog.csdn.net/xietingcandice/article/details/44729323
#include<iostream>
#include<string>
using namespace std;
int Incrument(string& num,int n)
{
int length = num.length();
bool overflag = false;
int nextflag = 0;//<标示进位符号
for (int i = length-1; i>=0;i--)
{
int nSum = num[i]-'0'+nextflag;
if (i == length-1)
{
nSum++;//<最后一位加上1
}
if (nSum < 10)
{
num[i] = nSum+'0';
break;
}
if (nSum >= 10)
{
if (i == 0 && length == n)//<标示最高位进位了ÿ