আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা চারটি আর্গুমেন্ট গ্রহণ করবে। চারটি আর্গুমেন্ট সবই ঠিক দুটি সংখ্যার অ্যারে হবে যেগুলো চতুর্ভুজ বা যেকোনো আকৃতির (বন্ধ বা খোলা) চারটি শীর্ষবিন্দুর (vertices) কোঅর্ডিনেট উপস্থাপন করবে।
ফাংশনটির কাজ হলো নির্ধারণ করা যে চারটি শীর্ষবিন্দু কি একটি বর্গ (square) তৈরি করে।
যদি বর্গ তৈরি করে, তবে true রিটার্ন করবে, অন্যথায় false।
উদাহরণস্বরূপ —
ইনপুট কোঅর্ডিনেটগুলো যদি হয় —
const c1 = [1, 0]; const c2 = [-1, 0]; const c3 = [0, 1]; const c4 = [0, -1];
তাহলে আউটপুট হবে —
const output = true;
কারণ এই কোঅর্ডিনেটগুলো ৪ বর্গ একক আকারের একটি বর্গ তৈরি করে।
উদাহরণ
কোডটি নিচে দেওয়া হলো —
const c1 = [1, 0]; const c2 = [-1, 0]; const c3 = [0, 1]; const c4 = [0, -1];
const validSquare = (c1, c2, c3, c4) => {
const dist = (c1, c2) => (Math.sqrt(Math.pow(c1[0] - c2[0],2) + Math.pow(c1[1] - c2[1],2)));
const points = [c1,c2,c3,c4];
let lens = new Set();
for(let i = 0; i < points.length; i++){
for(let j = i + 1; j < points.length; j++){
if(points[i][0] == points[j][0] && points[i][1] == points[j][1]){
return false;
};
let dis = dist(points[i],points[j]);
lens.add(dis)
};
};
return lens.size === 2;
};
console.log(validSquare(c1, c2, c3, c4));
আউটপুট
কনসোল আউটপুট:
true