English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Gegebene Werte von x und y sind positive Ganzzahlen, der Wert von n ist die Anzahl der Dezimalstellen, die dividiert werden sollen. Die Aufgabe ist, die Division durch n Dezimalstellen zu generieren.
Eingabe-: x = 36, y = 7, n = 5 Ausgabe-: 5.14285 Eingabe-: x = 22, y = 7, n = 10 Ausgabe-: 3.1428571428
Die in diesem Programm verwendeten Methoden sind wie folgt-
Gib die Werte von a, b und n ein
Überprüfe, ob b 0 ist, dann würde die Division unendlich groß sein; wenn a 0 ist, dann wäre das Ergebnis 0, weil etwas durch 0 geteilt 0 ist
Wenn n größer ist als1Speichere den Wert des Restes, dann subtractiere ihn vom Divisor, multipliziere ihn mit zehn. Beginne den nächsten Durchlauf
Drucke das Ergebnis aus
START Schritt 1-> Erkläre eine Funktion, um die Division bis zu n Dezimalstellen zu berechnen void compute_division(int a, int b, int n) Überprüfe, ob (b == 0) drucke Unendlich Ende prüfe Wenn (a == 0) drucke 0 Ende prüfe Wenn (n <= 0) drucke a/b Ende prüfe Wenn (((a > 0) && (b < 0)) || ((a < 0) && (b > 0))) drucke "-" setze a = a > 0 ? a : -a setze b = b > 0 ? b : -b Ende Erkläre und setze int dec = a / b Schleife für int i = 0 und i <= n und i++ drucke dec Setze a = a - (b * dec) Wenn (a == 0) break Ende Setze a = a * 10 setze dec = a / b Wenn (i == 0) drucke "." Ende Ende Schritt 2-> In main() Erkläre und setze int a = 36, b = 7, n = 5 Rufe compute_division(a, b, n) auf STOP
#include <bits/stdc++.h> using namespace std; void compute_division(int a, int b, int n) { if (b == 0) { cout << "Unendlich" << 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; }
Ausgabeergebnis
5.14285