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

โปรแกรม C/C++ สำหรับความสูงสูงสุดเมื่อเหรียญเรียงเป็นรูปสามเหลี่ยม?


ในส่วนนี้เราจะเห็นปัญหาที่น่าสนใจอย่างหนึ่ง มีเหรียญ N. เราต้องหาความสูงสูงสุดที่เราสามารถทำได้ถ้าเราจัดเรียงเหรียญเป็นปิรามิด แบบนี้แถวแรกจะมี 1 เหรียญ แถวที่สองมี 2 เหรียญ ไปเรื่อยๆ

โปรแกรม C/C++ สำหรับความสูงสูงสุดเมื่อเหรียญเรียงเป็นรูปสามเหลี่ยม?

ในแผนภาพที่กำหนดให้ เราสามารถเห็นการสร้างปิรามิดที่มีความสูง 3 อัน เราต้องการอย่างน้อย 6 เหรียญ เราไม่สามารถสร้างความสูง 4 ได้จนกว่าเราจะมี 10 เหรียญ ตอนนี้เรามาดูวิธีตรวจสอบความสูงสูงสุดกัน

เราจะได้ความสูงโดยใช้สูตรนี้

โปรแกรม C/C++ สำหรับความสูงสูงสุดเมื่อเหรียญเรียงเป็นรูปสามเหลี่ยม?

ตัวอย่าง

#include<iostream>
#include<cmath>
using namespace std;
int getMaxHeight(int n) {
   int height = (-1 + sqrt(1 + 8 * n)) / 2;
   return height;
}
main() {
   int N;
   cout << "Enter number of coins: " ;
   cin >> N;
   cout << "Height of pyramid: " << getMaxHeight(N);
}

ผลลัพธ์

Enter number of coins: 13
Height of pyramid: 4