小数点以下n桁までの除算を計算するC++プログラム
xとyの値を正の整数として、小数点以下の桁数をnの値として指定すると、タスクは小数点以下n桁までの除算を生成することです。
例
Input-: x = 36, y = 7, n = 5 Output-: 5.14285 Input-: x = 22, y = 7, n = 10 Output-: 3.1428571428
以下のプログラムで使用されるアプローチは次のとおりです −
- a、b、nの値を入力します
- bが0であるかどうかを確認すると、除算は無限大になります。aが0である場合は、除算が0になるため、結果は0になります。
- nが1より大きい場合は、剰余の値を格納し、それを配当から減算してから、結果に10を掛けます。次の反復を開始します
- 結果を印刷する
アルゴリズム
START Step 1-> declare function to compute division upto n decimal places void compute_division(int a, int b, int n) check IF (b == 0) print Infinite End check IF(a == 0) print 0 End check IF(n <= 0) print a/b End check IF(((a > 0) && (b < 0)) || ((a < 0) && (b > 0))) print “-” set a = a > 0 ? a : -a set b = b > 0 ? b : -b End Declare and set int dec = a / b Loop For int i = 0 and i <= n and i++ print dec Set a = a - (b * dec) IF(a == 0) break End Set a = a * 10 set dec = a / b IF (i == 0) print “.” End End Step 2-> In main() Declare and set int a = 36, b = 7, n = 5 Call compute_division(a, b, n) STOP
例
#include <bits/stdc++.h>
using namespace std;
void compute_division(int a, int b, int n) {
if (b == 0) {
cout << "Infinite" << endl;
return;
}
if (a == 0) {
cout << 0 << endl;
return;
}
if (n <= 0) {
cout << a / b << endl;
return;
}
if (((a > 0) && (b < 0)) || ((a < 0) && (b > 0))) {
cout << "-";
a = a > 0 ? a : -a;
b = b > 0 ? b : -b;
}
int dec = a / b;
for (int i = 0; i <= n; i++) {
cout <<dec;
a = a - (b * dec);
if (a == 0)
break;
a = a * 10;
dec = a / b;
if (i == 0)
cout << ".";
}
}
int main() {
int a = 36, b = 7, n = 5;
compute_division(a, b, n);
return 0;
} 出力
5.14285
-
C++での10進数から2進数への変換プログラム
10進数を入力として指定すると、タスクは指定された10進数を2進数に変換することです。 コンピューターの10進数は10進数で表され、2進数は2進数の0と1の2つしかないため、2進数で表されますが、10進数は0〜9から始まる任意の数値にすることができます。 10進数を2進数に変換するには、次の手順に従います- まず、指定された数値を変換数値の基本値で除算します。例: 42を2を底とする2進数に変換し、商を取得して格納する必要があるため、42を2で除算します。余りが0の場合、ビットを0として格納します。それ以外の場合は1です。 取得した商を2進数の基数である2で除算し、ビットを格納し続けます
-
C++での2進数から10進数への変換プログラム
2進数を入力として指定すると、タスクは指定された2進数を10進数に変換することです。 コンピューターの10進数は10進数で表され、2進数は2進数の0と1の2つしかないため、2進数で表されますが、10進数は0〜9から始まる任意の数値にすることができます。 2進数を10進数に変換するには、右から左に向かって残りの数字を抽出し、0から始まる2の累乗を掛けて、(桁数)–1まで1ずつ増やします。乗算された値を加算し続けて、最終的な10進数値を取得します。 以下に、2進数を10進数に変換する図を示します。 例 Input-: 1010 0 will be conver