Algorithme in this problem:
এখানে তোমাকে যেই টাইপের ত্রিভূজের কথা বলেছে সেটার ভূমি আর উচ্চতা সমান। আর তোমাকে ইনপুট দিবে সেই ত্রিভূজের তিন বাহুর সমষ্টি।
তাহলে প্রথমে আমরা ধরে নেই ভুমি = x. তাহলে উচ্চতা ও হবে x. যেহেতু ভূমি আর উচ্চতা সমান।
এখন আমরা পীথাগোরাসের সূত্র দিয়ে অতিভূজটা বের করে নিতে পারি?
(ভূমি)^2 + (উচ্চতা)^2 = (অতিভূজ)^2
x^2 + x^2 = (অতিভূজ)^2
অতিভূজ = √2x
এখন আমাদের ইনপুট দেয়া হবে ত্রিভূজের তিন বাহুর সমষ্টি। ধরে নিলাম সেটা p.
x + x + √2x = p.
2x + √2x = p.
√2x (√2 + 1) = p. (√2x কমন নিয়ে).
x = p / (√2 (√2 + 1)).
তাহলে এখন আমরা আমাদের ভুমি ও উচ্চতা দুইটার মানই জানি? কারন দুইটাই সমান ছিল। দুইটাই x ছিল। আর x এর মান p থেকে আমরা বের করে নিতে পারছি ( x = p / (√2 (√2 + 1)) ).
এর পরে এরিয়া বের করা তো সহজ ।
এরিয়া = (1/2) * ভূমি * উচ্চতা । ( এখানে ভুমি এর উচ্চতা দুইটাই x )
এরিয়া = (1/2) * x * x.
এর আই ভ্যালুটাকে দুই দশমিক স্থান পর্যন্ত প্রিন্ট করতে বলেছে।
A solution in c++
#include<bits/stdc++.h>
using namespace std;
/// Typedef
typedef long long int ll;
//Int data type
#define sc1(a) scanf("%d", &a)
#define sc2(a, b) scanf("%d %d", &a, &b)
#define sc3(a, b, c) scanf("%d %d %d", &a, &b, &c)
#define sc4(a, b, c, d) scanf("%d %d %d %d", &a, &b, &c, &d)
//Long Data type
#define scl1(a) scanf("%lld", &a)
#define scl2(a, b) scanf("%lld %lld", &a, &b)
#define scl3(a, b, c) scanf("%lld %lld %lld", &a, &b, &c)
#define scl4(a, b, c, d) scanf("%lld %lld %lld %lld", &a, &b, &c, &d)
int main(){
ll a,t,b,c,d,j,n,i=1,m;
double aa,ck,x;
scanf("%lld",&n);
while(n--){
scl1(a);
x = a/(sqrt(2)*(sqrt(2)+1));
ck = 0.5*x*x;
printf("%.2lf\n", ck);
}
}
0 Comments
If you have any doubts, Please let me know