হেক্টর বিস্ফোরক ASCII- শিল্প চ্যালেঞ্জ


20

কৌশল গেম "হ্যাক্সপ্লোড" এ খেলোয়াড়রা ষড়ভুজ বোর্ডে টোকেন রেখে মোড় নেয়। একবার টোকেনের সংখ্যা সংলগ্ন টাইলগুলির সংখ্যার সমান হয়ে যায়, সেই টাইল হেক্সফ্লোডস এবং তার উপরের সমস্ত টোকসটিকে আশেপাশের প্রতিবেশীদের কাছে নিয়ে যায়। আপনি এখানে গেমটি খেলতে পারেন ।

আমি এই গেমটি পছন্দ করি, তবে কখনও কখনও নির্দিষ্ট টাইলের উপরে কত টোকেন যায় তা ঠিক জানা শক্ত হয়; আমি সবসময় প্রতিবেশীর সংখ্যা গণনা করি । প্রতিটি টাইলে কত টোকেন যায় তা আমাকে মনে রাখতে সহায়তা করতে যদি আমার কাছে একটি এসকিআইআই শিল্প থাকে তবে এটি সত্যিই সুবিধাজনক হবে।

আপনি একটি প্রোগ্রাম বা ফাংশন যা একটি ধনাত্মক পূর্ণসংখ্যা ইনপুট হিসাবে নেয় এবং আকারের ষড়ভূজ এই হওয়া ASCII উপস্থাপনা উত্পাদন করে লিখতে প্রয়োজন এন । প্রতিটি টাইল টাইলের প্রতিবেশীর সংখ্যা হবে। যেহেতু 1 হ'ল শূন্য প্রতিবেশী একটি অদ্ভুত কোণার মামলা, আপনার কেবল 1 এর চেয়ে বড় ইনপুটগুলি পরিচালনা করতে হবে।

এই নম্বরটি আপনি কোনও যুক্তিসঙ্গত বিন্যাসে নিতে পারেন, যেমন STDIN, ফাংশন আর্গুমেন্ট, কমান্ড-লাইন আর্গুমেন্ট, কোনও ফাইল থেকে ইত্যাদি The স্ট্রিংগুলির তালিকা, একটি নতুন লাইন পৃথক স্ট্রিং ইত্যাদি

প্রথম 5 ইনপুটগুলির জন্য এখানে কিছু নমুনা আউটপুট দেওয়া হল:

2)

 3 3
3 6 3
 3 3


3)

  3 4 3
 4 6 6 4
3 6 6 6 3
 4 6 6 4
  3 4 3


4)

   3 4 4 3
  4 6 6 6 4
 4 6 6 6 6 4
3 6 6 6 6 6 3
 4 6 6 6 6 4
  4 6 6 6 4
   3 4 4 3

5)

    3 4 4 4 3
   4 6 6 6 6 4
  4 6 6 6 6 6 4
 4 6 6 6 6 6 6 4
3 6 6 6 6 6 6 6 3
 4 6 6 6 6 6 6 4
  4 6 6 6 6 6 4
   4 6 6 6 6 4
    3 4 4 4 3

6)

     3 4 4 4 4 3
    4 6 6 6 6 6 4
   4 6 6 6 6 6 6 4
  4 6 6 6 6 6 6 6 4
 4 6 6 6 6 6 6 6 6 4
3 6 6 6 6 6 6 6 6 6 3
 4 6 6 6 6 6 6 6 6 4
  4 6 6 6 6 6 6 6 4
   4 6 6 6 6 6 6 4
    4 6 6 6 6 6 4
     3 4 4 4 4 3

এবং প্যাটার্ন একই পদ্ধতিতে চলতে থাকে। যথারীতি, স্ট্যান্ডার্ড লুফোলগুলি প্রয়োগ হয় এবং সর্বনিম্ন বাইট-গণনা সহ উত্তরটি বিজয়ীর মুকুট হবে!

লিডারবোর্ড

নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই তৈরি করতে এখানে একটি স্ট্যাক স্নিপেট।

আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেম্পলেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:

# Language Name, N bytes

Nআপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:

