English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dado que x e y son enteros positivos, el valor de n es el número de lugares decimales, la tarea es generar la división hasta el número de lugares decimales n.
Entrada-, x = 36, y = 7, n = 5 Salida-: 5.14285 Entrada-, x = 22, y = 7, n = 10 Salida-: 3.1428571428
los métodos utilizados en el siguiente programa son los siguientes-
ingresar los valores de a, b y n
comprueba si b es 0, entonces la división será infinita; si a es 0, su resultado será 0, porque algo dividido por 0 es 0
si n es mayor que1almacenar el valor del residuo, luego restarlo del divisor, luego multiplicarlo por diez. Comienza la siguiente iteración
imprimir el resultado
INICIO Paso 1-declarar una función para calcular la división hasta n lugares decimales void calcular_division(int a, int b, int n) comprueba si (b == 0) imprimir "Infinito" Final verificar SI (a == 0) imprimir 0 Final verificar SI (n <= 0) imprimir a/b Final verificar SI (((a > 0) && (b < 0)) || ((a < 0) && (b > 0))) imprimir "-" establecer a = a > 0 ? a : -a establecer b = b > 0 ? b : -b Final Declarar y establecer int dec = a / b Bucle para int i = 0 y i <= n y i++ imprimir dec Establecer a = a - (b * dec) SI (a == 0) break Final Establecer a = a * 10 establecer dec = a / b SI (i == 0) imprimir "." Final Final Paso 2-> En main() Declarar y establecer int a = 36, b = 7, n = 5 Llame 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