2+22+222+2222+...+222..222(精確計算)
阿新 • • 發佈:2018-12-23
題目描述
2+22+222+2222+...+222..222(精確計算)
題目分析
如果指定基數為2,次數為5, 則求2+22+222+2222+22222的值,我們從每一項中可以總結出規律:
項數n | 值a | 拆分 |
1 | 2 | 0*10+2=2 |
2 | 22 | 2*10+2=22 |
3 | 222 | 22*10+2=222 |
4 | 2222 | 2222*10+2=2222 |
5 | 22222 | 22222*10+2=22222 |
... | .... | ..... |
n | 2222222… | [第(n-1)項的a]*10+a |
首先我們需要設定兩個變數,分別為a和sum。
變數a是用來存放計算出來每一項所對應的值,而變數sum則是起到了一個累加的作用。
每當變數a進行完運算後都會存放到變數sum當中,這裡的sum起到了一個累加器的作用,最終輸出變數sum就可以了。
程式碼編寫
#include<stdio.h>
int main() {
int x,number;
int a=0,sum=0;
printf("輸入基數x:");
scanf("%d",&x);
printf("輸入項數number:");
scanf("%d",&number);
for(int n=1; n<=number; n++) {
a=(a*10)+x;
sum+=a;
}
printf("sum: %d",sum);
}
測試結果如下