Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

หารโดยไม่ต้องใช้ตัวดำเนินการ '/' ในโปรแกรม C++


ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีหารตัวเลขโดยไม่ต้องใช้ตัวดำเนินการหาร (/)

เราได้ให้ตัวเลขสองตัว โปรแกรมควรส่งคืนผลหารของการดำเนินการหาร

เราจะใช้ตัวดำเนินการลบ (-) สำหรับการหาร

มาดูขั้นตอนการแก้ปัญหากัน

  • เริ่มต้นการจ่ายเงินปันผลและตัวหาร

  • หากตัวเลขเป็นศูนย์ ให้คืนค่า 0

  • เก็บว่าผลลัพธ์จะเป็นลบหรือไม่โดยการตรวจสอบสัญญาณของเงินปันผลและตัวหาร

  • เริ่มต้นการนับถึง 0

  • เขียนวนรอบที่วิ่งจนเลขหนึ่งมากกว่าหรือเท่ากับเลขสอง

    • ลบเลขสองออกจากเลขหนึ่งแล้วกำหนดผลลัพธ์ให้เป็นเลขหนึ่ง

    • เพิ่มตัวนับ

  • พิมพ์เคาน์เตอร์

ตัวอย่าง

มาดูโค้ดกันเลย

#include <bits/stdc++.h>
using namespace std;
int division(int num_one, int num_two) {
   if (num_one == 0) {
      return 0;
   }
   if (num_two == 0) {
      return INT_MAX;
   }
   bool negative_result = false;
   if (num_one < 0) {
      num_one = -num_one ;
      if (num_two < 0) {
         num_two = -num_two ;
      }
      else {
         negative_result = true;
      }
   }
   else if (num_two < 0) {
      num_two = -num_two;
      negative_result = true;
   }
   int quotient = 0;
   while (num_one >= num_two) {
      num_one = num_one - num_two;
      quotient++;
   }
   if (negative_result) {
      quotient = -quotient;
   }
   return quotient;
}
int main() {
   int num_one = 24, num_two = 5;
   cout << division(num_one, num_two) << endl;
   return 0;
}

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

4

บทสรุป

หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น