ในบทช่วยสอนนี้ เราจะหาจำนวนสามเหลี่ยมที่มีจำนวนตัวหารมากกว่า n
หากผลรวมของจำนวนธรรมชาติ ณ จุดใดๆ ที่น้อยกว่าหรือเท่ากับ n เท่ากับจำนวนที่กำหนด ตัวเลขที่กำหนดจะเป็นจำนวนสามเหลี่ยม
เราได้เห็นแล้วว่าจำนวนสามเหลี่ยมคืออะไร มาดูขั้นตอนการแก้ปัญหากัน
-
เริ่มต้นหมายเลข
-
เขียนวนซ้ำจนกว่าเราจะพบตัวเลขที่ตรงตามเงื่อนไขที่กำหนด
-
ตรวจสอบว่าตัวเลขเป็นสามเหลี่ยมหรือไม่
-
ตรวจสอบว่าตัวเลขมีตัวหารมากกว่า n ตัวหรือไม่
-
หากตรงตามเงื่อนไขสองข้อข้างต้น ให้พิมพ์ตัวเลขและตัดลูป
ตัวอย่าง
มาดูโค้ดกันเลย
#include <bits/stdc++.h>
using namespace std;
bool isTriangular(int n) {
if (n < 0) {
return false;
}
int sum = 0;
for (int i = 1; sum <= n; i++) {
sum += i;
if (sum == n) {
return true;
}
}
return false;
}
int divisiorsCount(int n) {
int count = 0;
for (int i = 1; i <= n; i++) {
if (n % i == 0) {
count += 1;
}
}
return count;
}
int main() {
int n = 2, i = 1;
while (true) {
if (isTriangular(i) && divisiorsCount(i) > 2) {
cout << i << endl;
break;
}
i += 1;
}
return 0;
} ผลลัพธ์
หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
6
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น