01/10/2018, 16:12
Đảo của số nguyên 7 chữ số là số nguyên tố?
bt:viết chương trình in ra số nguyên 7 chữ số sao cho đảo của nó là số nguyên tố?? c++
mình viết hàm thế này:
int dsnt()
{
int i,j,a,k,cou=0,dem=0,sum=0;
for (i=1000000;i<=9999999;i++)
{
j=i;
while (j>0)
{
a=j%10;
sum++;
if (sum==1){dem=dem+a*1000000;}
if (sum==2){dem=dem+a*100000;}
if (sum==3){dem=dem+a*10000;}
if (sum==4){dem=dem+a*1000;}
if (sum==5){dem=dem+a*100;}
if (sum==6){dem=dem+a*10;}
if (sum==7){dem=dem+a*1;}
j=j/10;
}
for (k=2;k<=sum;k++)
{
if (sum%k==0){cou=cou+k;}
}
if (cou==sum){cout << i << endl;}
}
}
nhưng không hiểu sao kết quả nó in ra sai???
mn giúp mình chỉ ra lỗi sai vs??? cảm ơn!
Bài liên quan
Ngay từ phần đảo số đã là không đúng, vì
sum
tăng không ngừng, vả lại thường người ta sẽ không viết như vậy mà dùng Horner.cảm ơn bạn !
… bởi vì cho thẳng số vào vừa không tổng quát mà vừa dài dòng nữa.
uhm, tại mình chưa biết dùng Horner, (mới học mấy tuần thôi), để thử dùng cách đó xem, cảm ơn b nhiều!
Bạn làm khổ sở quá.
Bạn có thể nghĩ đến việc chạy 1 loạt số nguyên tố (có thể dùng sàng), rồi lật ngược số đó, xem số lật ngược có phải là số có 7 chữ số hợp lệ không.
Đúng vậy, số nguyên tố không thể tận cùng bằng 0 nên cứ vô tư đi.
cảm ơn bạn!..