01/10/2018, 14:48
Code Challenge nho nhỏ về Sum series
Challenge là, cho 1 số N bất kì hãy tính và in ra màn hình, ra file, ra giấy,…bla,bla,bla hay ra gì gì đó hok bít tổng từ 1…n với n chạy từ 1…N. Hết
Ví dụ cho n = 50 thì in ra màn hình
Tổng từ 1 đến 1, rồi tổng từ 1 đến 2,…cho đến tổng từ 1…49, 1…50. Và xử lý với 1 vòng lặp duy nhất. Cài đặt thuật toán vs bất cứ ngôn ngữ nào. Note: không dùng đệ quy
Bài liên quan
Đây là [code challenge] nhé, không phải hỏi bài tập. Và đây cũng là topic đầu tiên mà new mem mình xin chào sân với các bác…đấy ạaaaa
Bài của em đây ạ.
Ok, challenge tiếp theo là…Cho vòng lặp chạy tới n/2 thôi, nhưng in ra vẫn theo thứ tự 1 đến N.
Không phải cộng từ 1 đến N nha bạn. Mà là cộng từ 1 đến gia số thứ i vs i chạy từ 1 đến N.
Thì code mình là vậy mà.
2 bạn trên kia cũng thuộc dòng cao thủ đây. Tự thấy mình còn gà con quá
i = 1, s = 1
i = 2, s = s + i = 1 + 2 = 3
i = 3, s = s + i = 3 + 3 =…
Bài 2 luôn :3
Rất good và gọn, nhưng chỉ sử dụng nội trong trường hợp này thôi. Nếu dùng công thức như trên kia thì có thể tính tổng từ A đến B nguyên dương bất kì mà không cần vòng lặp hay đệ quy này nọ giúp tăng performance đáng kể.
Nhiều bạn sao thik ép kiểu trong () thế ta, dùng 2.0 có nhanh hơn không, vì không nhất thiết dùng tới double trong trường hợp này mà.
Vì mình muốn viết hàm trong cả trường hợp n ≠ 50
Chú ý:
int / double → int
double / int → double
Nếu bạn muốn kiểu double thì dùng ép tường minh, còn như mình thấy nếu không phải dùng tới double thì cứ nhân chia gì đó cho một số thực để nó tự chuyển sang kiểu float là đủ xài.
Ồ, là do mình nhầm. int / double → double