ในบทช่วยสอนนี้ เราจะหาจำนวนสามเหลี่ยมที่มีจำนวนตัวหารมากกว่า 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
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น