Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

주어진 소수 가설을 반증하는 숫자를 찾는 C++ 코드

<시간/>

숫자 n이 있다고 가정합니다. "각 양의 정수 m에 대해 수(n·m + 1)는 소수라는 양의 정수 n이 존재한다"라는 가설이 있다고 가정합니다. 우리는 이 진술을 반증하기 위한 반례로서 그러한 m을 찾아야 합니다.

따라서 입력이 n =12와 같으면 출력은 10이 됩니다. 왜냐하면 12*10 + 1 =121은 소수가 아니기 때문입니다.

단계

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

if n < 3, then:
   return n + 2
Otherwise
   return n - 2

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#include <bits/stdc++.h>
using namespace std;
int solve(int n){
   if (n < 3)
      return n + 2;
   else
      return n - 2;
}
int main(){
   int n = 12;
   cout << solve(n) << endl;
}

입력

12

출력

10