English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Data la coppia di valori x e y come interi positivi, il valore di n come numero di cifre decimali, il compito è generare la divisione fino a n cifre decimali
Input-: x = 36, y = 7, n = 5 Output-: 5.14285 Input-: x = 22, y = 7, n = 10 Output-: 3.1428571428
I metodi utilizzati nel seguente programma sono i seguenti-
Inserisci i valori di a, b e n
Controlla se b è 0, allora la divisione raggiungerà l'infinito; se a è 0, il risultato sarà 0, perché qualcosa diviso per 0 è 0
Se n è maggiore di 1, memorizza il valore del resto, quindi sotalo dal divisore e moltiplica per dieci. Inizia la prossima iterazione
Stampa i risultati
START Passo 1-> dichiara la funzione per calcolare la divisione fino a n cifre decimali void compute_division(int a, int b, int n) controlla se (b == 0) stampa Infinito Fine controlla se a == 0 stampa 0 Fine controlla se n <= 0 stampa a/b Fine controlla se (((a > 0) && (b < 0)) || ((a < 0) && (b > 0))) stampare “-” Impostare a = a > 0 ? a : -a Impostare b = b > 0 ? b : -b Fine Dichiarare e impostare int dec = a / b Ciclo per int i = 0 e i <= n e i++ stampare dec Impostare a = a - (b * dec) SE(a == 0) break Fine Impostare a = a * 10 impostare dec = a / b SE (i == 0) stampare “.” Fine Fine Passo 2-> In main() Dichiarare e impostare int a = 36, b = 7, n = 5 Chiamare 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; }
Risultato di output
5.14285