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

โปรแกรม C สำหรับผลรวมลูกบาศก์ของจำนวนธรรมชาติ n ตัวแรก?


ในปัญหานี้เราจะมาดูกันว่าเราจะหาผลรวมลูกบาศก์ของจำนวนธรรมชาติ n ตัวแรกได้อย่างไร เราใช้ one for loop ที่รันตั้งแต่ 1 ถึง n ในแต่ละขั้นตอน เราจะคำนวณลูกบาศก์ของพจน์นั้นแล้วบวกกับผลรวม โปรแกรมนี้ใช้เวลา O(n) ในการดำเนินการให้เสร็จสิ้น แต่ถ้าเราต้องการแก้ปัญหาใน O(1) หรือเวลาคงที่ เราก็สามารถใช้สูตรอนุกรมนี้ −

โปรแกรม C สำหรับผลรวมลูกบาศก์ของจำนวนธรรมชาติ n ตัวแรก?

อัลกอริทึม

cubeNNatural(n)

begin
   sum := 0
   for i in range 1 to n, do
      sum := sum + i^3
   done
   return sum
end

ตัวอย่าง

#include<stdio.h>
long cube_sum_n_natural(int n) {
   long sum = 0;
   int i;
   for (i = 1; i <= n; i++) {
      sum += i * i * i; //cube i and add it with sum
   }
   return sum;
}
main() {
   int n;
   printf("Enter value of n: ");
   scanf("%d", &n);
   printf("Result is: %ld", cube_sum_n_natural(n));
}

ผลลัพธ์

Enter value of n: 6
Result is: 441