# Ruby, <s>104</s> <s>101</s> 96 bytes

যদি আপনি নিজের শিরোনামে একাধিক সংখ্যা অন্তর্ভুক্ত করতে চান (যেমন আপনার স্কোর দুটি ফাইলের সমষ্টি বা আপনি পৃথকভাবে দোভাষী পতাকা দণ্ডের তালিকা করতে চান), নিশ্চিত করুন যে আসল স্কোরটি শিরোনামের শেষ সংখ্যা:

# Perl, 43 + 2 (-p flag) = 45 bytes

আপনি ভাষাটির নামটিকে একটি লিঙ্কও বানাতে পারেন যা লিডারবোর্ড স্নিপেটে প্রদর্শিত হবে:

# [><>](http://esolangs.org/wiki/Fish), 121 bytes


1
সম্পর্কিত (তবে প্রতিবেশীর সংখ্যার চেয়ে প্রক্রিয়াটি সম্পর্কে জিজ্ঞাসা করছেন)।
ট্রাইকোপলাক্স

1
আমি কেবল এই চ্যালেঞ্জের স্বার্থে হেক্সাগনিকে শিখতে প্ররোচিত করছি। ;)
কেভিন ক্রুইজসেন

উত্তর:


11

এমএটিএল , 39 37 বাইট

4*3-:!G:+o~YRtP*!tPw4LY)vtI5&lZ+47+*c

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা

আমি আবার কনভলিউশন ব্যবহার করতে পারি!

ইনপুট বিবেচনা করুন n = 3। কোড প্রথম আকারের একটি ম্যাট্রিক্স তৈরী করে 4*n-3× nকলাম ভেক্টর যোগ করে [1; 2; ...; 9]সারি ভেক্টরকে [1, 2, 3]সম্প্রচারের সঙ্গে। এর অর্থ সমস্ত জোড় যুক্ত সংযোজনগুলির 2D অ্যারে অ্যারে গণনা করা:

 2  3  4
 3  4  5
 4  5  6
 5  6  7
 6  7  8
 7  8  9
 8  9 10
 9 10 11
10 11 12

এমনকি সংখ্যার সাথে 1বিজোড় সংখ্যাগুলি দ্বারা প্রতিস্থাপন করা 0চেকবোর্ড প্যাটার্ন দেয়

1 0 1
0 1 0
1 0 1
0 1 0
1 0 1
0 1 0
1 0 1
0 1 0
1 0 1

এটি ষড়ভুজাকৃতির গ্রিড উত্পাদন করার জন্য ব্যবহার করা হবে। ওনারা গ্রিডে পয়েন্টগুলি উপস্থাপন করবে এবং শূন্যস্থানগুলি স্থানগুলি উপস্থাপন করবে।

উপরের-ডান কোণটি ম্যাট্রিক্সের মূল "তির্যক" এর উপরে থাকা সমস্ত এন্ট্রি শূন্য করে সরিয়ে ফেলা হয়েছে:

1 0 0
0 1 0
1 0 1
0 1 0
1 0 1
0 1 0
1 0 1
0 1 0
1 0 1

উপাদানটির ভিত্তিতে এই ম্যাট্রিক্সকে নিজেই উল্লম্বভাবে উল্টানো সংস্করণ দ্বারা গুণিত করা নীচের ডান কোণটিও সরিয়ে দেয়। ট্রান্সপোসিংয়ের পরে দেয়

1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0
0 0 1 0 1 0 1 0 0

এটি ষড়ভুজ হিসাবে দেখতে শুরু হয়। প্রতিসাম্য ব্যবহার করে, গ্রিডটি উপরের অর্ধেক উত্পাদন করতে প্রসারিত হয়:

0 0 1 0 1 0 1 0 0
0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0
0 0 1 0 1 0 1 0 0

প্রতিবেশী সংখ্যার দ্বারা এখন আমাদের প্রতিটি এন্ট্রি একের সমান প্রতিস্থাপন করতে হবে। এর জন্য আমরা একটি 3 × 5 পাড়ার (যেমন, কার্নেলটি 3 × 5 এর ম্যাট্রিক্সগুলির সাথে) সমাবর্তন ব্যবহার করি। ফলাফল,

