English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Données données, x et y sont des entiers positifs, la valeur de n est le nombre de décimales, la tâche est de générer la division jusqu'à n décimales.
Entrée-, x = 36, y = 7, n = 5 Sortie-: 5.14285 Entrée-, x = 22, y = 7, n = 10 Sortie-: 3.1428571428
les méthodes utilisées dans le programme suivant sont les suivantes-
entrer les valeurs de a, b et n
vérifier si b est égal à 0, alors la division atteindra l'infini ; si a est égal à 0, son résultat sera 0, car quelque chose est divisé par 0 et vaut 0
si n est supérieur à1,enregistrer la valeur du reste, puis la soustraire du diviseur, puis multiplier par 10. Commencer le prochain itération
imprimer le résultat
DEBUT Step 1-> déclarer une fonction pour calculer la division jusqu'à n décimales void compute_division(int a, int b, int n) vérifier SI (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