Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C में समकोण समद्विबाहु त्रिभुज के अंदर फिट होने वाले 2×2 वर्गों की अधिकतम संख्या


समस्या विवरण

हमें एक समकोण समद्विबाहु त्रिभुज दिया गया है। समद्विबाहु त्रिभुज में दो भुजाएँ समान लंबाई की होती हैं। समकोण त्रिभुज में ऊंचाई और आधार एक-दूसरे के लंबवत होते हैं। लक्ष्य इस त्रिभुज के अंदर फिट होने वाले 2 वर्ग इकाई वाले वर्गों की अधिकतम संख्या ढूंढना है। आधार या ऊंचाई (दोनों समान) इनपुट के रूप में लिए जाते हैं। वर्गों की संख्या आउटपुट होती है।

नीचे दिए गए चित्र को देखें:

C में समकोण समद्विबाहु त्रिभुज के अंदर फिट होने वाले 2×2 वर्गों की अधिकतम संख्या

दिए गए त्रिभुज जिसकी ऊंचाई ag और आधार gd है, में 3 वर्ग (प्रत्येक भुजा 2) फिट होते हैं। कोनों 'a' और 'd' से, त्रिभुज aib और cde कभी भी किसी वर्ग में योगदान नहीं देंगे। इसलिए हमें हमेशा इन त्रिभुजों के लिए 2 इकाई अतिरिक्त लंबाई की आवश्यकता होती है। अब शेष आधार gd (या ऊंचाई ag) को 2 से विभाजित करके वर्गों की गिनती करें। ऊंचाई के साथ भी यही स्थिति है।

while(base > 2)
    squares += (base - 2) / 2
    base = base - 2
// सूत्र Ap = b*(b+1)/2 का उपयोग करें... जहां नया b = b-2

उदाहरण 1

इनपुट: आधार: 12

आउटपुट: वर्गों की संख्या: 15

व्याख्या:

आधार 12 > 2, वर्ग 10/2 = 5, नया आधार 12-2 = 10
आधार 10 > 2, वर्ग 8/2 = 4, नया आधार 10-2 = 8
आधार 8 > 2, वर्ग 6/2 = 3, नया आधार 8-2 = 6
आधार 6 > 2, वर्ग 4/2 = 2, नया आधार 6-2 = 4
आधार 4 > 2, वर्ग 2/2 = 1, नया आधार 4-2 = 2
आधार 2 > 2 गलत
कुल वर्ग = 5+4+3+2+1 = 15

उदाहरण 2

इनपुट: 5

आउटपुट: वर्गों की संख्या: 1

व्याख्या:

आधार 5 > 2, वर्ग 3/2 = 1, नया आधार 5-2 = 3
आधार 3 > 2, वर्ग 1/2 = 0, नया आधार 3-2 = 1
आधार 1 > 2 गलत
कुल वर्ग = 1

दृष्टिकोण

  • पूर्णांक चर base त्रिभुज का आधार संग्रहीत करता है।
  • फ़ंक्शन numofSquares(int b) आधार b वाले त्रिभुज में फिट होने वाले वर्गों की संख्या गिनता है।
  • सबसे पहले b = b - 2 - कोनों से अतिरिक्त स्थान हटाएं।
  • सूत्र के अनुसार, b = floor(b/2), यह नया b, b*(b+1)/2 वर्ग रख सकता है जिनकी भुजा 2 है।
  • गणना को वर्गों की संख्या के रूप में लौटाएं।

C प्रोग्राम उदाहरण

#include <stdio.h>
#include <math.h>

int numofSquares(int b) {
    // कोनों से अतिरिक्त भाग हटाएं जिसकी हमें हमेशा आवश्यकता होती है
    b = (b - 2);
    // चूंकि प्रत्येक वर्ग का आधार 2 की लंबाई का होता है
    b = floor(b / 2);
    return b * (b + 1) / 2;
}

int main() {
    int base = 8;
    printf("Maximum no. of square that can be accommodated: %d", numofSquares(base));
    return 0;
}

आउटपुट

Maximum no. of square that can be accommodated: 6

  1. C++ में N सेगमेंट का उपयोग करके सेवन सेगमेंट डिस्प्ले पर प्रदर्शित अधिकतम संख्या C++ में N सेगमेंट का उपयोग करके सेवन सेगमेंट डिस्प्ले पर प्रदर्शित अधिकतम संख्या

    दिया गया कार्य N सेगमेंट का उपयोग करके किसी भी संख्या के सेवन सेगमेंट डिस्प्ले पर प्रदर्शित की जा सकने वाली अधिकतम संख्या ढूंढना है।उदाहरण से समझते हैंइनपुट - N=5आउटपुट - 71व्याख्या - सबसे बड़ी संख्या सेवन सेगमेंट डिस्प्ले पर इस प्रकार प्रदर्शित होगी।इनपुट - N=6आउटपुट - 111प्रयुक्त दृष्टिकोणनिम्नलिख

  1. C++ में समकोण समद्विबाहु त्रिभुज में फिट होने वाले वर्गों की अधिकतम संख्या C++ में समकोण समद्विबाहु त्रिभुज में फिट होने वाले वर्गों की अधिकतम संख्या

    दिया गया कार्य भुजा a वाले वर्गों की अधिकतम संख्या ढूंढना है जो आधार s वाले दिए गए समकोण समद्विबाहु त्रिभुज (An isosceles triangle has at least 2 equal sides) के अंदर फिट हो सकते हैं। उदाहरण इनपुट s=5, a=1 आउटपुट 10 व्याख्या - आधार में वर्गों की संख्या की गणना s को a से विभाजित करके और 1 घटाकर क

  1. C++ में समांतर चतुर्भुज के अंदर त्रिभुज का क्षेत्रफल C++ में समांतर चतुर्भुज के अंदर त्रिभुज का क्षेत्रफल

    समस्या विवरण एक समांतर चतुर्भुज दिया गया है जिसका आधार और ऊंचाई ज्ञात है। इसमें एक त्रिभुज अंकित है जिसका आधार समांतर चतुर्भुज के समान है। त्रिभुज का क्षेत्रफल ज्ञात करें। सूत्र क्षेत्रफल = ½ × आधार × ऊंचाई area = 0.5 * b * h उदाहरण कोड #include <iostream> #include <cmath> using names