2 3 4 5 5 5 4 3 2
4 5 7 7 8 7 7 5 4
4 6 7 8 7 8 7 6 4
4 5 7 7 8 7 7 5 4
2 3 4 5 5 5 4 3 2

দুটি সমস্যা রয়েছে (যা পরে সমাধান করা হবে):

  1. সমস্ত অবস্থানের জন্য মানগুলি গণনা করা হয়েছে, তবে আমাদের কেবল শূন্য-এক গ্রিডের অবস্থানে তাদের প্রয়োজন।
  2. এই অবস্থানগুলির প্রত্যেকের জন্য, প্রতিবেশী গণনাটি পয়েন্টটি নিজেই অন্তর্ভুক্ত করে, তাই এটি বন্ধ 1

কোডটি এখন 47প্রতিটি গণিত মান যুক্ত করে। এটি 1ইস্যু (2) সমাধান করার জন্য বিয়োগ করে এবং 48(এএসসিআইআই '0') যুক্ত করার সাথে মিলে যায়, যা প্রতিটি সংখ্যাকে তার সংশ্লিষ্ট চরটির কোড পয়েন্টে রূপান্তর করে।

ফলস্বরূপ ম্যাট্রিক্সটি শূন্য-ওয়ান গ্রিডের অনুলিপি দ্বারা গুণিত হয়। এটি ষড়ভুজ গ্রিডের অংশ নয় এমন পয়েন্টগুলি আবার শূন্যের সমান করে উপরে (1) ইস্যুটি সমাধান করে:

 0  0 51  0 52  0 51  0  0
 0 52  0 54  0 54  0 52  0
51  0 54  0 54  0 54  0 51
 0 52  0 54  0 54  0 52  0
 0  0 51  0 52  0 51  0  0

অবশেষে, সংখ্যার এই অ্যারেটি একটি চর অ্যারেতে ফেলে দেওয়া হয়। শূন্য চরগুলি স্থান হিসাবে প্রদর্শিত হয় যা চূড়ান্ত ফলাফল দেয়:

  3 4 3  
 4 6 6 4 
3 6 6 6 3
 4 6 6 4 
  3 4 3  

15

জাভাস্ক্রিপ্ট (ES6), 118 117 বাইট

n=>[...Array(m=n+--n)].map((_,i,a)=>a.map((_,j)=>(k=j-(i>n?i-n:n-i))<0?``:k&&++j<m?i/2%n?6:4:3+!i%n).join` `).join`\n`

যেখানে \nএকটি আক্ষরিক নিউলাইন চরিত্র উপস্থাপন করে। ব্যাখ্যা: ধরুন n=4। আমরা নিম্নলিখিত স্পেস-বিভাজিত অঙ্ক বর্গ দিয়ে শুরু করি:

0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0

প্রথম |n-i| 0গুলি মুছে ফেলা হয়েছে, তবে স্থানগুলি রয়ে গেছে:

   0 0 0 0
  0 0 0 0 0
 0 0 0 0 0 0
0 0 0 0 0 0 0
 0 0 0 0 0 0
  0 0 0 0 0
   0 0 0 0

তাত্ক্ষণিক ষড়ভুজ! এরপরে 0আমরা প্রথম বা শেষ সারিতে এবং / অথবা কলামে আছি কিনা তা পরীক্ষা করে প্রতিটিের যথাযথ মান গণনা করা যথেষ্ট । সম্পাদনা: @ আরনাউল্ডকে ধন্যবাদ 1 বাইট সংরক্ষিত


আপনার কিছু সূত্র ব্যবহার করে, আমি / কনসোল.লগ () এর সাথে একটি 107 বাইট সংস্করণে এসেছি:n=>{for(i=n+--n;i--;)console.log(' '.repeat(l=i>n?i-n:n-i)+(j=3+!l%n)+` ${l-n?6:4}`.repeat(2*n-l-1)+' '+j)}
আর্নল্ড

@ আরনাউল্ড আমি এটি পছন্দ করি 3+!i%n!
নীল

7

পাইথন 2, 125 123 বাইট

