fork download
  1. #include <iostream>
  2. #include <unordered_set>
  3. using namespace std;
  4. int main() {
  5. int n, m;
  6.  
  7. // รับค่าจำนวนเต็ม n และ m
  8. cout << "Enter n: ";
  9. cin >> n;
  10. cout << "Enter m: ";
  11. cin >> m;
  12.  
  13. // สร้าง set เพื่อเก็บหมายเลขที่ต้องการตัดออก
  14. unordered_set<int> excludedNumbers;
  15.  
  16. // วนลูปแสดงหมายเลขจาก 0 ถึง n-1
  17. for (int i = 0; i < n; ++i) {
  18. // ตรวจสอบว่า i เป็น m หรือค่าที่ต้องตัดออกหรือไม่
  19. if (excludedNumbers.find(i) != excludedNumbers.end()) {
  20. continue; // ข้ามการแสดงหมายเลขนี้
  21. }
  22.  
  23. cout << i << " "; // แสดงหมายเลข i
  24.  
  25. // คำนวณและเพิ่มค่า 2m + 1 และ 2m + 2 ลงใน set
  26. int new_m1 = 2 * m + 1;
  27. int new_m2 = 2 * m + 2;
  28.  
  29. excludedNumbers.insert(new_m1); // เพิ่มค่าใหม่ลงใน set
  30. excludedNumbers.insert(new_m2); // เพิ่มค่าใหม่ลงใน set
  31.  
  32. // อัปเดต m เป็นค่าใหม่ที่คำนวณ
  33. m = new_m1; // อัปเดต m ให้เป็นค่าที่ได้จาก 2m + 1 สำหรับการวนลูปครั้งถัดไป
  34. }
  35.  
  36. return 0;
  37. }
Success #stdin #stdout 0s 5288KB
stdin
Standard input is empty
stdout
Enter n: Enter m: