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

Đề tài: Tính tổng các ước là nguyên tố của số n

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

    Mặc định Tính tổng các ước là nguyên tố của số n

    A e trong CĐCV giúp dùm e em không hiểu đoạn code của e bị lỗi gì,sao các số khác đều tính được chỉ mổi số 18,36 h0ăc các số là bội của 18 là đều cho kết quả sai...........a e xem chỉ giáo dùm e......
    Code:
    #include <iostream.h>
    #include <math.h>
    bool langt(int n)
    {   int t;
    	int i;
    	i = 2;
    	t = 1;
    	while (t = 1 && i < n)
    	{
    		if(n % i == 0)
    		{
    		return false;
    		t = 0;
    		}
    		else
    		return true;
    		i++;
    	}
    }
    bool lauoc(int n,int i)
    {
    	if(n % i == 0)
    		return true;
    		else
    		return false;
    }
    int main()
    {
    	int n;
    	int i;
    	int s;
    	cout <<"nhap n = ";
    	cin >> n;
    	s =0;
    	for(i = 2;i < n;i++)
    	{
    		if(langt(i) && lauoc(n,i))
    		s = s+i;
    	}
    	cout << "tong cac uoc ngt = "<<s;
    }
    Ví dụ như cho n= 24
    thì ước của 24 = 8,3,2,6,12,4
    và số nguyên tố là 3,2
    vậy tổng = 5;
    nhưng khi e nhập n = 18
    thì đáng lẽ tổng = 5
    nhưng sao nó lại = 14;
    a e giúp e dùm
    Đã được chỉnh sửa lần cuối bởi sung_bin : 03-03-2012 lúc 07:49 PM.

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

    Viết đoạn code này bậy quá
    C++ Code:
    1. bool langt(int n)
    2. {   int t;
    3.     int i;
    4.     i = 2;
    5.     t = 1;
    6.     while (t = 1 && i < n) // t==1 , thiếu 1 dấu = là bay luôn cả cái code . Cũng chả cần phải thêm cái t vào làm gì
    7.     { // Chỉ cần while(i<n) là đủ
    8.         if(n % i == 0)
    9.         {
    10.         return false;
    11.         t = 0; //Viết vào làm gì ? return rồi thì có thực hiện dc nữa đâu mà gán
    12.         }
    13.         else
    14.         return true; // Không được return ở đây, nếu else thì phải để cho i++ rồi chạy tiếp.
    15.         i++;
    16.     }
    17.     //return true phải được đặt ở cuối hàm. Tức là sau khi duyệt tòa bộ mà ko bị false thì tức là true
    18. }

    Còn cái hàm sosanh viết làm gì ? . Có cái toán tử a<b là nó thể hiện dc số nào lớn số nào bé rồi, viết làm gì nữa thế ?

    C++ Code:
    1. if(langt(i) && sosanh(i,n))
    2. //Cái chỗ này thêm vào cái sosanh(i,n) làm gì?
    3. //i thì chạy từ 2 đến <n , thì tức là mọi i đều <n rồi , còn mang vào so sánh gì nữa cho thừa ?

    Nhận xét: Bạn viết còn lung tung quá. Viết thừa những thứ vớ vẩn quá nhiều. Về vấn đề làm sao để viết được thuật toán thì bạn vẫn chưa nắm rõ.
    Đề nghị viết cái giải thuật/ý tưởng ra giấy. Nhìn đi nhìn lại, sửa lui sửa tới cho nó thỏa mãn đi cái đã rồi vào code sau. Đó là thói quen tốt
    Gặp bài toán mà chưa đặt ra dc giải thuật rõ ràng mà bắt tay vào code liền thì là thảm họa. Một thói quen xấu tệ
    Đã được chỉnh sửa lần cuối bởi clchicken : 03-03-2012 lúc 07:36 PM.
    Um Mani Padme Hum...!!

  3. #3
    Ngày gia nhập
    03 2012
    Bài viết
    3

    Trích dẫn Nguyên bản được gửi bởi clchicken Xem bài viết
    Viết đoạn code này bậy quá
    C++ Code:
    1. bool langt(int n)
    2. {   int t;
    3.     int i;
    4.     i = 2;
    5.     t = 1;
    6.     while (t = 1 && i < n) // t==1 , thiếu 1 dấu = là bay luôn cả cái code . Cũng chả cần phải thêm cái t vào làm gì
    7.     { // Chỉ cần while(i<n) là đủ
    8.         if(n % i == 0)
    9.         {
    10.         return false;
    11.         t = 0; //Viết vào làm gì ? return rồi thì có thực hiện dc nữa đâu mà gán
    12.         }
    13.         else
    14.         return true; // Không được return ở đây, nếu else thì phải để cho i++ rồi chạy tiếp.
    15.         i++;
    16.     }
    17.     //return true phải được đặt ở cuối hàm. Tức là sau khi duyệt tòa bộ mà ko bị false thì tức là true
    18. }

    Còn cái hàm sosanh viết làm gì ? . Có cái toán tử a<b là nó thể hiện dc số nào lớn số nào bé rồi, viết làm gì nữa thế ?

    C++ Code:
    1. if(langt(i) && sosanh(i,n))
    2. //Cái chỗ này thêm vào cái sosanh(i,n) làm gì?
    3. //i thì chạy từ 2 đến <n , thì tức là mọi i đều <n rồi , còn mang vào so sánh gì nữa cho thừa ?

    Nhận xét: Bạn viết còn lung tung quá. Viết thừa những thứ vớ vẩn quá nhiều. Về vấn đề làm sao để viết được thuật toán thì bạn vẫn chưa nắm rõ.
    Đề nghị viết cái giải thuật/ý tưởng ra giấy. Nhìn đi nhìn lại, sửa lui sửa tới cho nó thỏa mãn đi cái đã rồi vào code sau. Đó là thói quen tốt
    Gặp bài toán mà chưa đặt ra dc giải thuật rõ ràng mà bắt tay vào code liền thì là thảm họa. Một thói quen xấu tệ
    Thanks bạn clchicken ,bạn nói hay lắm nhờ bạn mà mình biết thêm mấy thứ quan trọng nữa,vì mình mới học chương trình con,thầy kô dạy gì cả chỉ bảo làm bài tập hơi còn hơi rối............thanks bạn nha.........lúc nảy mình gữi nhằm code bài khác

  4. #4
    Ngày gia nhập
    12 2009
    Nơi ở
    bế quan tu lại
    Bài viết
    846

    đừng bao giờ nhắc đến thầy/cô không dạy mà nên tự tìm hiểu vì thầy/cô không mấy ai chú ý đến mấy chi tiết nhỏ đó cho bạn đâu^^

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

    Trích dẫn Nguyên bản được gửi bởi aydada Xem bài viết
    đừng bao giờ nhắc đến thầy/cô không dạy mà nên tự tìm hiểu vì thầy/cô không mấy ai chú ý đến mấy chi tiết nhỏ đó cho bạn đâu^^
    ừ bởi vậy mấy chi tiết nhỏ mà nguy hiểm đến chết người.............thuật toán có thể nghĩ ra.......mà kiến thức lập trình có hạn ...........cũng bằng vô dụng

  6. #6
    Ngày gia nhập
    03 2012
    Nơi ở
    Hà Nội
    Bài viết
    1

    Mặc định Tính tổng các ước là nguyên tố của số n

    Mình cũng đã học C được 1 kỳ! nhưng thực ra kỳ trước chẳng học gì! Suốt ngày toàn chơi game! khi nào gần thì mới học! đúng là học lập trình mà học như thế là chết! kỳ này mình đã chăm chỉ học C hơn một chút và cũng đã biết hơn được một chút! về cái hàm mình cũng đã học rùi! và cũng lơ tơ mơ..... . rất càm ơn các thành viên luôn giúp các Gà giải đáp thắc măc! qua bài này t cũng hiểu thêm! Thanks

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

    Hic, bạn này code lung tung quá, cú pháp chưa vững

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

  1. Bài tập C giải thuật nhập vào số nguyên n in ra n số nguyên tố đầu tiên?
    Gửi bởi LTC trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 48
    Bài viết cuối: 25-04-2013, 07:40 PM
  2. Viết chương trình nhập số nguyên dương n, liệt kê n số nguyên tố đầu tiên.
    Gửi bởi maiit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 11
    Bài viết cuối: 19-06-2011, 01:05 PM
  3. Game Viết chương trình nhập số nguyên dương n, liệt kê n số nguyên tố đầu tiên trên C#?
    Gửi bởi maiit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 18
    Bài viết cuối: 08-06-2011, 11:12 PM
  4. Bài tập C++ chương trình đổi 1 số nguyên trong hệ thập phân sang hệ fibo và cộng 2 số nguyên được
    Gửi bởi nghiapro512 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 23-01-2011, 02:14 PM
  5. Lập trình C xin code cài đặt thuật toán sàng nguyên tố để liệt kê các số nguyên tố 2->480000
    Gửi bởi ngocdung_088 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 23
    Bài viết cuối: 06-12-2010, 11:53 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