def h(n):m=n-1;t=[' '*(m-r)+' '.join(('46'[r>0]*(r+m-1)).join('34'[r%m>0]*2))for r in range(n)];print'\n'.join(t+t[-2::-1])

টেস্টগুলি আদর্শে রয়েছে

উপরের মধ্যের সারিগুলিতে for r in range(n)স্ট্রিংগুলি তৈরি করে:
- দুটি কোণ বা দুটি প্রান্ত তৈরি করা '34'[r%m>0]*2;
- তাদের পুনরাবৃত্তি সঙ্গে যোগদান করে ভর্তি '6'বা '4', '46'[r>0]*(r+m-1);
- সাথে কোণ এবং প্রান্ত যোগদান ' ';
- স্পেস দিয়ে প্রিপেন্ডিং ' '*(m-r);

তারপরে এটি মুদ্রণ করে এবং এটি মাঝের সারির প্রতিচ্ছবিতে নতুন লাইনে যুক্ত হবে, print'\n'.join(t+t[-2::-1])


4

পাইথন 2, 96 বাইট

n=input();m=n-1
while n+m:n-=1;j=abs(n);c='34'[0<j<m];print' '*j+c+' '+'46  '[j<m::2]*(2*m+~j)+c

এটি দেখতে বেশ অগোছালো এবং কিছুটা গল্ফযোগ্য ...


3

জাভা, 375 363 361 339 329 317 293 বাইট

interface J{static void main(String[]r){int i=0,k,h=Integer.decode(r[0]),a=1,l,n=0;for(;i++<h*2-1;n+=a){if(n==h-1)a=-1;String s="";for(k=0;k<n+h;k++,s+=" ")s+=n==0?k==0||k==n+h-1?3:4:k!=0&&k!=n+h-1?6:n==h-1?3:4;l=(h*4-3-s.trim().length())/2;System.out.printf((l==0?"%":"%"+l)+"s%s\n","",s);}}}

Ungolfed

interface J {
    static void main(String[] r) {
        int i = 0, k, h = Integer.decode(r[0]), a = 1, l, n = 0;
        for (; i++ < h * 2 - 1; n += a) {
            if (n == h - 1) {
                a = -1;
            }
            String s = "";
            for (k = 0; k < n + h; k++, s += " ") {
                s += n == 0 ? k == 0 || k == n + h - 1 ? 3 : 4 : k != 0 && k != n + h - 1 ? 6 : n == h - 1 ? 3 : 4;
            }
            l = (h * 4 - 3 - s.trim().length()) / 2;
            System.out.printf((l == 0 ? "%" : "%" + l) + "s%s\n", "", s);
        }
    }
}

ব্যবহার :

$ java J 5
    3 4 4 4 3     
   4 6 6 6 6 4    
  4 6 6 6 6 6 4   
 4 6 6 6 6 6 6 4  
3 6 6 6 6 6 6 6 3 
 4 6 6 6 6 6 6 4  
  4 6 6 6 6 6 4   
   4 6 6 6 6 4    
    3 4 4 4 3

আমি নিশ্চিত যে ভয়াবহ নেস্ট করা যদি অন্যটি ব্লককে আরও ছোট আকারে লেখা যায় তবে এই মুহূর্তে আমি এটি বের করতে পারি না। কোনও পরামর্শ স্বাগত :-)

হালনাগাদ

  • কেভিন ক্রুইজসেনের পরামর্শ অনুসরণ করেছেন এবং পার্সেন্টের পরিবর্তে ডিকোড ব্যবহার করেছেন।
  • টের্নারি অপারেটরটি ব্যবহার করে কিছু আইএফএস লিখুন।
  • আরও টের্নারি অপারেটর।
  • মোয়ার টেরেনারি অপারেটররা! আমি মনে করি আমি একটি দানব তৈরি করেছি!
  • মুদ্রণ সম্পর্কিত যদি অন্যথায় ব্লকটি পুনরায় লিখুন।

