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

ค้นหา N % (ส่วนที่เหลือมี 4) สำหรับค่า N จำนวนมากใน C++


ในปัญหานี้ เราได้รับสตริงที่แสดงถึงจำนวนเต็มขนาดใหญ่ งานของเราคือหา N % (ส่วนที่เหลือมี 4) สำหรับค่า N.

คำอธิบายปัญหา − เราจะหาจำนวนที่เหลือด้วย 4

มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน

อินพุต

num = 453425245

ผลลัพธ์

1

แนวทางการแก้ปัญหา

วิธีแก้ปัญหาอย่างง่ายคือการใช้ข้อเท็จจริงที่ว่าตัวเลขที่เหลือที่มี 4 สามารถพบได้โดยใช้ตัวเลขสองหลักสุดท้ายของตัวเลข ดังนั้น สำหรับจำนวนที่มาก เราสามารถหาเศษที่เหลือโดยการหารเลขสองหลักสุดท้ายของตัวเลขด้วย 4

โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
int calc4Mod(string num, int len) {
   int rem;
   if (len == 1)
      rem = num[0] - '0';
   else
      rem = (num[len - 2] - '0') * 10 + num[len - 1] - '0';
      return (rem % 4);
}
int main() {
   string num = "84525765476513";
   int len = num.length();
   cout<<"The remainder of the number with 4 is "<<calc4Mod(num, len);
   return 0;
}

ผลลัพธ์

The remainder of the number with 4 is 1