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

ตำแหน่งของบุคคลตรงข้ามในวงกลมใน C++


ในปัญหานี้ เราได้รับจำนวนเต็มสองจำนวน N และ M มีวงกลมและคน N ยืนอยู่บนนั้น M หมายถึงตำแหน่งของบุคคล งานของเราคือการพิมพ์ตำแหน่งของบุคคลที่ตรงข้ามกับ M.

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

ป้อนข้อมูล − N =6, M =3

ผลผลิต − 6

คำอธิบาย

ตำแหน่งของบุคคลตรงข้ามในวงกลมใน C++

ในการแก้ปัญหานี้จะมี 2 กรณี กรณีแรกถ้าตำแหน่งมากกว่าครึ่ง (ครึ่งหลัง) ฝ่ายค้านจะเป็นครึ่งแรกและในทางกลับกัน

มาสร้างสูตรทางคณิตศาสตร์กันเถอะ

กรณีที่ 1 − ถ้า m> n/2 ตำแหน่งของฝ่ายตรงข้ามคือ m - (n/2)

กรณีที่ 2 − ถ้า m =

ตัวอย่าง

โปรแกรมแสดงภาพประกอบของโซลูชันของเรา

#include <iostream>
using namespace std;
void printOppositePosition(int n, int m) {
   int pos;
   if (m > (n / 2))
      pos = (m - (n / 2));
   else
      pos = (m + (n / 2));
   cout<<pos;
}
int main() {
   int N = 8, M = 4;
   cout<<"The position of person opposite to person at position "<<M<<" when "<<N<<" people are standing in a circle is ";
   printOppositePosition(N, M);
   return 0;
}

ผลลัพธ์

The position of person opposite to person at position 4 when 8 people are standing in a circle is 8