1
আপনি নিজে যে পদ্ধতিটি ব্যবহার করেন Integer.parseIntসেদিকে আমি এটি খুব কাছ থেকে দেখিনি , তবে আপনার বর্তমান কোডের জন্য কয়েকটি ছোট গল্ফিং টিপস: এতে গল্ফ করা যেতে পারে Integer.decodel=(h*4-3-s.trim().length())/2;if(l==0)গল্ফ করা যেতে পারে if((l=(h*4-3-s.trim().length())/2)==0)। এছাড়াও, ক্লাস ছাড়াই কেবল কোনও পদ্ধতি পোস্ট করা সম্পূর্ণভাবে গ্রহণযোগ্য (যদি না প্রশ্নটি অন্যথায় না বলে) তবে এর void f(int i){...use i...}পরিবর্তে interface J{static void main(String[]r){...i=Integer.decode(r[0])...use i...}, আপনাকে বেশ কয়েকটি বাইটও সংরক্ষণ করতে হবে। আমার আরও সময় পেলে আমি আরও তাকাব।
কেভিন ক্রুইজসেন

@ কেভিন ক্রুজসেন: আপনার পরামর্শের জন্য আপনাকে ধন্যবাদ। l=(h*4-3-s.trim().length())/2;if(l==0)আসলে একই দৈর্ঘ্য if((l=(h*4-3-s.trim().length())/2)==0)
মাস্টার_এক্স

2

05 এ বি 1 ই , 44 বাইট

FN_i4ë6}ð«¹ÍN+×ðìN_N¹<Q~i3ë4}.ø¹<N-ð×ì})¦«»

ব্যাখ্যা

ষড়ভুজটির শীর্ষ এবং নীচের অংশটি মিরর হওয়া হিসাবে আমাদের কেবল উপরের অংশটি তৈরি করতে হবে।
সুতরাং এক্স ইনপুট জন্য আমাদের এক্স সারি উত্পন্ন করতে হবে । এটিই মূল লুপটি করে।

F                                        }

তারপরে আমরা সারিগুলির মাঝের অংশটি করি।
এটি প্রথম সারির জন্য 4 এবং বাকীটির জন্য 6 (যেমন আমরা কেবল উপরের অংশটি করছি)।
আমরা এই সংখ্যাটি একটি স্থানের সাথে একত্রিত করি কারণ প্যাটার্নটির জন্য সংখ্যার মধ্যে ব্যবধান প্রয়োজন।

N_i4ë6}ð«

এরপরে আমরা এই স্ট্রিংটি X-2 + N বার পুনরাবৃত্তি করি যেখানে N বর্তমান সারির 0--indexed এবং বাম পাশে একটি স্পেস অক্ষর প্রেন্ডেন্ড করে।

¹ÍN+×ðì

এর পরে এটি কোণার জন্য সময়। তারা থাকবে 3 এবং প্রথম ও শেষ সারিতে 4 মধ্যম সারি জন্য।

N_N¹<Q~i3ë4}.ø

এখন আমাদের নিশ্চিত করতে হবে যে প্রতিটি সারির সামনের অংশে স্পেস যুক্ত করে সারিগুলি সঠিকভাবে রেখাযুক্ত হয়েছে। যুক্ত হওয়া স্পেসের সংখ্যাটি এক্স -1-এন হবে

¹<N-ð×ì

এখন আমরা গ্রিডের উপরের অংশটি সম্পন্ন করেছি, আমরা সারিগুলিকে একটি তালিকায় যুক্ত করব, বিপরীত অনুলিপি তৈরি করব এবং সেই অনুলিপিটি থেকে প্রথম আইটেমটি সরিয়ে ফেলব (যেহেতু আমাদের কেবল একবার কেন্দ্রীয় সারি প্রয়োজন), তারপরে এই 2 টি তালিকা একসাথে মার্জ করুন এবং ছাপা.

)¦«»

এটি অনলাইন চেষ্টা করুন!

অতিরিক্ত সমাধান, এছাড়াও 44 বাইট:

ÍÅ10.øvN_i4ë6}ð«¹ÍN+×ðìyi4ë3}.ø¹<N-ð×ì})¦«»

2

রুবি, 87 বাইট

বেনামে ফাংশনটি আর্গুমেন্ট হিসাবে এন নেয় এবং স্ট্রিংগুলির একটি অ্যারের প্রদান করে।

