7 38 數列求和 加強版

2022-05-01 13:54:11 字數 906 閱讀 9548

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,不可用定義整形去求和,需用陣列儲存和的每一位,模擬進製...