C ++でNまでの代替素数?
ここでは、Nまでのすべての代替素数を出力する方法を説明します。代替素数は次のようになります。 N =15と仮定します。したがって、Nまでの素数は{2、3、5、7、11、13}です。代替素数は{2、5、11}です。この問題をどのように解決できるか見てみましょう。
アルゴリズム
printAlternatePrime(N)
Begin define one Boolean array prime of size N + 1, and fill with 1. for p := 2, p^2 is less than N, increase p by 1, do if prime[p] is true, then for all multiples of p, make the position 0 in prime array end if done set the flag for p := 2 to n, do if prime[p] is true, then if flag is set, then print p, and reset the flag else set the flag end if end if done End
例
#include<iostream> using namespace std; void printAlternatePrime(int n) { bool prime[n + 1]; for(int i = 0; i<=n; i++) { prime[i] = true; } for (int p = 2; p * p <= n; p++) { if (prime[p]) { for (int i = p * 2; i <= n; i += p) //all multiples will be false prime[i] = false; } } bool prime_flag = true; for (int p = 2; p <= n; p++) { if (prime[p]) { if (prime_flag) { cout << p << " "; prime_flag = false; } else { prime_flag = true; //set to print next prime } } } } main() { int n; cout << "Enter upper limit: "; cin >> n; cout << "Alternate prime numbers are: "; printAlternatePrime(n); }
出力
Enter upper limit: 20 Alternate prime numbers are: 2 5 11 17
-
C++のリンクリストの代替ノードの合計
この問題では、リンクリストが表示されます。私たちのタスクは、リンクリストの代替ノードの合計を出力することです。 リンクリストは、リンクを介して相互に接続された一連のデータ構造です。 では、問題に戻りましょう。ここでは、リンクリストの代替ノードを追加します。これは、ノードが位置0、2、4、6、…であることを追加することを意味します 問題を理解するために例を見てみましょう。 入力 4 → 12 → 10 → 76 → 9 → 26 → 1 出力 24 説明 considering alternate strings
-
C++での代替フィボナッチ数
フィボナッチ数 は、2つの固定数、通常は o、1で始まる数列として定義されます。 または1、1 シーケンスの連続する要素は、シーケンスの前の2つの番号の合計です。 たとえば、8要素までのフィボナッチ数列は0、1、1、2、3、5、8、13、21、34、55、89です。 それでは、このシリーズを一般化してみましょう。ここで、n番目の項の値は(n-1)番目と(n-2)番目の項の合計に等しくなります。それでは、フィボナッチ数列のn番目の項の式の数学的導出を取得しましょう。 T n =T n-1 + T n-2 この式を使用してフィボナッチ数列の第5項を見つけると、第3項と第4項