01/10/2018, 17:39
Code in số nguyên tố không in ra giá trị nào
#include <iostream>
#include<math.h>
using namespace std;
//so nguyen to prime
int prime(int n){
int a=0,b=0,i=0;
while(i<sqrt(n)){
if(n%i==0){
a=1;//khong la so nguyen to
}
else {b=1;}//la so nguyen to
i++;}
if ((a==1)&&(b==0))
cout<<"n is not a prime";
if((a==1)&&(b==1))
cout<<"n is not a prime";
if((a==0)&&(b==1))
cout<<"n is a prime";
}
int main(){
int n;
cout<<"enter n: ";
cin>>n;
prime(n);
return 0;
}
em làm như thế này để xem n có phải là số nguyên tố không , không hiểu em làm sai ở đâu mà nó chạy vẫn dc nhưng khi nhập n xong thì nó không trả về giá trị nào
Bài liên quan
< 2
thìreturn false
<= sqrt(n)
, thử số 9 thì biết.Bạn tham khảo code này nhé
Code của bạn gặp phải lỗi chia cho 0 nên chương trình bị crash ngay lập tức từ vòng lặp đầu tiên khi i = 0.
Trong hàm prime() bạn có thể thực hiện các bước sau: