lệnh như này bị lặp fix sao các fen
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
n < 2
, chương trình cần thông báo rằng nó không phải là số nguyên tố.n
chia hết cho bất kỳ số nào từ 2
đến sqrt(n)
, thì nó không phải là số nguyên tố.sqrt(n)
thay vì n
: Không cần kiểm tra đến n-1
, chỉ cần đến sqrt(n)
.bool isPrime
: Giúp kiểm soát trạng thái kiểm tra số nguyên tố dễ dàng hơn.n < 2
: Giảm số lần tính toán không cần thiết.Hãy giúp mọi người biết câu trả lời này thế nào?
FurinaForcalos
→ Đoạn con dùng để kiểm tra số n được nhập vào từ bàn phím có phải là số nguyên tố hay không
→ Lý do code lỗi là vì ở mỗi lần kiểm tra, bạn in ra ngay lập tức nhưng code không dừng, biến i vẫn được răng do chưa sử dụng cách lệnh dừng như :
break; // dùng để dừng vòng lặp
return 0; // dùng để dừng cả chương trình
→ Code sau khi chỉnh sửa
/**
* author: furinaforcalos
* created: 14.03.2025
**/
#include <bits/stdc++.h>
#define hutao long long
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
hutao n;
cin>>n;
if(n<2)
{
cout<<n<<" khong la so nguyen to";
return 0;
}
for(hutao i=2;i*i<=n;i++)
{
if(n%i==0)
{
cout<<n<<" khong la so nguyen to";
return 0; // dung chuong trinh vi da kiem tra xong
}
if(n%i!=0)
{
continue;
//khong the khang dinh n la so nguyen to o day nen khong can dieu kien nay
}
}
cout<<n<<" la so nguyen to";
}
Hãy giúp mọi người biết câu trả lời này thế nào?
CÂU HỎI MỚI NHẤT
Giúp mình làm bài 7 nha
Giúp em câu 5 môn địa với, đúng sai