Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: [Sai thuật toán??] Bài toán tính tổng từ 1 tới n

  1. #1
    Ngày gia nhập
    02 2012
    Bài viết
    0

    Mặc định [Sai thuật toán??] Bài toán tính tổng từ 1 tới n

    Ai đó làm ơn giúp mình, mình mới học C# đến bài toán tính tổng các số từ 1 đến số n đc nhập vào (S= 1+2+3+...+n). Mình làm nhưng sai ở thuật toán + nên chương trình chạy nhưng ra sai số, ai có thể đọc giúp mình xem là sai do tại sao ko. Mình xin cảm ơn:
    Visual C# Code:
    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Text;
    5.  
    6. namespace learning_C
    7. {
    8.     class Program
    9.     {
    10.         static void Main(string[] args)
    11.         {
    12.             int i, n, S = 0;
    13.             Console.WriteLine("Hay nhap vao so n ban muon tinh tong: ");
    14.             n = Convert.ToInt32(Console.ReadLine());
    15.             for (i = 0; i <= n; i++)
    16.             {
    17.                 S = (i - 1) + i;   //<< Theo mình nghĩ là sai do cái này, nhưng mình chưa hiểu là do vòng lặp sai hay do công thức tính sai
    18.             }
    19.             Console.WriteLine("Tong cua cac so tu 1 toi n la: {0}", S);
    20.             Console.ReadLine();
    21.         }
    22.     }
    23. }
    Đã được chỉnh sửa lần cuối bởi KjlluaZ : 07-02-2012 lúc 02:42 PM.

  2. #2
    Ngày gia nhập
    08 2011
    Bài viết
    117

    C Code:
    1. S = (i - 1) + i;

    to :

    C Code:
    1. S += i;

  3. #3
    Ngày gia nhập
    02 2011
    Bài viết
    36

    Trích dẫn Nguyên bản được gửi bởi KjlluaZ Xem bài viết
    Ai đó làm ơn giúp mình, mình mới học C# đến bài toán tính tổng các số từ 1 đến số n đc nhập vào (S= 1+2+3+...+n). Mình làm nhưng sai ở thuật toán + nên chương trình chạy nhưng ra sai số, ai có thể đọc giúp mình xem là sai do tại sao ko. Mình xin cảm ơn:
    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace learning_C
    {
        class Program
        {
            static void Main(string[] args)
            {
                int i, n, S = 0;
                Console.WriteLine("Hay nhap vao so n ban muon tinh tong: ");
                n = Convert.ToInt32(Console.ReadLine());
                for (i = 0; i <= n; i++)
                {
                    S = (i - 1) + i;   //<< Theo mình nghĩ là sai do cái này, nhưng mình chưa hiểu là do vòng lặp sai hay do công thức tính sai
                }
                Console.WriteLine("Tong cua cac so tu 1 toi n la: {0}", S);
                Console.ReadLine();
            }
        }
    }
    Bạn sửa lại thành:
    Visual C# Code:
    1.             for (i = 1; i <= n; i++)
    2.             {
    3.                 S += i;
    4.             }

  4. #4
    Ngày gia nhập
    02 2012
    Bài viết
    0

    Cám ơn 2 bạn, mình đã sửa và chạy thành công nhưng khi chạy bao giờ nó cũng thiếu mất 1 giá trị. VD:
    cho n = 3 >> kq = 5 (đáng nhẽ là 6 vì S = 1 + 2 + 3)
    n= 10 >> kq = 54 (trong khi phải là 55)
    Nếu thay S = 1 ở phần đặt giá trị thì sẽ thành công. Giải thích cho mình chút được ko??? mình chưa hiểu lắm

  5. #5
    Ngày gia nhập
    02 2012
    Bài viết
    0

    Ah!! Cảm ơn 2 bạn, mình đã tìm ra lỗi , cám ơn sự giúp đỡ chân thành của 2 bạn

  6. #6
    Ngày gia nhập
    02 2012
    Bài viết
    0

    Mặc định [Sai thuật toán??] Bài toán tính tổng từ 1 tới n

    Đã giúp giúp cho trót, mong bạn chỉ cho mình thuật toán của bài:
    S= 1+ 1/2 + 1/3 + ... + 1/n
    Mình cám ơn

  7. #7
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    bàin này không khác nhiều so với bài bạn làm rồi. Tớ nghĩ bạn tự làm thì hay hơn. Chú ý: S lúc này phải là kiểu float/double. Lúc chia(1/n) ép kiểu của tử hoặc mẫu( vì nếu chia 2 số nguyên kết quả sẽ là số nguyên=>sai. Thế là ổn roài.
    Skype: mrfour.it - Yahoo:mrfour_it
    Gmail: mrfour.it@gmail.com
    Bạn muốn học lập trình? Bạn chưa có kiến thức cơ bản? Bạn muốn học từ cơ bản tới nâng cao?... Bạn muốn có source code để tham khảo? Muốn có người hỗ trợ khi học?....http://www.laptrinh123.com sẽ giúp bạn những điều đó!

  8. #8
    Ngày gia nhập
    02 2012
    Bài viết
    0

    Giờ này lên đọc bài của bạn thì tớ cũng làm xong từ chiều... Thật ra thuật toán và công thức thì cũng dễ suy nghĩ, cái tớ ko biết là lỗi do đặt giá trị ở int nên khi viết vào công thức 1 / (giá trị int) toàn bị báo lỗi ).
    Dù sao thì cũng cám ơn bạn nhiều :P

  9. #9
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    Thế thì càng tốt mà. Vì tự bạn làm ko cần sự trợ giúp sẽ thấy vui hơn đúng không.hihi
    Skype: mrfour.it - Yahoo:mrfour_it
    Gmail: mrfour.it@gmail.com
    Bạn muốn học lập trình? Bạn chưa có kiến thức cơ bản? Bạn muốn học từ cơ bản tới nâng cao?... Bạn muốn có source code để tham khảo? Muốn có người hỗ trợ khi học?....http://www.laptrinh123.com sẽ giúp bạn những điều đó!

  10. #10
    Ngày gia nhập
    12 2008
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    20

    Trích dẫn Nguyên bản được gửi bởi KjlluaZ Xem bài viết
    Visual C# Code:
    1.             for (i = 0; i <= n; i++)
    2.             {
    3.                 S = (i - 1) + i;   //<< Theo mình nghĩ là sai do cái này, nhưng mình chưa hiểu là do vòng lặp sai hay do công thức tính sai
    4.             }
    5. }
    Đề bài của bạn là S=1+2+3+...+n
    trong khi vòng lặp của bạn lại xuất phát từ i=0

    bạn phải sửa lại thành:
    Code:
    s=0;
    for(int i=0;i<n;i++)
    {
    s+=(i+1);
    }

Các đề tài tương tự

  1. Dịch thuật, công ty dịch thuật, dịch vụ dịch thuật chuyên nghiệp
    Gửi bởi vecvn trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 4
    Bài viết cuối: 18-11-2012, 10:44 PM
  2. Dịch vụ kế toán: Báo cáo thuế, dịch vụ tư vấn thuế, báo cáo thuế tncn vnnp
    Gửi bởi ecomvnnp01 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 1
    Bài viết cuối: 16-02-2012, 11:07 AM
  3. Bài tập C++ Viết chương trình nhập số lượng hàng hóa, giá cả, thuế, xuất ra tổng giá, thuế, tổng cộng
    Gửi bởi seit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 04-03-2011, 09:04 AM
  4. Hướng dẫn kê khai thuế thu nhập cá nhân, thuế doanh nghiệp 0903034381
    Gửi bởi thngxanhcty trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 19-05-2010, 02:33 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn