http://codepad.org/33FW7DHO
Em run chỉ ra kết quả là 2 bất kể n.
Tính tổng các nguyên tố nhỏ hơn n (0<n<50) bị sai
Bạn nêu hướng làm rồi mọi người cùng phân tích được không nào.
MÌnh tạo biến dùng 2 vòng for lồng nhau đếm số ước. Nếu số ước =2 thì cộng thêm. Như link code bên trên ạ.
#include<stdio.h>
#include<math.h>
#include<conio.h>
int main()
{
int n,i,j,souoc=0,s=0;
do
{
printf("Nhap n:");scanf("%d",&n);
}
while(n<=0||n>=50);
for(i=2;i<n;i++)
{
for(j=1;j<=i;j++)
{
if(i%j==0)
souoc++;
}
if(souoc==2)
s=s+i;
}
printf("Tong cua cac SNT nho hon %d la: %d",n,s);
getch();
}
Biến souoc
nó cứ tăng lên hoài thì sao bằng 2 được. Bạn phải gán số ước bằng 0 sau mỗi lần lặp chứ
Đề là tổng các số nguyên tố nhỏ hơn n (0 < n < 50)
Chẳng có cái đề nào ghi sơ sài thế cả. Đã yêu cầu hướng dẫn giải đề thì phải ghi đầy đủ cái đề ra, hoặc phải biết cách tóm tắt. Ghi sơ sài thế này sẽ thiếu thông tin như:
-
n là gì?
-
Tổng các số nguyên tố nhỏ hơn n? Vậy là tính tổng à, tính xong rồi có in ra màn hình hay cái gì đó không?
Cho dù những thành viên trên DNH có thể hiểu được yêu cầu của đề mà bạn cho do đã giải bài tập nhiều nhưng việc cho đề bài thiếu thông tin thế này là không chấp nhận được. Cuối cùng là bạn đang yêu cầu hay nhờ gì? Sửa code hay giải bài tập?
Trích khoản 1.2.1 trong FAQ của DNH:
Các chủ đề có nội dung sau sẽ bị khóa khi được đăng lên DNH:
- …
- Chủ đề không rõ ràng, không thể đặt được tên bài viết tương ứng với nội dung.
…- Chủ đề là nhờ trợ giúp bài tập về nhà, bài thảo luận, hoặc một nhiệm vụ mà người tạo chủ đề phải tự mình hoàn thành.
Oops, em rất xin lỗi. Hứa lần sau sẽ chuyên nghiệp hơn!!
Cảm ơn bác, em đã nhìn ra