在C++中查詢給定長度的合數範圍
假設我們有一個數字n。我們必須找到正整數的範圍,其中該範圍內的所有數字都是合數,並且該範圍的長度為n。如果有多個範圍,則列印任意一個範圍。合數是指至少有一個除1和自身以外的因數的數。
由於範圍的長度是n,那麼如果第一個數字是a,則其他數字是a + 1,a + 2,…,a + n – 1,都應該是合數。如果我們看到x!,其中x是正整數,則x具有2、3、4、…、p – 1的因數。因此p! + i具有因數i,所以p! + i必須是合數。p! + 2,p! + 3,… p! + p – 1都是合數。所以範圍將是[p! + 2, p! + 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]
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP