Trang 1 / 7 12346 ... LastLast
Hiển thị kết quả từ 1 đến 10 / 65
  1. #1
    Tham gia
    28-11-2010
    Bài viết
    27
    Like
    6
    Thanked 6 Times in 6 Posts

    Phân tích N thành tổng các số chính phương

    Cho số tự nhiên N (N≤60000). Phân tích N thành tổng các số chính phương nhỏ dần sao cho số các số hạng là ít nhất.
    Ví dụ: 30=5^2+2^2+1^2.
    Được sửa bởi dongbo lúc 22:37 ngày 02-08-2011
    Quote Quote

  2. #2
    Tham gia
    28-11-2010
    Bài viết
    27
    Like
    6
    Thanked 6 Times in 6 Posts
    Hic Không có ai giúp em bài này sao?

  3. #3
    Tham gia
    04-08-2009
    Bài viết
    84
    Like
    8
    Thanked 7 Times in 7 Posts
    Mình mới nghĩ ra ý này:

    Bạn lấy phần nguyên căn của nó, rồi từ đó
    sử dụng QHĐ để tính tổng S nha.

  4. #4
    Tham gia
    14-07-2011
    Bài viết
    179
    Like
    3
    Thanked 83 Times in 68 Posts
    Cách của bạn xuperman cũng hay đó

  5. #5
    Tham gia
    29-05-2011
    Location
    Hà Nội
    Bài viết
    1,826
    Like
    1,420
    Thanked 47 Times in 42 Posts
    Quote Được gửi bởi Farmer_Boy View Post
    Cách của bạn xuperman cũng hay đó
    Ừ, bài này dùng QHD cũng khá hay !

  6. #6
    Tham gia
    14-07-2011
    Bài viết
    179
    Like
    3
    Thanked 83 Times in 68 Posts
    Mình làm như vầy đây, có sai sót gì thì nói nhé:

    Code:
    program phantich;
    uses crt;
    var
      n,k,l:longint;
      i:byte;
      s:string;
    begin
      clrscr;
      repeat
        write('-Nhap so n (n>=0): ');
        readln(n);
        k:=n;
        write(n,' = ');
        if ((n<4) and (n>0)) then
          for i:=1 to n do
            if i=n then writeln('1^2')
              else write('1^2 + ')
        else if n=0 then writeln('0^2')
        else while k<>0 do
          begin
            l:=k;
            l:=trunc(sqrt(l));
            k:=k-sqr(l);
            if k=0 then writeln(l,'^2')
              else write(l,'^2 + ');
            if k<4 then
              for i:=1 to k do
                if i=k then begin
                  writeln('1^2');
                  k:=0;
                end
                else write('1^2 + ')
          end;
        write('-Co muon nhap lai khong (C/K): ');
        readln(s);
        writeln;
      until upcase(s)='K';
      writeln('-Nhan Enter de thoat');
      readln
    end.

  7. 3 thành viên Like bài viết này:


  8. #7
    Tham gia
    14-07-2011
    Bài viết
    179
    Like
    3
    Thanked 83 Times in 68 Posts
    Bài này dùng file chắc sẽ tốt hơn, nhưng mà mình lỡ làm rồi

  9. #8
    Tham gia
    29-05-2011
    Location
    Hà Nội
    Bài viết
    1,826
    Like
    1,420
    Thanked 47 Times in 42 Posts
    Quote Được gửi bởi Farmer_Boy View Post
    Bài này dùng file chắc sẽ tốt hơn, nhưng mà mình lỡ làm rồi
    Đâu cần hả bạn, đề bài đâu có yêu cầu làm vào file đâu ?

  10. #9
    Tham gia
    14-07-2011
    Bài viết
    179
    Like
    3
    Thanked 83 Times in 68 Posts
    Mình đã làm ở trên rồi, cho ý kiến nhé

  11. #10
    Tham gia
    29-05-2011
    Location
    Hà Nội
    Bài viết
    1,826
    Like
    1,420
    Thanked 47 Times in 42 Posts
    Quote Được gửi bởi Farmer_Boy View Post
    Mình đã làm ở trên rồi, cho ý kiến nhé
    Mình đã test, cách làm khá hay

Trang 1 / 7 12346 ... LastLast

Bookmarks

Quy định

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