C++

 Computer >> コンピューター >  >> プログラミング >> C++
  1. C++でHCF(最大公約数)を反復処理で求めるプログラム

    この記事では、C++を使ってHCF(最大公約数)を反復処理(ループ)で求めるプログラムについて解説します。HCF(Highest Common Factor:最大公約数)とは、2つ以上の整数に共通する約数の中で最も大きいものを指します。ここでは、2つの整数が与えられたとき、再帰呼び出しを使わずに反復的な関数でHCFを計算することを目標とします。アルゴリズムの考え方この手法では、減算を繰り返すことでHCFを求めます。具体的な手順は以下の通りです。2つの数 a と b の大小を比較します。a が b より大きければ、a から b を引きます。b が a より大きければ、b から a を引きます。a

  2. C++で入力された文字が母音か子音かを判定する方法

    このチュートリアルでは、C++を使って「ある文字が母音なのか、それとも子音なのか」を判定するプログラムの作り方を解説します。 英語における母音は a、e、i、o、u の5つです。プログラムでは、与えられた1文字がこれらのいずれかに該当する場合は「母音(Vowel)」と出力し、それ以外の場合は「子音(Consonant)」と出力します。 実装例 以下のコードでは、判定処理を関数 is_vowel() として切り出し、引数で受け取った文字を比較することで母音かどうかをチェックしています。 #include <iostream> using namespace std; // 文字が母

  3. C++で配列の中から最大の要素を見つける方法【初心者向け解説】

    このチュートリアルでは、C++を使って配列内の最大の要素を見つけるプログラムについて解説します。 ここでの課題は、あらかじめ与えられた配列の中から、最も大きい数値を取り出すことです。配列の走査(トラバース)はデータ構造操作の基本であり、検索やソートなど、さまざまなアルゴリズムの土台となる重要なテクニックなので、しっかり理解しておきましょう。 アルゴリズムの考え方 最大値を見つける手順はとてもシンプルで、以下のように進めます。 配列の最初の要素を仮の最大値として変数に格納する。 2番目以降の要素を順番に取り出し、現在の最大値と比較する。 比較対象の要素が現在の最大値より大きければ、その値で最大

  4. C++でn番目のフィボナッチ数の下一桁を求めるプログラム

    この記事では、与えられた整数Nに対して、N番目のフィボナッチ数の下一桁(最後の桁)をC++で効率的に求める方法を解説します。問題の説明N番目のフィボナッチ数の最後の桁、すなわち最下位桁(LSB)を求めることが課題です。具体例で問題を確認してみましょう。入力: N = 120出力: 1解決アプローチ最も単純な解法は、フィボナッチ数の一般項を直接計算する方法ですが、Nが非常に大きな数になった場合には、桁あふれや計算量の観点から現実的ではありません。そこで活躍するのが、フィボナッチ数列の重要な性質です。それは「下一桁は60項ごとに同じパターンで繰り返す」というものです。例えば、75番目の項の下一桁と

  5. C++で2のN乗(2^N)の下2桁を求めるプログラム

    この記事では、数値Nが与えられたときに、C++で2のN乗(2^N)の下2桁を求めるプログラムの作成方法を解説します。 問題の概要 下2桁を求める際のポイントは、計算の過程で下2桁だけを保持し、それ以外の桁は無視することです。これにより計算量を大幅に抑えることができます。 具体例で問題を確認しましょう。 入力: N = 12 出力: 96 解説 2^12 = 4096 なので、その下2桁は「96」となります。 解法アプローチ①:素直な計算方法 最もシンプルな方法は、まず2^Nの値をそのまま計算し、その結果を100で割った余りを求めることです。剰余演算(%100)を取ることで、自然と下2桁が得られ

  6. C++で2つのフィボナッチ数の最小公倍数(LCM)を求めるプログラム

    はじめに この記事では、2つの整数 N と M が与えられたときに、N番目とM番目のフィボナッチ数を求め、その最小公倍数(LCM:Least Common Multiple)を計算するC++プログラムの作成方法を解説します。 問題の説明 まず N 番目と M 番目のフィボナッチ数をそれぞれ求めます。続いて、その2つの数値の最小公倍数を計算し、結果として返します。 フィボナッチ数とは フィボナッチ数とは、最初の2項が 0 と 1 で構成され、以降は「直前の2つの数の和」が順に並んでいく数列です。 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,

  7. C++でN番目のフィボナッチ数の下2桁を求めるプログラム

    この記事では、数値Nが与えられたときに、N番目のフィボナッチ数の下2桁(最下位2桁)を求めるC++プログラムを紹介します。 問題の概要 N番目のフィボナッチ数について、その下2桁を求めるのが課題です。具体的な例を見てみましょう。 入力:N = 120 出力:81 解法のアプローチ 最も単純な方法は、フィボナッチ数の一般式(ビネの公式)を使ってN番目の項を直接計算することです。しかし、Nが非常に大きい数になると、この方法はオーバーフローや精度の問題で現実的ではありません。 そこで役立つのが、フィボナッチ数列の重要な性質です。フィボナッチ数の下2桁は300項ごとに同じ並びが繰り返されるというもの

  8. 【C++】列車の速度と長さから橋の長さを求めるプログラムの作成方法

    この問題では、列車の長さ(L)と速度(S)、さらに橋を通過するのにかかった時間(T)が与えられます。これらの情報をもとに、C++で橋の長さを求めるプログラムを作成するのが課題です。問題の概要列車の速度、橋を渡り切るまでにかかった時間、そして列車そのものの長さという3つの情報から、橋の長さを計算して求める必要があります。具体例で問題を確認してみましょう。入力: L = 310(列車の長さ)、S = 45 m/秒(速度)、T = 12秒(通過時間)出力: 230 m解き方のアプローチ列車は速度Sで走行し、橋を完全に通過するまでにT秒かかります。ここでの「通過時間」とは、列車の先頭が橋に乗った瞬間か

  9. C++で数列 1, 2, 11, 12, 21… のN番目の項を求めるプログラム

    この問題では、数値 N が与えられ、C++を用いて数列 1, 2, 11, 12, 21… のN番目の項を求めるプログラムを作成します。 問題の概要 次の数列のN番目の項を求めます。 1, 2, 11, 12, 21, 22, 111, 112, …(第N項まで) この数列には一定のパターンが隠されており、それをもとに一般項を導き出す必要があります。 具体例を見てみましょう。 入力 N = 8 出力 112 解法のアプローチ 一般項を導くためには、まず数列を注意深く観察することが重要です。この数列には次のような特徴があります。 すべての項が「1」と「2」のみで構成されている。 各項の末尾の

  10. C++で2点を通る直線の方程式を求めるプログラムの作成方法

    この記事では、座標平面上の2点AとBの座標が与えられたとき、その2点を通る直線の方程式を求めるC++プログラムの作成方法を解説します。問題の概要直線を求めるには、直線の方程式を利用し、与えられた座標を代入して解を導く必要があります。例を使って問題を確認しましょう−入力: A = (3, 3)、B = (6, 1)出力: 2x + 3y = 15解き方のアプローチ直線の方程式を求めるには、直線の一般形を使用します。ax + by = cこの式は、2点 A(x1, y1) と B(x2, y2) の両方を満たす必要があります。すると、次の2つの連立方程式が得られます。ax1 + by1 = cax

  11. 【C++】出席率75%を維持するために必要な最小講義数を求めるプログラム

    はじめに この問題では、これまでに開講された講義の総数を表す M と、学生がすでに出席した講義の回数を表す N の2つの数値が与えられます。求めるのは、C++で出席率75%を維持するために、今後最低限出席すべき講義の回数です。 問題の概要 大学生活において、出席率75%の維持は多くの学生にとって切実な関心事の一つです。本プログラムは、出席率75%を達成するために、学生が今後ために、学生が今後継続的に出席しなければならない講義の最小回数を計算します。 具体例を使って問題を確認してみましょう。 例1 入力: M = 32、N = 20 出力: 16 解説: 出席率75%以上を達成するには、最低

  12. C++で数列a、b、b、c、c、cのN番目の項を求めるプログラム

    この問題では、数Nが与えられます。私たちのタスクは、C++で数列a、b、b、c、c、c…のN番目の項を求めるプログラムを作成することです。問題の説明次の数列のN番目の項を求めます。a、b、b、c、c、c、d、d、d、d、....(全N項)そのためには、この数列の一般項を見つける必要があります。具体例を使って問題を理解しましょう。入力:N = 7出力:d解法アプローチ数列の一般項を求めるには、まず数列を注意深く観察する必要があります。この数列は「a」が1個、「b」が2個、「c」が3個、「d」が4個…というように、同じ文字が増えていきながら繰り返される構成になっています。これは初項aと公差dがどち

  13. C++で指定された数列のN番目の項を求めるプログラム

    この問題では、数値 N が与えられ、指定された数列のN番目の項を求めるプログラムをC++で作成します。 問題の説明 次の数列のN番目の項を求めます。 1, 1, 2, 3, 4, 9, 8, 27, 16, 81, 32, 243, 64, 729, 128, 2187, 256, ... (N項まで) まずは、この数列の一般項(規則性)を見つけるところから始めます。 具体例で問題を確認してみましょう。 例1 入力: N = 6 出力: 9 例2 入力: N = 13 出力: 64 解法のアプローチ この問題を解くには、まず数列を注意深く観察する必要があります。この数列は複数の規則が混ざった「

  14. C++でAまたはBのいずれかで割り切れるN番目の項を求めるプログラム

    この問題では、3つの整数 A、B、N が与えられます。求めるのは、「A または B のいずれかで割り切れる数」を小さい順に並べた数列の N 番目の項です。本記事では、C++ による2つの解法(線形探索と二分探索)を、サンプルコードとともにわかりやすく解説します。 問題の概要 A または B で割り切れる数を昇順に並べたとき、その N 番目の値を求めます。具体的には、1 から順に整数を調べ、「A で割り切れる」または「B で割り切れる」という条件を満たす数をカウントしていき、N 個目に到達した時点の数が答えとなります。 入力例 A = 4、B = 3、N = 5 出力例 9 解説 3

  15. C++で数列0, 0, 2, 1, 4, 2, 6, 3, 8…のN番目の項を求めるプログラム

    この記事では、数値Nが与えられたとき、C++を用いて数列「0, 0, 2, 1, 4, 2, 6, 3, 8…」のN番目の項を求めるプログラムの作成方法を解説します。問題の概要与えられた数列のN番目の項を求めることが目標です。0, 0, 2, 1, 4, 2, 6, 3, 8 ....(N項まで)ポイントは、この数列の一般項を導き出すことです。具体例で問題を確認してみましょう。入力N = 8出力3解法のアプローチ数列の一般項を求めるには、数列を注意深く観察する必要があります。この数列は一見すると規則性が分かりにくいのですが、実は2つの数列が交互に並んだものです。1つは奇数番目の位置に現れる数列

  16. C++で数列 0, 2, 1, 3, 1, 5, 2, 7, 3… のN番目の項を求めるプログラム

    この記事では、数値Nが与えられたときに、数列 0, 2, 1, 3, 1, 5, 2, 7, 3… のN番目の項をC++で求めるプログラムを紹介します。問題の概要今回扱う数列は次のとおりです。0, 2, 1, 3, 1, 5, 2, 7, 3…(N番目の項を求める)この数列のN番目の項を求めるには、まず数列の一般項(規則性)を見つけ出し、それをもとにN番目の項を計算します。入出力の例具体例を使って問題を確認してみましょう。入力: N = 7出力: 2解き方のアプローチこの問題を解くには、数列の一般項を導き出す必要があります。一見ランダムに見えるこの数列ですが、注意深く観察すると、実は2つの異な

  17. C++で数列 0, 7, 8, 33, 51, 75, 102, 133… のN番目の項を求めるプログラム

    この記事では、数列 0、7、8、33、51、75、102、133… のN番目の項を求めるC++プログラムについて解説します。 具体的には、ある数値Nが与えられたとき、その位置に対応する数列の項を求めることが課題となります。 数列の一般項 この数列は、次の一般項(N番目の項を求める式)で表すことができます。 N番目の項 = 2 × N2 + N − 3 実際に値を代入して確認してみましょう。 N = 1 のとき:2 × 1 + 1 − 3 = 0 N = 2 のとき:2 × 4 + 2 − 3 = 7 N = 4 のとき:2 × 16 + 4 − 3 = 33 このように、一般項の式を使えば

  18. C++で数列0、10、30、60、100、150、210、280のN番目の項を求めるプログラム

    このチュートリアルでは、数列「0、10、30、60、100、150、210、280…」のN番目の項を求めるC++プログラムについて解説します。与えられた整数Nをもとに、数列の中でその位置に相当する項の値を計算するのが課題です。 数列の一般項 この数列には明確な規則性があり、次の一般式で表すことができます。 a(n) = 5 × n² − 5 × n = 5n(n − 1) 実際に確認してみると、n=1のとき0、n=2のとき10、n=3のとき30、n=4のとき60となり、与えられた数列と一致します。つまり、N番目の項を求めるにはループで項を順に生成する必要はなく、この式にNを代入して直接計算でき

  19. C++で数列 0, 9, 22, 39, 60, 85, 114, 147,… の第N項を求めるプログラム

    問題概要 この記事では、数値 N が与えられたときに、次の数列の第 N 項を求める C++ プログラムの作成方法を解説します。 0, 9, 22, 39, 60, 85, 114, 147, …(全 N 項) 入出力の例 入力: N = 6 出力: 85 この例では、数列の 6 番目の項が 85 であるため、出力は 85 になります。プログラムの目的は、任意の N に対して対応する項の値を正しく返すことです。 解法のアプローチ:一般項を導出する 数列の第 N 項を求めるには、まず数列の一般項(N を使った式)を導出します。そのために、各項の値がどのように増加しているのかを観察してみましょう

  20. C++で数列1、6、17、34、56、86、121、162、…のN番目の項を求めるプログラム

    本チュートリアルでは、数列 1、6、17、34、56、86、121、162、… のN番目の項を求めるプログラムについて解説します。 この問題では、ある数値が与えられ、その位置に該当する数列の項を求めることが課題となります。 アプローチ まず、この数列がどのような規則で構成されているかを観察してみましょう。隣接する項の差そのものは一定ではありませんが、その差(階差)の変化が一定である二次数列に分類されます。このような数列のN番目の項は、次の一般項で表すことができます。 an = 3n² − 4n + 2 実際に検証すると、n = 1 のとき 3 − 4 + 2 = 1、n = 2 のとき 12

Total 5990 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:169/300  20-コンピューター/Page Goto:1 163 164 165 166 167 168 169 170 171 172 173 174 175