PTA 5 38 加強數列求和

2021-07-29 23:24:58 字數 677 閱讀 8402

給定某數字a

a(1≤a≤91≤

a≤9)以及非負整數n

n(0≤n≤1000000≤

n≤10

0000

),求數列之和s=a+aa+aaa+⋯+aa⋯as=

a+aa

+aaa

+⋯+a

a⋯a(n

n個aa)。例如a=1a=

1, n=3n=

3時,s=1+11+111=123s=

1+11

+111

=123

。輸入數字a

a與非負整數nn。

輸出其n

n項數列之和s

s的值。

1 3
123

這道題涉及高精度運算,因為n的取值範圍為0-100000,即最後的一項數字的位數超過了int ,long long long 的表示範圍,那麼不能用數字表示最後的取值範圍,程式如下

#include #include using namespace std;

int num[100001];

int main()

if(flag>0)

for(int i=j-1;i>=0;i--)

cout<}

return 0;

}

pta 5 38 數列求和 加強版 20分

include define size 1000000 int max 1 最大位數 void init short int in,int a,int b in 0 0 void sum short in1,int a,int b if t 0 當已經分離訪問完成後,若剩餘的數字仍不為0,也就是還有...

5 38 數列求和 加強版 20分

5 38 數列求和 加強版 20分 給定某數字a a 1 le a le 91 a 9 以及非負整數n n 0 le n le 1000000 n 10 0000 求數列之和s a aa aaa cdots aa cdots as a aa aaa a a a n n個aa 例如a 1a 1,n 3...

PTA 習題2 3 數列求和 加強版 20 分

1 pow 10,3 99 原因 pow返回的是double型別,即浮點數,浮點數本身就是表示乙個精度的數字,而不是乙個準確的數字。可能為99.999999 然後轉換int所以成為99,浮點數轉換為int是可能丟失精度的。所以浮點數不比較相等,只認為兩個數字差距小到一定精度就認為相等。2 6 數列求...