ในปัญหานี้ เราได้รับสตริง num ซึ่งเป็นตัวเลขจำนวนมากและจำนวนเต็ม R หน้าที่ของเราคือสร้าง โปรแกรมเพื่อค้นหาเศษที่เหลือเมื่อจำนวนมากหารด้วย r ใน C++ .
คำอธิบายปัญหา − เราต้องหาเศษที่เหลือเมื่อตัวเลขที่กำหนดโดยสตริงหารด้วย r ซึ่งเป็นตัวเลขสองหลัก
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
อินพุต
num = “123423450942121” r = 54
ผลลัพธ์
7
แนวทางการแก้ปัญหา
ในการหาเศษที่เหลือ เราต้องหารจำนวนนั้นอย่างชัดเจน แต่การหารจำนวนมหาศาลนั้นเป็นกระบวนการที่ซับซ้อน ดังนั้นเพื่อให้กระบวนการง่ายขึ้น เราจะทำการหารหลักด้วยหลัก และเก็บส่วนที่เหลือที่ตามมา กระบวนการนี้จะดำเนินต่อไปสำหรับทั้งสตริงที่มีตัวเลขจาก MSB ถึง LSB และสุดท้ายก็พิมพ์ส่วนที่เหลือ
โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา
ตัวอย่าง
#include <iostream> #include <string.h> using namespace std; int calcRem(string num, int R){ int currDigit, rem = 0; for (int i = 0; i < num.length(); i++) { currDigit = rem * 10 + (num[i] - '0'); rem = currDigit % R; } return rem; } int main() { string num = "123423450942121"; int R = 54; cout<<"The remainder when large number is divided by r is"<<calcRem(num, R); return 0; }
ผลลัพธ์
The remainder when large number is divided by r is 7