숫자 n이 있다고 가정합니다. 범위의 모든 숫자가 합성이고 범위의 길이가 n인 양의 정수 범위를 찾아야 합니다. 범위가 두 개 이상인 경우 하나의 범위를 인쇄합니다. 합성수는 1과 자기 자신 이외의 약수가 하나 이상 있는 수입니다.
범위의 길이가 n이므로 첫 번째 숫자가 a이면 다른 숫자는 a + 1, a + 2, …, a + n – 1이며 모두 합성이어야 합니다. 여기서 x가 양의 정수인 경우 x는 2, 3, 4, …, p – 1의 인수를 갖습니다. 그래서 p! + 나는 요인 i를 가지고 있으므로 p! + 나는 합성이어야 한다. 피! + 2, 피! + 3, ... 피! + p – 1은 모두 합성입니다. 따라서 범위는 [p! + 2, 피! + p – 1]
예시
#include<iostream> using namespace std; int fact (int n) { if (n == 0) return 1; return n * fact(n-1); } void showRange(int n) { int a = fact(n + 2) + 2; int b = a + n - 1; cout << "[" << a << ", " << b << "]"; } int main() { int n = 3 ; showRange(n); }
출력
[122, 124]