Announcement

Collapse
No announcement yet.

Phân tích số N thành tổng của các số tự nhiên liên tiếp,liệt kê tất cả các cách có th

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Phân tích số N thành tổng của các số tự nhiên liên tiếp,liệt kê tất cả các cách có th

    Em mới đào được bài này nè: Phân tích số N thành tổng của các số tự nhiên liên tiếp,liệt kê tất cả các cách có thể có.
    VD: N=9 thì có 2 cách
    2+3+4
    4+5
    Nếu bạn không đủ giỏi, đừng cố đi ngược đám đông.

  • #2
    Giới hạn N và thời gian bao nhiêu vậy em do lot.
    Last edited by 08520001; 18-04-2015, 23:18.

    Comment


    • #3
      N nhập từ bàn phím anh à. Time ko giới hạn. Ủa mà sao ra topic riêng rùi ??
      Nếu bạn không đủ giỏi, đừng cố đi ngược đám đông.

      Comment


      • #4
        Originally posted by 11520126 View Post
        N nhập từ bàn phím anh à. Time ko giới hạn. Ủa mà sao ra topic riêng rùi ??
        Admin hay mod move ra chứ còn sao nữa. Mà N nhập từ bàn phím là nhập số có giá trị bao nhiêu? Anh cứ đè phím số 9 trên bàn phím trong vòng 7 nốt nhạc là nó ra cũng khủng lắm đó.

        Comment


        • #5
          thì anh cứ nhập đại thui, làm vui thui mà, có phải thi Olympic đâu anh @@!
          Nếu bạn không đủ giỏi, đừng cố đi ngược đám đông.

          Comment


          • #6
            Originally posted by 11520126 View Post
            thì anh cứ nhập đại thui, làm vui thui mà, có phải thi Olympic đâu anh @@!
            Thì thằng Cao Văn An nó hỏi mà em không hiểu nên anh hỏi lại giùm nó thôi. Chứ anh chả quan tâm, anh làm được tới số mấy anh làm đề quy định kệ nó =))

            Comment


            • #7
              Hi. Thường thì mỗi đề đều phải có giới hạn. Vì tùy vào giới hạn của đề mà có thuật toán tương ứng để giải hết giới hạn đó. Nếu ko ghi giới hạn thì giống như đề chưa hoàn chỉnh vậy ah. Anh có lập các topic, em có thể nghiên cứu thử xem quan ao tre em
              Last edited by 08520001; 18-04-2015, 23:18.

              Comment


              • #8
                a + (a + 1) + (a + 2) + ... + (a + b)
                = (b + 1) * a + (1 + 2 + ... + b)
                = (b + 1) * a + b * (b + 1) / 2
                = (b + 1) * (a + b/2)

                Cho 2 vòng for, 1 chạy a, 1 chạy b, nếu tích trên bằng n thì xuất ra dãy số từ a đến a + b.

                Ví dụ, với n = 9 thì có 2 trường hợp:
                a = 2, b = 2
                hoặc
                a = 4, b = 1

                Comment


                • #9
                  Mình đề nghị bài này giới hạn N <= 10^9 và thời gian là 1s. Mình nghĩ vậy sẽ khoa học hơn quan ao nam
                  Last edited by 08520001; 18-04-2015, 23:18.

                  Comment


                  • #10
                    Đồng ý với bạn An.

                    Comment


                    • #11
                      Xin phép post một đề cho các bạn tham khảo :
                      Cho số nguyên dương N. Hãy cho biết có thể phân tích N thành tổng các số tự nhiên liên tiếp hay không? Nếu có hãy phân tích N thành tổng của các số tự nhiên liên tiếp với nhiều số hạng nhất có thể được.
                      Dữ liệu vào: cho trong File PTICH.INP gồm một số dòng, mỗi dòng ghi một số nguyên dương N (N <= 10^9)
                      Kết quả: ghi ra file PTICH.OUT theo cấu trúc sau:
                      + Nếu N phân tích được thành tổng các số tự nhiên liên tiếp thì ghi chữ d sau đó là các số hạng trong cách phân tích đó, các số hạng ghi cách nhau một dấu cách, mỗi dòng ghi không quá 25 số.
                      + Nếu N không phân tích được thì chỉ ghi chữ k.
                      Ví dụ:

                      PTICH.INP
                      12
                      8
                      PTICH.OUT
                      d: 3 4 5
                      k

                      Comment


                      • #12
                        Originally posted by 07520352 View Post
                        a + (a + 1) + (a + 2) + ... + (a + b)
                        = (b + 1) * a + (1 + 2 + ... + b)
                        = (b + 1) * a + b * (b + 1) / 2
                        = (b + 1) * (a + b/2)

                        Cho 2 vòng for, 1 chạy a, 1 chạy b, nếu tích trên bằng n thì xuất ra dãy số từ a đến a + b.

                        Ví dụ, với n = 9 thì có 2 trường hợp:
                        a = 2, b = 2
                        hoặc
                        a = 4, b = 1
                        Thanks anh, giờ em mới hiểu bài này, em có cái đáp án mà ghi công thức gì á, ngẫm hoài ko hiểu, cách này có vẻ dễ hiểu hơn.
                        Code:
                        uses crt;
                        var n:longint; a,
                        i,m,dem,max:integer;
                        
                        begin
                        clrscr;
                        Write('Nhap N = ');readln(n);
                        max:=trunc(sqrt(N*8+1)+1) div 2;
                        dem:=0;
                        For i:=2 to max-1 do
                        
                         If ((N-i*(i-1)div 2) mod i = 0) then
                          begin
                          A:=(N-i*(i-1)div 2) div i;
                          inc(dem);
                          Writeln('Cach thu ',dem);
                          For m:=a to a+i-1 do
                           write(' ',m);
                           writeln;
                          end;
                        
                        
                        readln;
                        end.
                        Last edited by 11520126; 25-10-2011, 21:13. Reason: sr, em nhầm giới tính của anh Thương ^^!
                        Nếu bạn không đủ giỏi, đừng cố đi ngược đám đông.

                        Comment


                        • #13
                          Originally posted by 11520126 View Post
                          Thanks chị, giờ em mới hiểu bài này, em có cái đáp án mà ghi công thức gì á, ngẫm hoài ko hiểu, cách này có vẻ dễ hiểu hơn.
                          =)) chào chị Thương
                          Amat Victoria Curam.

                          ------
                          Ping me at me@toan.mobi

                          Comment


                          • #14
                            Originally posted by 08520604 View Post
                            =)) chào chị Thương
                            Hở ???? em nhầm chỗ nào hả ????
                            Nếu bạn không đủ giỏi, đừng cố đi ngược đám đông.

                            Comment


                            • #15
                              Originally posted by 08520001 View Post
                              Mình đề nghị bài này giới hạn N <= 10^9 và thời gian là 1s. Mình nghĩ vậy sẽ khoa học hơn
                              Originally posted by 11520126 View Post
                              Thanks chị, giờ em mới hiểu bài này, em có cái đáp án mà ghi công thức gì á, ngẫm hoài ko hiểu, cách này có vẻ dễ hiểu hơn.
                              Code:
                              uses crt;
                              var n:longint; a,
                              i,m,dem,max:integer;
                              
                              begin
                              clrscr;
                              Write('Nhap N = ');readln(n);
                              max:=trunc(sqrt(N*8+1)+1) div 2;
                              dem:=0;
                              For i:=2 to max-1 do
                              
                               If ((N-i*(i-1)div 2) mod i = 0) then
                                begin
                                A:=(N-i*(i-1)div 2) div i;
                                inc(dem);
                                Writeln('Cach thu ',dem);
                                For m:=a to a+i-1 do
                                 write(' ',m);
                                 writeln;
                                end;
                              
                              
                              readln;
                              end.
                              Thử với cái giới hạn trên kia chưa

                              Comment

                              LHQC

                              Collapse
                              Working...
                              X