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

เลขสามเหลี่ยมตัวแรกที่มีจำนวนตัวหารเกิน N ใน C++


ในบทช่วยสอนนี้ เราจะหาจำนวนสามเหลี่ยมที่มีจำนวนตัวหารมากกว่า 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

บทสรุป

หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น