Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Giúp mình hiểu một lát C căn bản

  1. #1
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội
    Bài viết
    0

    Mặc định Giúp mình hiểu một lát C căn bản

    giúp mình một tí
    đề bài là Viết chương trình tìm số thú vị trong khoảng từ 1 - 3000

    1 số thú vị là một số có tính chất : tổng của tất cả các ước số thực sự của nó thì bằng chính nó.
    Code:
    #include<stdio.h>
    #include<conio.h>
    void main(void)
    {
    int i,tong, dem,j;
    dem = 0;
    for(i = 0; i<3000; i++)
     {
        tong = 0;
          for(j = 1; j<i; j++) 
             if(i%j==0) tong += j;
                 if(tong == i)
                   printf("\n số thú vị thứ %d la f %d",++dem,i);
      }
      getch();
    }
    kết quả là : sô 1 là : 0 // mình không hiểu tại sao lại là số 0 và số 6 
                    số 2 là : 6
                    số 3 là : 28
                    số 4 là : 496
    trong lần lặp đầu tiên i = 0 thực hiện câu lệnh trong vòng lặp
     nhưng tới vòng lặp tiếp theo j = 1 > 0 thoát khỏi vòng lặp
     quay lại vòng lặp đầu ... i = 2 j = 1 thỏa mãn thực hiện
     thì tổng  = 1 nhưng ko thỏa mãn tong = i quay lại 
    vòng lặp thứ 1 ... mình ko hiểu tại sao lại ra 0 va 6 ...  
    help me... 
    }
    Đã được chỉnh sửa lần cuối bởi tronglu09 : 23-02-2012 lúc 08:42 PM.

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

    Ờ, biết viết ra giấy thế là tốt. Nhưng viết thiếu.
    0 là vì ? Vòng lặp j phía trong ko chạy .
    Cho nên tong vẫn = 0 , như đã khởi gán. Vậy rõ ràng tong==i (cùng == 0) -> Nó xuất ra
    6 là vì sao? Vì cái vòng lặp for tính luôn cả ước là 1, 1 luôn là ước của mọi số. Cho nên
    1+ 2 + 3 = 6 OK nó xuất ra dc chưa ?
    Lần sau viết ra giấy cho đầy đủ, ko bỏ bước. Thì sẽ tự trả lời dc
    _______----
    Cần phải làm rõ khái niệm : ƯỚC THẬT SỰ
    Là ước như nào ? Có bao gồm cả 1 không ?
    Nếu ước thự sự ko gồm số 1 thì cần cho vòng j chạy từ 2 trở đi.
    Còn nếu nó tính luôn số 1 thì như vậy là đúng rồi. Ko có gì mà phải bứt óc bứt tai làm chi nữa
    Um Mani Padme Hum...!!

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

  1. Code kiểm tra xem số đó có chia hết cho 2 và các bài tập căn bản. Giúp mình kiểm tra code?
    Gửi bởi JaKunKa trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 19
    Bài viết cuối: 05-12-2014, 07:48 PM
  2. Giúp em làm 2 bài tập java căn bản
    Gửi bởi kinhthikute trong diễn đàn Nhập môn lập trình Java
    Trả lời: 1
    Bài viết cuối: 15-03-2013, 10:35 AM
  3. Lập trình C++ Giúp em xài hàm căn bậc 2 sqrt trong C++ với
    Gửi bởi boymafia1993 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 02-03-2013, 02:48 AM
  4. Chính chủ bán căn hộ chung cư xala CT8C căn số 02 và căn số 30
    Gửi bởi nguyenhabds 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: 25-08-2012, 10:42 AM
  5. Giúp tìm lỗi bài căn bậc hai này
    Gửi bởi long221091 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 25-04-2010, 03:43 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