-
C++で掛け算の九九(乗算表)を生成するプログラム
掛け算表(乗算表)は、任意の数に対する掛け算の結果を一覧にまとめたもので、十進法における初等算術の基礎を学ぶために広く使われています。掛け算表は通常、1から10までの積を各行に表示します。例として、4の掛け算表は以下のようになります。4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 4 * 5 = 20 4 * 6 = 24 4 * 7 = 28 4 * 8 = 32 4 * 9 = 36 4 * 10 = 40指定した数の掛け算表を生成するC++プログラムの例は以下の通りです。プログラム例#include <iostream> using nam
-
C++で2つの数の最大公約数(GCD)を求めるプログラム
最大公約数(GCD)とは最大公約数(GCD: Greatest Common Divisor)とは、2つの整数をどちらも割り切る正の整数のうち、最も大きい数のことです。プログラミングの基礎的なアルゴリズム問題としてよく取り上げられるテーマであり、分数の約分や暗号処理など、さまざまな場面で活用されます。例として、45と27という2つの数を考えてみましょう。45 = 5 × 3 × 327 = 3 × 3 × 3両方の数に共通する素因数は「3 × 3」であるため、45と27の最大公約数は9となります。方法1:ユークリッドの互除法による実装2つの数の最大公約数を求める最も効率的な方法が「ユークリッド
-
C++で最小公倍数(LCM)を求めるプログラム:初心者向けに2つの方法を解説
最小公倍数(LCM: Least Common Multiple)とは、2つの整数に共通する倍数の中で最も小さい数のことです。プログラミングの基礎的なアルゴリズム学習においても頻出のテーマであり、C++を使えば簡単に求めることができます。最小公倍数とは?具体例で確認例として、15と9という2つの数を考えてみましょう。それぞれ素因数分解すると次のようになります。15 = 5 × 3 9 = 3 × 3この場合、15と9の両方を割り切れる最小の数、つまり最小公倍数は 45 となります。方法1:大きい方の数から順に増やしていく方法まず紹介するのは、最も直感的なアプローチです。2つの数のうち大きい方
-
数値を逆順に並べ替えるC++プログラムの書き方と解説
数値の反転とは、その桁の数字を逆の順序に並べ替えて格納することを指します。 例えば、元の数値が6529である場合、出力として9256が表示されます。 以下に、数値を反転させるC++プログラムの例を示します。 サンプルプログラム #include <iostream> using namespace std; int main() { int num = 63972, rev = 0; while(num > 0) { rev = rev*10 + num%10; num = num/10; } cout<
-
C++で数値の累乗を計算する方法:再帰・非再帰プログラムの実装例
数の累乗とは数の累乗は x^y の形式で表され、x は基数(底)、y は指数を表します。例を見てみましょう。x = 2、y = 10 の場合 x^y = 1024 ここで、x^y は 2^10 を意味します数の累乗は、再帰的プログラムと非再帰的プログラムの2つの方法で計算できます。以下、それぞれの実装方法を詳しく解説します。非再帰プログラムによる累乗の計算まずは、forループを使用した非再帰的なプログラムの例です。サンプルコード#include<iostream>using namespace std;int power(int x, int y) { int i
-
【C++】演算子のオーバーロードで複素数の減算を実装する方法
演算子のオーバーロードとはC++では、ほとんどの組み込み演算子に対して演算子のオーバーロード(多重定義)を行うことができます。オーバーロードされた演算子は、キーワードoperatorの後に定義したい演算子記号を続けた形式の関数として実装され、通常の関数と同様に戻り値の型と引数リストを持ちます。本記事では、演算子のオーバーロードを利用して複素数の減算を行うC++プログラムを紹介し、その仕組みを詳しく解説します。サンプルプログラム次のプログラムは、減算演算子-をオーバーロードすることで、複素数同士の引き算を直感的な記法で実現した例です。#include<iostream> using
-
C++で文字のASCII値を取得・表示する方法を解説
ASCII(American Standard Code for Information Interchange:米国標準情報交換コード)には、0から127までの番号が振られた128種類の文字が定義されています。アルファベット、数字、記号など、さまざまな文字に固有の数値が対応付けられているのが特徴です。 主な文字とそのASCII値の例は以下のとおりです。 文字ASCII値 A65 a97 Z90 z122 $36 &38 ?63 大文字と小文字では異なる値が割り当てられている点にも注目してください。たとえば「A」は65、「a」は97となっており、両者の差は32です。この規
-
【C++入門】2つの数値を乗算するプログラムの書き方
乗算(掛け算)の基本 2つの数値 a と b の乗算とは、両者を掛け合わせて「積」を求める計算のことです。概念的には、a の値を b の回数分だけ足し合わせることで、a と b の積を求めることができます。 例: 5 * 4 = 20 7 * 8 = 56 9 * 9 = 81 *演算子を使って2つの数値を乗算するプログラム C++では、* 演算子を使用することで、2つの数値の積をシンプルに計算できます。以下は、* 演算子を使って2つの数値を乗算するプログラムです。 サンプルコード #include <iostream> using namespace std; int main
-
数値が回文数(パリンドローム)かどうかを判定するC++プログラム
回文数(パリンドローム)とは、桁の並びを逆に読んでも元の値と変わらない数のことです。その対称的な性質から「対称数」と呼ばれることもあります。例えば、12321、1551、11 などの数は、桁を逆順に並べ替えても値が変化しないため、回文数です。本記事では、与えられた数値が回文数であるかどうかを判定するC++プログラムを紹介し、その仕組みを詳しく解説します。プログラム例#include<iostream> using namespace std; void palindrome(int num) { int rev=0,val; val = num; while
-
関数を使って素数を判定するC++プログラムの作成方法
素数とは、1より大きい整数であり、約数が「1」と「その数自身」のみである数のことを指します。言い換えれば、素数はそれ以外のどの整数でも割り切ることができません。 最初のいくつかの素数は以下の通りです。 2, 3, 5, 7, 11, 13 ,17 本記事では、関数を使用してある数値が素数かどうかを判定するC++プログラムについて解説します。 サンプルコード #include <iostream> using namespace std; void isPrime(int n) { int i, flag = 0; for(i=2; i<=n/2; ++i)
-
C++のswitch文を使って四則演算対応の簡単な電卓プログラムを作成する方法
C++では、switch文(switch...case)を活用することで、足し算・引き算・掛け算・割り算の4つの演算に対応したシンプルな電卓プログラムを簡単に作成できます。この記事では、実際のサンプルコードと実行結果をもとに、その仕組みをわかりやすく解説します。 サンプルコード #include <iostream> using namespace std; void calculator(int a, int b, char op) { switch (op) { case +: { cout<<Sum of <&
-
C++で再帰を使って数値の階乗を計算する方法【初心者向け解説】
非負整数 n の階乗(factorial)とは、n 以下のすべての正の整数を掛け合わせた値のことです。例えば、7 の階乗は次のように計算され、結果は 5040 になります。7! = 7 * 6 * 5 * 4 * 3 * 2 * 1 7! = 5040この記事では、再帰(recursion)を使って数値の階乗を求める C++ プログラムを紹介します。サンプルコード#include <iostream> using namespace std; int fact(int n) { if ((n==0)||(n==1)) &n
-
C++で再帰を使って最大公約数(GCD)を求めるプログラム
2つの数の最大公約数(GCD:Greatest Common Divisor)とは、その両方の数を割り切ることができる最大の整数のことです。例として、63と42という2つの数を考えてみましょう。63 = 7 × 3 × 3 42 = 7 × 3 × 2 したがって、63と42のGCDは 21このように、共通する約数は「7」と「3」であり、その積である21が最大公約数となります。ここでは、再帰(リカージョン)を使って2つの数のGCDを求めるC++プログラムを2つの方法で紹介します。方法1:減算による再帰1つ目の方法は、大きい方の数から小さい方の数を引く操作を再帰的に繰り返すアプローチです。これは
-
C++で2進数と10進数を相互変換するプログラムの作り方
2進数と10進数の基礎知識コンピュータシステムの内部では、すべてのデータが2進法(基数2)で扱われます。一方、私たちが日常的に使用しているのは10進法(基数10)です。2進数は「0」と「1」だけを使って数を表現し、10進数は「0」から「9」までの数字を使います。代表的な10進数と、それに対応する2進数の例は以下の通りです。10進数2進数1001010700111251100116100002進数・10進数の相互変換プログラム以下のC++プログラムは、10進数を2進数に変換する DecimalToBinary 関数と、2進数を10進数に変換する BinaryToDecimal 関数を実装したもの
-
C++で配列の最大要素とその位置を見つける方法
配列の最大要素とは配列には複数の要素が格納されており、その中で他のすべての要素よりも大きい値を持つものが「最大要素」です。具体例51724上記の配列の場合、最大要素は7であり、インデックス2の位置に存在します。それでは、配列の最大要素を求めるC++プログラムを見ていきましょう。サンプルコード#include <iostream> using namespace std; int main() { int a[] = {4, 9, 1, 3, 8}; int largest, i, pos; largest = a[0]; for(i=1; i<
-
2つの区間の間にある素数を表示するC++プログラムの解説
素数とは、1より大きい整数であり、約数が1とその数自身のみである数のことです。最初の素数には、2、3、5、7、11、13、17などがあります。2つの区間の間には、多くの素数が存在することがあります。例えば、区間5から20の間にある素数は以下の通りです。5, 7, 11, 13, 17, 19素数を求めるC++プログラムそれでは、2つの区間の間にある素数を見つけて表示するプログラムを見ていきましょう。以下のコードでは、下限(lbound)から上限(ubound)まで順番に各数値を判定し、素数であれば出力します。サンプルコード#include <iostream> using name
-
アームストロング数を判定するC++プログラムの書き方と解説
アームストロング数とはアームストロング数(Armstrong Number)とは、各桁の数字を「総桁数」乗した値の合計が、元の数そのものと等しくなる数のことです。例えば、153は3桁の数なので、各桁を3乗して足し合わせると元の数に戻ります。主なアームストロング数の例は以下の通りです。3 = 3^1 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153 371 = 3^3 + 7^3 + 1^3 = 27 + 343 + 1 = 371 407 = 4^3 + 0^3 + 7^3 = 64 + 0 + 343 = 407この性質を利用すると、任意の整数がアームスト
-
【C++入門】指定した範囲内のアームストロング数をすべて表示する方法
アームストロング数(Armstrong Number)とは、各桁の数字を「桁の総数」乗した値の合計が、元の数と等しくなるような数のことです。アームストロング数の例を以下に示します。3 = 3^1 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153 407 = 4^3 + 0^3 + 7^3 = 64 + 0 + 343 = 407 1634 = 1^4 + 6^4 + 3^4 + 4^4 = 1 + 1296 + 81 + 256 = 1634それでは、2つの範囲(区間)の間に存在するアームストロング数をすべて表示するプログラムを見ていきましょう。サンプルコー
-
C++でピラミッドパターンを作成するプログラムの書き方
C++では、ネストしたforループ(二重ループ)を組み合わせることで、さまざまなピラミッド状のパターンを簡単に出力できます。本記事では、その中でも特によく使われる「基本形のピラミッド」と「回転させたピラミッド」の2種類について、実際のコードと実行結果を交えながら詳しく解説します。 基本のピラミッドパターン まずは、もっともシンプルな星(*)によるピラミッドパターンです。以下がその作成コードです。 サンプルコード #include <iostream> using namespace std; int main() { int n = 6, i, j; &n
-
C++で関数を使って2つの区間内の素数をすべて表示する方法
素数とは、1より大きい整数であり、約数が1とその数自身のみである数のことです。最初の素数としては、2、3、5、7、11、13、17などが挙げられます。2つの区間の間には、複数の素数が存在することがあります。例えば、区間5から20の間にある素数は、5、7、11、13、17、19です。ここでは、関数を使用して2つの区間内の素数を求め、表示するプログラムを紹介します。サンプルコード#include <iostream> using namespace std; void primeNumbers (int lbound, int ubound) { &