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

ทวีคูณของ 3 และ 5 โดยไม่ต้องใช้ตัวดำเนินการ % ใน C++


เราสามารถหาทวีคูณโดยใช้ตัวดำเนินการ % โดยไม่มีอุปสรรคใดๆ แต่ปัญหาระบุว่าเราไม่สามารถใช้ตัวดำเนินการ % ได้

ที่นี่เราใช้ตัวดำเนินการ + เราสามารถรับทวีคูณได้โดยการเพิ่ม 3 หรือ 5 ให้กับตัวคูณก่อนหน้า มาดูตัวอย่างกัน

ป้อนข้อมูล

15

ผลผลิต

1
2
3 - Multiple of 3
4
5 - Multiple of 5
6 - Multiple of 3
7
8
9 - Multiple 3
10 - Multiple of 5
11
12 - Multiple of 3
13
14
15 - Multiple of both 3 and 5

อัลกอริทึม

  • เริ่มต้นหมายเลข n.

  • เริ่มต้นตัวเลขสองตัวเพื่อติดตามตัวคูณถัดไปของ 3 และ 5.

  • ในขั้นต้นทั้งสองจำนวนจะเป็น 3 และ 5
  • เขียนลูปที่วนซ้ำจาก 1 ถึง น. รวมทั้งสองอย่าง

    • ตรวจสอบว่าตัวเลขปัจจุบันเป็นทวีคูณของ 3 หรือไม่โดยใช้แทร็กแบบแปรผัน

    • ในทำนองเดียวกันให้ตรวจสอบผลคูณของ 5

    • หากเป็นผลคูณของ 3 หรือ 5 ให้เพิ่มตัวเลขตามลำดับเพื่อให้ได้ตัวคูณถัดไป

    • พิมพ์ข้อความที่เกี่ยวข้องไปยังคอนโซล

การนำไปใช้

ต่อไปนี้เป็นการนำอัลกอริธึมข้างต้นไปใช้ใน C++

#include <bits/stdc++.h>
using namespace std;
void findMultiplesOf3And5(int n) {
   int threeMultiple = 3;
   int fiveMultiple = 5;
   for (int i = 1; i <= n; i++) {
      bool _3 = false, _5 = false;
      if (i == threeMultiple) {
         threeMultiple += 3;
         _3 = true;
      }
      if (i == fiveMultiple) {
         fiveMultiple += 5;
         _5 = true;
      }
      if (_3 && _5) {
         cout << "Multiple of both 3 and 5" << endl;
      }else if (_3) {
         cout << "Multiple of 3" << endl;
      }else if (_5) {
         cout << "Multiple of 5" << endl;
      }else {
         cout << i << endl;
      }
   }
}
int main() {
   findMultiplesOf3And5(100);
   return 0;
}

ผลลัพธ์

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

1
2
Multiple of 3
4
Multiple of 5
Multiple of 3
7
8
Multiple of 3
Multiple of 5
11
Multiple of 3
13
14
Multiple of both 3 and 5
16
17
Multiple of 3
19
Multiple of 5
Multiple of 3
22
23
Multiple of 3
Multiple of 5
26
Multiple of 3
28
29
Multiple of both 3 and 5
31
32
Multiple of 3
34
Multiple of 5
Multiple of 3
37
38
Multiple of 3
Multiple of 5
41
Multiple of 3
43
44
Multiple of both 3 and 5
46
47
Multiple of 3
49
Multiple of 5
Multiple of 3
52
53
Multiple of 3
Multiple of 5
56
Multiple of 3
58
59
Multiple of both 3 and 5
61
62
Multiple of 3
64
Multiple of 5
Multiple of 3
67
68
Multiple of 3
Multiple of 5
71
Multiple of 3
73
74
Multiple of both 3 and 5
76
77
Multiple of 3
79
Multiple of 5
Multiple of 3
82
83
Multiple of 3
Multiple of 5
86
Multiple of 3
88
89
Multiple of both 3 and 5
91
92
Multiple of 3
94
Multiple of 5
Multiple of 3
97
98
Multiple of 3
Multiple of 5