C++で数値を2つの部分に分割するプログラムを作成する方法
はじめに
このチュートリアルでは、与えられた数値を2つの部分に分割するC++プログラムを作成します。
この問題は非常にシンプルです。まず、与えられた数値を2で割ることで最初の数値を求めます。次に、元の数値からその結果を引くことで、2つ目の数値を求めることができます。
与えられた数値を n とすると、2つの数値は以下のように表せます。
a = n / 2 b = n - a
なお、n が奇数の場合は整数除算により a が切り捨てられた値となり、b は a より1大きい値になります。n が偶数の場合は、2つの数値は等しくなります。
サンプルコード
実際のコードを見てみましょう。
#include <bits/stdc++.h>
using namespace std;
void divideTheNumber(int n) {
int a = n / 2;
int b = n - a;
cout << a << " " << b << endl;
}
int main() {
int n = 13;
divideTheNumber(n);
}出力結果
上記のプログラムを実行すると、以下の結果が得られます。
6 7
入力値が 13 の場合、13 / 2 は整数除算で 6 となり、13 - 6 = 7 となるため、「6 7」と出力されます。2つの数値の合計は必ず元の数値 n と一致します。
まとめ
このチュートリアルでは、C++を使って数値を2つの部分に分割する方法を解説しました。整数除算と減算を組み合わせるだけで簡単に実装できることがお分かりいただけたと思います。このチュートリアルについて質問がある場合は、コメント欄でお気軽にお知らせください。
-
C++で円を2つの部分に分割したときの角度差の最小値を求めるプログラム
この記事では、円を構成する各部分(扇形)の角度が格納された配列が与えられたとき、それらを連続的につなぎ合わせて2つの部分に分割した場合の角度差の最小値を求めるC++プログラムを解説します。問題の概要円全体(360度)を構成するすべての部分の角度が配列として与えられます。これらの部分を連続する範囲ごとに結合して2つのグループを作り、それぞれのグループの角度の合計の差が最小になるようにします。重要なのは、離れた位置にある部分(例えば最初の部分と3番目の部分など)を一緒にすることはできないという点です。入力例で理解しましょう入力ang[] = {90, 45, 90, 135}出力90説明1つ目と2
-
【C++】2つの数値を交換(スワップ)するプログラムの書き方
2つの数値を交換(スワップ)するC++プログラムを作成する方法は、主に2つあります。1つ目は一時変数(temp変数)を使用する方法で、2つ目は第3の変数を使わない方法です。ここでは、それぞれの方法についてサンプルコード付きで詳しく解説します。一時変数を使って2つの数値を交換するプログラムまず、一時変数を使って2つの数値を交換する基本的なプログラムを見てみましょう。サンプルコード#include <iostream>using namespace std;int main() { int a = 10, b = 5, temp; tem