Thắc mắc bài toán?

Viết chương tình tính tổng lập phương các số lẻ từ 1 đến N.
Nhập N = 3 thì ra 28(đúng), nhập N = 5 thì ra 152(153 mới đúng)?

Do không chạy debug của code này được nên không biết vì sao không cộng thêm 1 khi trường hợp n=5.
Em có cách code nào khác để chương trình viết ngắn và chạy tối tốt hơn không.

1 Like

em chỉ biết code thế này thôi, cái debug của em nó bị gì mà lỗi lần debug nó k hiện cái bảng thông số.

Bạn cho hiện pow(1,3) bằng mấy xem sao. Số thực nhiều pha ảo diệu lắm.

Bài này chỉ tính với số nguyên nên lấy iii là đủ. Với lại đừng quá máy móc, cứ dùng i+=2 luôn cho nó đỡ 1 dòng code (phí).

Bạn tham khảo nhé! Đây là cách làm của mình :smiley:

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

> int main(int argc,char *argv[])
> {
>     int i=0,n=0,S=0;
>     printf("Nhap vao N:");
>     scanf("%d",&n);
>     for(i=0;i<=n;i++)
>     {
>         if(i%2!=0)
>         {
>             S=S+pow(i,3);
>         }
>     }
>     printf("%d",S);
>     
> }

^ Thớt cũng viết vậy mà :smiley:

Mình sử dụng trang ideone.com thì ra đúng 153, có thể là “undefined behavior

https://daynhauhoc.com/t/thac-mac-ve-ham-pow/4179/12

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?