1. 程式人生 > >a+aa+aaa+......+a......a(n個a)之和

a+aa+aaa+......+a......a(n個a)之和

輸入一個正整數 repeat (0<repeat<10),做repeat 次下列運算:
輸入 2 個正整數a (0<a<10)和n(0<n<10), 求a+aa+aaa+aa⋯a(n 個a)之和。

#include <stdio.h>

int main()
{
int repeat,i;
scanf("%d",&repeat);
for(i = 0;i <repeat;i++)
{
int a,n,sum,k,x;
scanf("%d%d",&a,&n);
x=a;
sum = 0;
    for(k=0;k<n;k++)
    {

    sum =sum +a;

    a =a*10 +x; 
    }
printf("%d\n",sum);
}
return 0;

解題思路:

輸入一個正整數 repeat (0<repeat<10),做repeat 次下列運算:

輸入 2 個正整數a (0<a<10)和n(0<n<10), 求a+aa+aaa+aa⋯a(n 個a)之和。

1、先找出aaaaaaa(n個a)的計算規律

讀取a後,aa=a*10+a aaa=aa*10+a(末尾的a為初始輸入的a)

綜上,如程式碼所示,2、利用sum進行疊加,在疊加後並對a進行賦值,使下一次迴圈時a的值改變。

注意點:每一次的a都在改變,那麼a=a*10+a的最後的a是要為初始輸入的a,但每次迴圈時,

a在不斷地改變,所以要用一個變數記錄初始輸入的a的值即如程式碼所示,int  x = a;a=a*10 +x;