소수를 테스트하는 C++ 알고리즘을 작성하십시오.C++을 사용하여 정수의 소수성 찾기
#include<iostream>
#include<cmath>
using namespace std;
int x,n;
bool isprime(int);
int main()
{
cout<<"Enter prime no"<<endl;
cin>>x;
for (n=2;n<=floor(sqrt(x));n++)
{
if (x==1)
cout<<"not prime"<<endl;
else if (x%n==0)
cout<<"is not prime"<<endl;
else
cout<<"prime"<<endl;
}
}
를 다음과 같이 내 C++ 코드는하지만 난이 programn을 실행할 때 내 출력 난 점점 계속 예를 들어 잘 보이지 않는다 대답은 명확 때입니다 prime.The 없다 "소수"
else if (x%n==0)
cout<<"is not prime"<<endl;
성명의
부분이 제대로 excuteded 것으로 보인다. 아무도 내 코드를 잘못 설명해 줄 수 있습니까? 감사합니다
디버거를 사용하지 않았다면 지금 방법을 배워야합니다. 디버거를 사용하면 변수와 변수의 값을 모니터링하면서 코드를 단계별로 실행하고 변수가 어떻게 변하는 지 확인할 수 있습니다. 이렇게하면 문제를 꽤 빨리 발견 할 수 있습니다. –
'for' 루프의 첫 번째 반복 과정에서 결정을 내리고 있습니다. 정수가 소수인지 확인하려면 전체 루프를 실행해야합니다. 더 나은 비주얼 코드 흐름을 얻으려면 서식을 수정해야합니다. – IInspectable
'x = 9' .'x'는'n = 2'로 나눌 수 없습니다. 그럼 당신은 소수로 출력 할 것입니다. 지금까지는'n = 3'을 확인하지 않았습니다. 힌트 : 모든 제수를 확인하고 그것이 소수인지 여부를 결정할 수 있습니다. –