Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ผลรวมลำดับ 2, 22, 222, 2222, ... ในภาษา C

ลำดับ 2, 22, 222, 2222, ... สามารถหาผลรวมได้จากสูตรทางคณิตศาสตร์:

Sum = (2/9) × [(10ⁿ - 1 - 9n) / 9] = 2(10ⁿ - 1 - 9n) / 81

การนำไปสูตร

Sum = 2 + 22 + 222 + ...
    = 2[1 + 11 + 111 + ...]
    = (2/9)[9 + 99 + 999 + ...]
    = (2/9)[(10-1) + (100-1) + (1000-1) + ...]
    = (2/9)[10 + 10² + 10³ + ... - n]
    = (2/9)[(10ⁿ - 10)/9 - n]
    = 2(10ⁿ - 1 - 9n) / 81

โค้ดตัวอย่าง

#include <stdio.h>
#include <math.h>

int main() {
    int n = 3;
    float sum = 2 * (pow(10, n) - 1 - 9 * n) / 81;
    printf("sum is %f", sum);
    return 0;
}

ผลลัพธ์

sum is 246.000000

หมายเหตุ: ตัวอย่างเดิมแสดง 879 ซึ่งอาจเป็นค่า n ต่างกัน