7-38 數列求和-加強版(20 分)
給定某數字a(1≤a≤9)以及非負整數n(0≤n≤100000),求數列之和s=a+aa+aaa+⋯+aa⋯a(n個a)。例如a=1, n=3時,s=1+11+111=123。
輸入數字a與非負整數n。
輸出其n項數列之和s的值。
1 3
123
思路:直接用長整形累加**簡單,但是超範圍了(;′⌒`),本來還試了下使用陣列來進行發現還是沒ac。
然後換了種思路橫著乙個個加不行,那縱著加呢?(橫縱參考下圖)很完美,空間和時間上還都得到了優化(相比我之前沒ac的**)
以下是ac**:
#include#include
#include
using
namespace
std;
intmain()
stack
cnt; //
棧用來儲存要輸出的位
int flag = 0; //
儲存輸出以後還剩的餘數
for (int i = n; i >= 1; i--)
if (flag!=0) cout <
while (!cnt.empty())
cout
<
return0;
}
7 38 數列求和 加強版
給定某數字a 1 a 9 以及非負整數n 0 n 100000 求數列之和s a aa aaa aa a n個a 例如a 1,n 3時,s 1 11 111 123。輸入數字a與非負整數n。輸出其n項數列之和s的值。1 3123最近這些天一直在玩,沒怎麼寫 看到這題直覺就是像以前一樣開闢字元陣列,昨...
7 38 數列求和 加強版
給定某數字a 1 a 9 以及非負整數n 0 n 100000 求數列之和s a aa aaa aa a n個a 例如a 1,n 3時,s 1 11 111 123。輸入數字a與非負整數n。輸出其n項數列之和s的值。如果這道題按數學中的四則運算去直接計算結果,該資料會超出long long 的範圍,...
(題解)7 38 數列求和 加強版
給定某數字a 1 a 9 以及非負整數n 0 n 100000 求數列之和s a aa aaa aa a n個a 例如a 1,n 3時,s 1 11 111 123。輸入數字a與非負整數n。輸出其n項數列之和s的值。1 31.n最大為10000,不可用定義整形去求和,需用陣列儲存和的每一位,模擬進製...