আন্তর্জাতিক মানের কাগজ আকারগুলির আউটপুট মহকুমা


11

আইএসও কাগজের আকার নির্ধারিত:

সিরিজ কাগজের আকারগুলি নিম্নলিখিত প্রয়োজনীয়তা দ্বারা সংজ্ঞায়িত করা হয়:

The length divided by the width is the square root of 2.
The A0 size has an area of 1 unit.
Each subsequent size A(n) is defined as A(n-1) cut in half parallel to its shorter sides.

এখানে চিত্র বর্ণনা লিখুন

টাস্ক:

একটি ইনপুট f[n]আউটপুট এ0 দেওয়া হয়েছে nমহকুমায় বিভক্ত ।

পরীক্ষার কেস:

f[1]থেকে f[12]:

এখানে চিত্র বর্ণনা লিখুন

এখানে, এ0 দেওয়া হয়েছে f[1], তবে এই সূচীটি প্রয়োজনীয় নয়।

জয়ের মানদণ্ড:

বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।


1
অনুভূমিক রেখাটি বিভাজনকারী একটি f[2]হওয়া উচিত নয় A0? অর্থাত্, f[2]পরীক্ষার ক্ষেত্রে আসলে f[3]কি না ?
জংহওয়ান মিন

@ জংহওয়ানমিন এখনই অ্যাডজাস্ট করেছেন
মার্টিন

উত্তর:


2

বিবিসি বেসিক 49 এএসসিআইআই অক্ষর

টোকেনাইজড ফাইলাইজ 44 বাইট

I.n:F.i=0TOn:RECTANGLE0,0,1189>>i/2+.5,841>>i/2N.

আগের চেয়ে অনেক খাটো! আমি উইন্ডোজগুলির জন্য বিবিসি বেসিকের বিটশিফ্ট অপারেটরদের সম্পর্কে সর্বদা ভুলে যাই কারণ সেদিন আমার পুরানো কম্পিউটারে পাওয়া যায় নি।

বিবিসি বেসিক 63 ASCII অক্ষর

টোকেনাইজড ফাইলাইজ 58 বাইট

Http://www.bbcbasic.co.uk/bbcwin/download.html এ দোভাষী ডাউনলোড করুন

A%=841C%=1189d=4I.n:F.i=0TOn:RECTANGLE0,0,C%,A%:d!^B%/=2d=-d:N.

শূন্য সূচক ব্যবহার করে, যা আমি পছন্দ করি। সুতরাং 0 টি A0 এর জন্য কাগজকে আউটপুট দেয়, 1 আউটপুট করে A0 কে A1 গুলি ইত্যাদিতে ভাগ করে etc.

X এবং Y স্থানাঙ্ককে অর্ধেক করার মধ্যে বিকল্প হওয়া প্রয়োজন, তবে অ্যারেতে এটি করার জন্য অনেকগুলি বাইটের দাম পড়তে পারে। পরিবর্তে আমি এই সত্যটি ব্যবহার করি যে বিবিসি A%..Z%বেসিকের প্রতিটি স্থির স্মৃতিতে সঞ্চিত 4 বাইটের স্ট্যাটিক পূর্ণসংখ্য ভেরিয়েবলের একটি ব্লক রয়েছে । আমি এক্স এবং ওয়াই মানগুলিতে সংরক্ষণ করি A%এবং ডি এর মান দ্বারা পরিবর্তিত C%পয়েন্টারটি ব্যবহার করে অ্যাক্সেস করি %B, যা 4এবং এর মধ্যে বিকল্প হয় -4

Ungolfed

  A%=841
  C%=1189
  d=4
  INPUTn
  FORi=0TOn
    RECTANGLE0,0,C%,A%
    d!^B%/=2
    d=-d
  NEXT

আউটপুট

এখানে চিত্র বর্ণনা লিখুন


4

জাভাস্ক্রিপ্ট (ES6) + এইচটিএমএল, 96 94 + 34 = 130 128 বাইট

f=(n,w=297,h=210)=>n--&&f(n,h<w?w/2:w,h<w?h:h/2,(C=c.getContext`2d`).rect(0,0,w,h),C.stroke())

f(8)
<canvas id=c width=300 height=300>



2

জাভাস্ক্রিপ্ট (ES6) / এসভিজি (এইচটিএমএল 5), 170 বাইট

a=prompt();document.write('<svg width=297 height=210>');for(w=297,h=210;a--;h>w?h/=2:w/=2)document.write(`<rect fill=none stroke=#000 x=0 y=0 width=${w} height=${h} />`);

1-ভিত্তিক সূচক ব্যবহার করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.