這道題題目為輸入數字n,按順序列印出1最大的n位十進位制數。
解題思路為:對於列印出1最大的n位十進位制數,可以採取在數字前面補0的方法,其實n位十進位制數就是n個從0到9的全排列。在列印的時候只需不列印數字前面的0即可。
用遞迴實現**如下:
#include#include#include#includevoid printnumber(char *number)
} printf("\t");
}void print(char* number, int length, int index)
for (int i = 0; i < 10; ++i) }
void printoneton(int n)
number[n] = '\0';
for (int i = 0; i < 10; ++i)
free(number);
number = null;
}
劍指offer17 列印從1到最大的n位數
題目 輸入數字n,按順序列印從1到最大的n為十進位制數。比如輸入3,則列印出1,2,3一直到最大的3位數999。看到這個問題之後,最容易想到的辦法就是先求出最大的n位數,然後用乙個迴圈從1開始逐個列印。於是很容易寫出以下 void print1tomaxofndigits 1 int n for i...
劍指 Offer 17 列印從1到最大的n位數
題目 輸入乙個位數n,把1到最大的n位數 如當n 2時,為99 放到int裡返回。public int printnumbers int n 思路 1.直接用for來放入,不考慮大數問題。不考慮大數問題 public int printnumbers int n return array 2.當n變...
劍指 Offer 17 列印從1到最大的n位數
輸入數字n,按順序列印出從 1 到最大的 n 位十進位制數。比如輸入 3,則列印出 1 2 3 一直到最大的 3 位數 999。示例 1 輸入 n 1 輸出 1,2,3,4,5,6,7,8,9 越來越覺得越是簡單的問題,遇到大數的時候就越難想出來處理的方式,感覺像是一種思維上的定式限制了我會用別的方...