->n{(1-n..n-=1).map{|i|j=i.abs
" "*j+(e=j%n>0?"4 ":"3 ")+["6 ","4 "][j/n]*(2*n-1-j)+e}}

পরীক্ষা প্রোগ্রামে অসম্পূর্ণ

স্টিডিনের মাধ্যমে ইনপুট দিন। পুরো আকারটি স্টডআউটে লিখেছেন। বেশ স্ব স্ব বর্ণনাকারী।

f=->n{
  (1-n..n-=1).map{|i|            #reduce n by 1 and iterate i from -n to n
    j=i.abs;                     #absolute magnitude of i
    " "*j+                       #j spaces +
    (e=j%n>0?"4 ":"3 ")+         #start the string with 3 or 4 +
    ["6 ","4 "][j/n]*(2*n-1-j)+  #2*n-1-j 6's or 4`s as appropriate +
    e                            #end the string with another 3 or 4
  }
}

puts f[gets.to_i]

1

ভি , 60 বাইট

Àé x@aA4 xr3^.òhYpXa 6^òkyHç^/:m0
Pç 3.*6/^r4$.
òÍ6 4./6

এটি অনলাইন চেষ্টা করুন!

এটি আসলে অনেক দীর্ঘ। এখানে একটি হেক্সডাম্প রয়েছে, যেহেতু এটিতে অরক্ষিত অক্ষর রয়েছে:

0000000: c0e9 2078 4061 4134 201b 7872 335e 2ef2  .. x@aA4 .xr3^..
0000010: 6859 7058 6120 361b 5ef2 6b79 48e7 5e2f  hYpXa 6.^.kyH.^/
0000020: 3a6d 300a 50e7 2033 2e2a 362f 5e72 3424  :m0.P. 3.*6/^r4$
0000030: 2e0a f2cd 3620 9334 852e 2f36            ....6 .4../6

1

র‌্যাকেট, 487 বাইট

(λ(n c e o)(let((sp(append(range(- n 1)-1 -1)(reverse(range(- n 1)0 -1))))
(mm(append(range(- n 2)(-(+ n(- n 1))2))(range(-(+ n(- n 1))2)(-(- n 1)2)-1)))
(r""))(for((i sp)(j mm))(define str"")(for((ss i))(set! str(string-append str" ")))
(set! str(string-append str(if(or(= i 0)(= i(- n 1))(= i(* 2(- n 1))))c e)" "))
(for((jj j))(set! str(string-append str(if(= j(- n 2))e o)" ")))(set! r(if(or(= i 0)
(= i(- n 1))(= i(* 2(- n 1))))c e))(set! str(string-append str r))(displayln str))))

পরীক্ষামূলক:

(f 4 "3" "4" "6") 

   3 4 4 3
  4 6 6 6 4
 4 6 6 6 6 4
3 6 6 6 6 6 3
 4 6 6 6 6 4
  4 6 6 6 4
   3 4 4 3

(f 5 "o" "*" "-") 

    o * * * o
   * - - - - *
  * - - - - - *
 * - - - - - - *
o - - - - - - - o
 * - - - - - - *
  * - - - - - *
   * - - - - *
    o * * * o

বিস্তারিত সংস্করণ:

(define(f1 n c e o)
  (let ((sp(append(range(sub1 n) -1 -1)
                  (reverse(range(sub1 n) 0 -1))))
        (mm(append(range(- n 2)(-(+ n(sub1 n)) 2))
                  (range(-(+ n(sub1 n)) 2)(-(sub1 n)2) -1) ))
        (r ""))
    (for((i sp)(j mm))
      (define str "")
      (for((ss i))(set! str(string-append str " ")))
      (set! str(string-append str
                              (if(or(= i 0)(= i(sub1 n))
                                    (= i(* 2(sub1 n)))) c e)
                              " "))
      (for((jj j))
        (set! str(string-append str
                                (if(= j(- n 2)) e o)
                                " ")))
      (set! r(if(or(= i 0)
                   (= i(sub1 n))
                   (= i(* 2(sub1 n)))) c e))
      (set! str(string-append str r))
      (displayln str))))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.