English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

برنامج C ++ يمكنه حساب n من الأرقام بعد نقطة العشرية

لدينا x و y كعددين صحيحين، قيمة n كعدد من الأرقام العشرية، المهمة هي توليد القسمة حتى نقط عشريات n

مثال

الإدخال-: x = 36, y = 7, n = 5
الناتج-: 5.14285
الإدخال-: x = 22, y = 7, n = 10
الناتج-: 3.1428571428

الطريقة المستخدمة في البرنامج التالي هي-

  • ادخل قيم a، b و n

  • تحقق من whether b هو 0، فإن القسمة ستكون لا نهائية؛ إذا كان a هو 0، فإن النتيجة ستكون 0، لأن بعض الأشياء مقسمة على 0 هي 0

  • إذا كان n أكبر من 1، فحفظ قيمة البقية، ثم أزالة من الموزع، ثم ضربه بالعشرة. بدء التكرار التالي

  • اطبع النتيجة

الخوارزمية

البداية
الخطوة 1-> إعلان وظيفة لحساب القسمة حتى نقط عشريات n
   void compute_division(int a, int b, int n)
   تحقق من IF(b == 0)
      اطبع Infinite
   نهاية
   تحقق من IF(a == 0)
      اطبع 0
   نهاية
   تحقق من IF(n <= 0)
      اطبع a/b
   نهاية
   تحقق من IF(((a > 0) && (b < 0)) || ((a < 0) && (b > 0)))
      اطبع "-"
      تعيين a = a > 0 ? a : -a
      تعيين b = b > 0 ? b : -b
   نهاية
   إعلان وتعيين int dec = a / b
   دائرة مغلقة للوصول إلى int i = 0 وi <= n وi++
      اطبع dec
      تعيين a = a - (b * dec)
      إذا (a == 0)
         قطع
      نهاية
      تعيين a = a * 10
      تعيين dec = a / b
      إذا (i == 0)
         اطبع "."
      نهاية
   نهاية
الخطوة 2-> داخل fun_main()
   إعلان وتعيين int a = 36, b = 7, n = 5
   اطبق compute_division(a, b, n)
توقف

مثال

#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
أنت قد تحب