【題目:】
輸入數字n,按順序列印出從1最大的n位十進位制數。比如輸入3,則列印出1、2、3一直到最大的3位數即999。
【輸入輸出描述】
test(1
);test(2
);test(3
);test(0
);test(-
1);
【參考**】
在字串上,模擬數字加法。
#include
#include
#include
#include
//#include
//#include
#include
using
namespace std;
bool
increment
(char
* num)
if(nsum>=10)
else
}else
}return isoverflow;
}void
printnum
(char
* num)if(
!isbegin)
}printf
("\t");
}void
print1tomaxofdigits
(int n)
delete
num;
}int
main()
/****
***/
數字排列,遞迴**更簡潔。
#include
#include
#include
#include
//#include
//#include
#include
using
namespace std;
void
printnum
(char
* num)if(
!isbegin)
}printf
("\n");
}void
print1tomaxofdigitsrecursively
(char
*num,
int length,
int index)
for(
int i =
0; i <
10; i++)}
void
print1tomaxofdigits
(int n)
delete
num;
}int
main()
/****
***/
面試題17 列印1到最大的n位數
面試題17 列印1到最大的n位數 題目 輸入數字n,按順序列印出從1最大的n位十進位制數。比如輸入3,則 列印出1 2 3一直到最大的3位數即999。首先是乙個大陷阱,n有多大?萬一大到long long型別都盛不下,你要直接動手寫,那寫的再正確也是涼涼。我們考慮到用字元來表示數字,然後把字元列印出...
面試題17 列印從1到最大到n位數
次題其實考察的是大數問題,但是我目前是用python3進行程式設計,在python中沒有數字的限制,所以會出現直接迴圈的效率比用大數的方法要快,但是這裡還是建議大家先思考大數方法 其實就是輸入n就定義乙個n長度的陣列,每乙個位置代表真實數字對應的位置,然後分辨從0 9迴圈通過字串進行轉換,防止超出傳...
面試題17 列印從1到最大的n位數
輸入數字n,按順序列印出從1最大的n位十進位制數。比如輸入3,則列印出1 2 3一直到最大的3位數即999。2.1 跳進面試官陷阱 分析 這道題目看起來很簡單。我們看到這個問題之後,最容易想到的辦法就是先求出最大的n位數,然後用乙個迴圈從1開始逐個列印。於是寫出以下 void printtomaxo...