Đề: Tìm các số < 1000 thỏa mãn: khi phân tích số đó thành tích các số nguyên tố rồi cộng các số nguyên tố vừa phân tích ta lại được một số nguyên tố.
VD: 12 = 322
3+2+2=7 (thỏa mãn)
Em code, nhưng chạy nó chỉ hiện ra mỗi số 1. Mọi người tìm hộ e lỗi sai với ạ. 
http://codepaste.net/teed4y
Bài toán số nguyên tố
1 Like
Bài của mình
#include<iostream>
using namespace std;
const int len=1000;
int so_nguyen_to(int a);
int main()
{
int i,j,n;
int s=0;
for(i=2; i<len; ++i)
{
n=i;
for(j=2; j<=i;)
{
if(i % j == 0)
{
i=i/j;
s+=j;
}
else
j++;
}
if(so_nguyen_to(s))
cout << n << "(s = " << s << ")" << " ";
i=n;
s=0;
}
}
int so_nguyen_to(int a)
{
int i;
for ( i = 2; i < a ; i++ )
if(a % i == 0)
return 0;
return 1;
}
2 Likes
Mình chưa đọc nội dung nhưng nhìn qua thấy bạn để system("pause"); sau return thì làm sao nó pause console lại cho bạn nhìn kết quả được.
2 Likes
Bài của mình cho cái output
có cả số 4, thử mấy cái dưới thì thỏa mãn hết. tìm k ra lỗi sai luôn. 

T tìm ra lỗi sai rồi. cảm ơn mọi người nhé. :))
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?