প্রতিটি বর্ণের 4 কপি সহ বর্ণমালা তৈরি করুন


27

লক্ষ্য করুন যে এটি বর্ণমালাটি চারবার মুদ্রণের মতো নয় ।

এই টাস্কটি হ'ল স্ট্যান্ডার্ড আউটপুটে ইংরেজি বর্ণমালার প্রতিটি অক্ষরের চারটি অনুলিপি, প্রতিটি লাইনে একটি করে অক্ষর উত্পন্ন করার জন্য একটি প্রোগ্রাম লিখতে হয়:

A
A
A
A
B
B
B
B

প্রভৃতি

আউটপুট প্রতিটি অক্ষরের পরে নতুন লাইন অন্তর্ভুক্ত করা উচিত।

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

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

সম্পূর্ণতার উপরোক্ত প্রশ্নটি একটি সি সমাধানের প্রসঙ্গে এসেছিল। একটি কোড গল্ফিং সাইটে অবশ্যই এই সম্পর্কে একটি স্থায়ী নিয়ম বা কনভেনশন থাকতে হবে? যদি তা হয় তবে আমি আনন্দের সাথে সম্প্রদায়টির নির্দেশিকাগুলি উপস্থাপন করব। তবে এটি আমার গ্রহণ:

  1. বিশেষত সি সম্পর্কিত, আপনাকে কোডের চারপাশে main(){... (এবং গণনা) }করতে হবে, কারণ এটি অন্যথায় সংকলন করবে না। সতর্কতাগুলি কারণ #include <stdio.h>কোডগুলি এখনও সঙ্কলিত হয় না যতক্ষণ না fine সাধারণভাবে, একটি সংকলিত ভাষার জন্য একটি সংকলনযোগ্য ইউনিট প্রয়োজন।

  2. একটি প্রকাশ্য অভিব্যক্তি যা কাঙ্ক্ষিত ফলাফল দেয় তা গ্রহণযোগ্য হয় যদি সরাসরি এক্সপ্রেশনটি কার্যকর করার কোনও উপায় থাকে; উদাহরণস্বরূপ, যদি ভাষাটির একটি আরপিএল থাকে। আপনি যদি একটি ছাড়া Haskell, জমা দিতে পারেন তাই main=যতদিন এটি আসলে যেমন এ লিখিত কাজগুলি যেমন যেমনghci প্রম্পট। তবে যেহেতু এর অর্থ letআপনার ঘোষণার উপর চাপ দেওয়া, তাই এটি runhaskellফর্ম্যাটটি আটকে রাখার নেট জেতা ।

  3. একইভাবে, awkস্ক্রিপ্টগুলি BEGIN(বা END, স্টিডিনের সাথে সংযুক্ত রয়েছে এই ধারণার সাথে /dev/null) ব্লকগুলিতে থাকতে হবে যেহেতু আমরা কোনও ইনপুট প্রক্রিয়াজাত করছি না।

প্রভৃতি


4
আমি কিছুটা বিভ্রান্ত প্রতি অক্ষরের সাথে বর্ণমালা আউটপুট দেওয়ার জন্য এখানে চ্যালেঞ্জটি কি কেবল চারবার পুনরাবৃত্তি হয়েছে, বা আউটপুটটি আসলে কোনও ফাইলেও সংরক্ষণ করতে হবে?
ইসজি

এবং আমার কি কেবল বর্ণমালা আউটপুট করতে হবে ?
জাস্টিন

@ মারকরেইডের মাঝে কি আমাকে নতুন লাইনের সাথে মুদ্রণ করা দরকার? কেন এটি কেবল মুদ্রণ নয়, তবে নতুন লাইনের alচ্ছিক?
জাস্টিন

3
এছাড়াও, আমি আপনার চ্যালেঞ্জটি পুনর্নির্মাণের পরামর্শ দিচ্ছি যাতে এটি আরও একটি চ্যালেঞ্জের মতো হয় এবং আপনি কীভাবে নিজের উত্তরটি আবিষ্কার করেছিলেন তার গল্পটি বলার মতো কম।
জাস্টিন

শেষ বিট শ্বেতস্পেসকে কেবলমাত্র একটি বাচ্চাকে নিয়ন্ত্রিত করে। তুমি কি পরিষ্কার করে বলতে পারো? বিশেষত, আমি কি অতিরিক্ত শ্বেত স্থান ঠিক আছে তা ব্যাখ্যা করার জন্য এটি সঠিকভাবে পড়ছি তবে নতুন লাইনের বাদ দেওয়া কি নয়?
ইসজি

উত্তর:


16

এপিএল (5)

⍪4/⎕A

বর্ণমালা ( ) এর 4-প্রতিরূপ ( 4/) এর ম্যাট্রিক্স ফর্ম্যাট ( ⎕A)।


1
মারধর করা অসম্ভব বলে মনে হচ্ছে। :)
মার্ক রিড


এপিএল একটি কোড-পৃষ্ঠা ব্যবহার করে যা প্রতিটি বাইটে এটি ব্যবহার করে প্রতিটি অক্ষরকে মানচিত্র করে। আইবিএমের ওয়েবসাইটে এই কোড পৃষ্ঠাটি পাওয়া যাবে
স্টিভেন এইচ।

@StevenH। লিঙ্কটি মারা গেছে
স্টান স্ট্রাম

@ স্ট্যানস্ট্রাম আমি বিশ্বাস করি লিঙ্কটি অবজ্ঞার কারণে মরে গেছে, তবে কোড গল্ফ করার জন্য এই মেটা উত্তরটি কাজ করা উচিত।
স্টিভেন এইচ।

11

পাইথন - 37

for i in range(104):print chr(i/4+65)

i0 থেকে 104 পর্যন্ত যায়; এটি চারটি দ্বারা বিভক্ত করা হয়েছে এবং এর জন্য ascii মান যুক্ত করা হয় A, এবং ফলস্বরূপ অক্ষর মুদ্রিত হয়।


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

@ এলসজি - পাইথন অপারেশনগুলির ধরণ থেকে তার সূত্র ধরে। 3/40, যখন 3.0/4.00.75; range()পূর্ণসংখ্যা উত্পন্ন করে।
মার্ক রিড

1
এটি পাইথনের নতুন সংস্করণগুলিতে কাজ করে না। প্রথমত, মুদ্রণ ফাংশনটি বন্ধনী সহ কল ​​করা উচিত, এবং / আর ডিফল্ট অনুসারে পূর্ণসংখ্যা বিভাগ করা হয় না (এমনকি উভয় সংখ্যা পূর্ণসংখ্যা হলেও), যা // এর কাজ চেষ্টা করুন:for i in range(104):print(chr(i//4+65))

3
@ সচেতনতা আমি জানি আমি ইচ্ছাকৃতভাবে একটি পুরানো সংস্করণ ব্যবহার করা পছন্দ করেছি যাতে এটি আরও ভালভাবে গল্ফ করা যায়। আপনি যদি আইডিয়ন ডটকম এ চালনা করেন তবে আপনি "পাইথন 3" এর পরিবর্তে "পাইথন" বেছে নিতে চান
জাস্টিন

3
@ চেতনা - "পাইথনের নতুন সংস্করণ" দ্বারা, আপনি "পাইথন 3" উল্লেখ করছেন, যা এই মুহুর্তে সর্বজনীনভাবে গৃহীত নয়। আমি সাধারণত ধরে নিয়েছি যে নির্দিষ্ট সংস্করণ ছাড়া "পাইথন" বলে দাবি করা যে কোনও কিছুই পাইথন ২.x অন্যথায় প্রমাণিত না হওয়া পর্যন্ত; পাইথন 3 কোডটি স্পষ্টভাবে এত লেবেলযুক্ত হতে থাকে।
মার্ক রিড

8

আর, 30 28 27

write(rep(LETTERS,e=4),1,1)

30 বাইট সহ পূর্ববর্তী সংস্করণ:

cat(rep(LETTERS,e=4),sep="\n")

আমি মনে করি একটি আক্ষরিক সম্পর্কে newline একটি বাইট খাটো :)
: Giuseppe

@ জিউসেপ আপনি কি এই ধারণাটি নির্দিষ্ট করতে পারবেন?
সোভেন হোহেনস্টেইন


@ জিউজ্পে সত্যিই ভাল ধারণা! নির্দেশ করার জন্য ধন্যবাদ।
সোভেন হোহেনস্টেইন

আপনি ব্যবহার করতে পারেন 1পরিবর্তে ""মধ্যে stdout- এ নির্দিষ্ট করতে writeযা অন্য বাইট সংরক্ষণ পাশাপাশি।
জিউসেপে

7

সি, 59

আমি এটি জমা দিচ্ছি, একটি অপ্রকাশিত দীর্ঘতর উত্তর, কেবলমাত্র আমি এখনও সি জমা দিতে দেখছি না বলেই। এবং এটি আমাকে দু: খিত করে তোলে। : - /

লেটার: @ মওলার কাছে প্রপসগুলি এর "/ 4" ইনট্রি সংস্করণ করার জন্য 13 টি অক্ষর সংরক্ষণ করছে!

float i;main(){while(i<26)printf("%c\n",65+(int)i),i+=.25;}

আমি আমার উত্তর সম্পাদনা করেছি, এখন আরও 2 টি অক্ষর সংরক্ষণ করছি!
মোয়ালা

এবং অন্য এক!
মোয়ালা

6

জে: 18 13

4#u:65+i.26 1

আমি এখনও জে এর সাথে বেশ নড়বড়ে, সুতরাং সম্ভবত এটি উন্নত করা যেতে পারে


3
আপনি প্রতিলিপি (ব্যবহার করতে পারেন #, যাতে মত) পরিবর্তে বিভাজন: 4#u:65+i.26 1। এছাড়াও, ~একটি ফাংশনের যুক্তিগুলি অদলবদল করে, তাই যদি আপনি কখনও নিজেকে আবিষ্কার করে দেখেন তবে কোনও অক্ষর সংরক্ষণ করার জন্য (expression) F valueআপনি এটিকে প্রতিস্থাপন করতে পারেন value F~ expression
মেরিনাস

@মারিনাস টিপটির জন্য ধন্যবাদ। আমি এখনও জে শিখছি এবং এই জাতীয় কৌশলগুলির সাথে কোনও ভাল তথ্য পাওয়া শক্ত।
PSWg

1
4#65{26,.\a.12 বাইট জন্য।
ফ্রাউনফ্রোগ

5

রুবি, 23

puts ([*?A..?Z]*4).sort

@ মানাত ওয়ার্কের সমস্ত ক্রেডিট - তার মন্তব্যটিকে উজ্জীবিত করুন, এটি নয়। :)


বিপুল. @ মান্যাটওয়ার্ক, আমি সম্পাদনা করব তবে স্পষ্টতই আমি কোনও creditণ পাওয়ার যোগ্য নই!
ড্যারেন স্টোন

5
এটি আরও ভাল তৈরি করুন puts [*?A..?Z].map{|i|[i]*4}বা puts ([*?A..?Z]*4).sort, সুতরাং উদাহরণগুলি হিসাবে অক্ষরগুলি অর্ডার হয়ে যায়।
manatwork

2
@ মানাত ওয়ার্ক: puts (?A..?Z).map{|i|[i]*4}একটি চরিত্র ছোট। আপনি mapসরাসরি একটি ব্যাপ্তিতে কল করতে পারেন , যাতে আপনার এই ক্ষেত্রে স্প্ল্যাটের প্রয়োজন হয় না।
মার্ক রিড

5

পাওয়ারশেল: 32 23

গল্ফ কোড:

[char[]](65..90*4)|Sort

walkthrough:

[char[]](... )বস্তুর একটি অ্যারে নেয় এবং এএসসিআইআই অক্ষরে রূপান্তর করে।
65..90এজেডের জন্য ASCII কোডগুলি।
*4সিরিজটি 4 বার পুনরাবৃত্তি করে।
|Sortআউটপুট সাজান।

বিঃদ্রঃ:

আপনি যদি কোনও ফাইলটিতে এই লিখিত চান >, তবে শেষে একটি ফাইলের নাম, পরে ফেলে দিন ।



5

বেফঙ্গ 98 - 18

1+::'g`#@_4/'A+,a,

একটি সংখ্যা সংরক্ষণ করে এবং এটি 104 এ পৌঁছানোর পরে শেষ করে কাজ করে 4 দ্বারা বিভক্ত সংখ্যার জন্য বর্ণমালার সাথে সম্পর্কিত চরিত্রটি মুদ্রণ করে একটি নিউলাইন অনুসরণ করে। তবে যদি প্রতিটি চিঠির পরে আমার একটি নতুন লাইন যুক্ত না হয় তবে এটি 16 টি অক্ষর:

1+::'g`#@_4/'A+,

যদি আমি আরও অক্ষর মুদ্রণ করতে পারি তবে হ্রাস করা যাবে (অর্থাত্ তারা চারটি বার) ( 6 6 টি অক্ষর এমনকি বেফঞ্জে 93 এও কাজ করে):

1+:4/,

নিউলাইন সহ:

1+:4/,a,


4

পার্ল 5, 21

map{print"$_
"x4}A..Z

2
পার্লের ডাবল-কোটেড স্ট্রিংয়ের ভিতরে আক্ষরিক নতুন লাইন স্থাপন করা আমার কাছে কখনও ঘটেনি। +1 টি।
মার্ক রিড

আমার খেয়াল করা উচিত, আমিও তা করি নি, তবে @ মানবতাত্ত্বিকটি আমার অন্য একটি উত্তরে এটি উল্লেখ করেছে এবং এটি আটকে গেছে!
ডম হেস্টিংস

4

সি, 46 44 43

46 :

i;main(){while(i<104)printf("%c\n",65+i++/4);}

44 :

i=260;main(j){for(;(j=i++>>2)<91;puts(&j));}

44 খুব:

i=260;main(j){while(j=i++>>2,j<91)puts(&j);}

@ মারিনাসকে ধন্যবাদ, 43:

i=260;main(j){while(j=i++/4,j<91)puts(&j);}

আমি কি 42 এ যাওয়ার জন্য একটি অনুগ্রহ যুক্ত করব? :)


6
50 জন যে কোনও বিষয়ে মন্তব্য করা প্রয়োজন এবং আপনার এই মন্তব্য পোস্ট করার সময় 101 রয়েছে।
syb0rg

গ্রেট! ধন্যবাদ! উত্তর সম্পাদিত!
মোয়ালা

1
আপনি >>2দ্বারা প্রতিস্থাপন করতে পারেন /4
মেরিনাস

4

জাভা: 56

for(int i=0;i<104;)System.out.println((char)(i++/4+65));

সম্পাদনা: 'মুদ্রণ' থেকে 'মুদ্রণ' এ পরিবর্তিত হয়েছে


আউটপুট প্রতিটি অক্ষরের পরে নতুন লাইন অন্তর্ভুক্ত করা উচিত।
পিয়ের আরলাড

উল্লেখ করার জন্য ধন্যবাদ, এটি এখন প্রতিটি সময় নতুন লাইন প্রিন্ট করা উচিত
Reblerebel

2
The solution must be complete enough to execute. I should be able to invoke an implementation of the language, paste the code from the answer, and get results, without typing any additional code. আমি মনে করি আপনার সমাধান এই শর্তটি লঙ্ঘন করেছে
user902383

2
@ ব্যবহারকারী 902383 আপনি এটি জেএসেল (জাভা 9-তে জাভা রিপিএল) এ পেস্ট করলে এটি কাজ করে এবং আপনার চূড়ান্ত সেমিকোলনও লাগবে না।
ডেভিড কনরাড

@ ডেভিডকনরড এর পরে এটি দুর্দান্ত, আমি মনে করি আমি আরইপিএল / জেএসেল ব্যবহার শুরু করতে পারি।
ব্যবহারকারী 902383


4

আসলে, 6 বাইট

4ú*SÖi

এখানে চেষ্টা করুন!

ব্যাখ্যা

4ú*SÖi

4 *         Do 4 times
 ú          Create string of alphabet in lowercase
   S        Sort it
    Ö       Switch Case
     i      Push each character of string

লোয়ারকেস সহ 4 বাইট এবং কোনও নিউলাইন নেই:

4ú*S

1
পিপিসিজিতে আপনাকে স্বাগতম!
এরিক আউটগল্ফার

4

16-বিট x86 মেশিন কোড এমএস-ডস সিওএম, 25 বাইট

হেক্সে:

B409BA160189D7B96800F6C1037502FE05CD21E2F5C3400A24

এটি একটি সম্পূর্ণ এমএস-ডস .কম প্রোগ্রাম। .Com এক্সটেনশন সহ ফাইলটিতে বাইট ক্রমটি অনুলিপি করুন এবং এটি ডসবক্স থেকে চালান

disassembly:

00: B4 09        mov    ah,0x09         ;INT 21h "Write string to STDOUT" function
02: BA 16 01     mov    dx,0x116        ;Address of the string s ('$'-terminated)
05: 89 D7        mov    di,dx           ;Because there's no way to dereference address in DX
07: B9 68 00     mov    cx,104          ;CX=26*4
_0000000A:
0A: F6 C1 03     test   cl,0x03         ;When lower two bits are zero...
0D: 75 02        jne    _00000011       ;...do not skip the next instruction
0F: FE 05        inc    b,[di]          ;*s++
_00000011:
11: CD 21        int    21              ;Print the string
13: E2 F5        loop   _0000000A       ;Until --CX==0
15: C3           retn
16: 40           db     0x40            ;s[0], starts with 'A'-1
17: 0A           db     0x0A            ;'\n'
18: 24           db     '$'             ;Terminator required by the print function


3

AWK, 48

আসুন এডাব্লুকে দিয়ে চেষ্টা করে দেখুন ...

END{s=65;for(i=104;i--;s+=0==i%4)printf"%c\n",s}

মানাটওয়ার্ক দ্বারা প্রস্তাবিত হিসাবে আমরা 2 টি অক্ষর থেকে মুক্তি পেতে পারি

এডাব্লুকে, 46 (সম্পাদনা করুন)

END{for(i=104;i--;s+=0==i%4)printf"%c\n",s+65}

এডাব্লুকে , 40 ( মার্করিডের কোড সম্পাদনা করছে )

END{for(;i<104;){printf"%c\n",i++/4+65}}

পরিবর্তনশীল s এর আরম্ভের সরানোর মাধ্যমে আপনি 2 অক্ষর অনাবশ্যক করতে পারেন: END{for(i=104;i--;s+=0==i%4)printf"%c\n",s+65}
manatwork

1
কোনও ENDব্লকে কোড রাখার অর্থ এটি কাজ করার জন্য একটি ইনপুট স্ট্রিমের প্রয়োজন (এমনকি এটি /dev/null)। এটি কি চরের গণনা সংশোধন করে? যাইহোক, BEGIN{for(;++i<104;){printf"%c\n",i/4+65}}পাঁচটি অক্ষর ছোট।
মার্ক রিড

@ মার্করিড আপনার কোডটি কাজ করছে না। পরীক্ষা করে দেখুন এই
Wasi থেকে

ডি ওহ। নিকটবর্তী! :) তবে আমি এখনও ENDইনপুট স্ট্রিমের জন্য প্যাটার্নের প্রয়োজনীয়তা পছন্দ করি না ...
মার্ক রিড

3

পাওয়ারশেল, 21

65..90|%{,[char]$_*4}

ইসিজির প্রতি কিছুটা ভিন্ন পন্থা। এবং সংক্ষিপ্ত :-)


3

সি # লিনিউ 115 বাইট 110 বাইট

Enumerable.Range(65, 26).SelectMany(i => Enumerable.Repeat(i,4))
.ToList().ForEach(i=> Console.WriteLine((char)i));

1
পিপিসিজিতে আপনাকে স্বাগতম! প্রথম প্রথম পোস্ট!
Rɪᴋᴇʀ



3

পার্ল 6, 32

.say for (('A'..'Z') »xx»4)[*;*]

আমি মনে করি এই প্রথম পার্ল 6 হ'ল প্রথম সমাধান যা আমি ভেবেছিলাম তবে হাইপারোপরেটরটি কেবল একটি প্রাকৃতিক ফিট বলে মনে হয়েছিল।
মার্ক রিড

3

ক্যানভাস , 5 বাইট

Z41*⟳

এখানে চেষ্টা করুন!

ব্যাখ্যা:
Code        | Explanation                                  | Stack
------------+----------------------------------------------+------------------------------
Z          | The uppercase alphabet                       | "ABC..."
  41*     | Stretched by 4 horizontally and 1 vertically | "AAAABBBBCCCC..."
        ⟳  | Rotated clockwise                            | "A¶A¶A¶A¶B¶B¶B¶B¶C¶C¶C¶C¶..."
            | Print ToS (implicit)                         |

সঙ্গে দিয়ে প্রতিস্থাপিত \nপ্রিন্টিং উপর।



3

ব্রেনফাক , 48 বাইট

+++[[-<+>>++<]+>]<<<<<<+[->,++++[->.<<<.>>]>+<<]

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

ছোট হাতের মুদ্রণগুলি, গাড়ীর রিটার্ন দ্বারা পৃথক। আপনি 8 টি বিট সেলগুলি মোড়ক ব্যবহারের পাশাপাশি উত্সের বাম কোষগুলি ব্যবহার করেন যদিও আপনি >পরবর্তীটির মোকাবেলার জন্য একটি প্রেন্ডেন্ড করতে পারেন ।


আমি একটি নতুন পোস্ট করতে চলেছিলাম, তবে আপনি আমার সেরাটি পুরোপুরি পরিচালনা করতে পেরেছেন, আমি ++++++ [-> ++> ++++> ++++++++ এর সাথে 71 বাইট পেয়েছি ++, <<<] ++++> + +> ++,> +++++ <[-।।।।।।।।> << >> << >> << >> + + <<>]
ক্রাইস্টস দ্য ওভারলর্ড 15




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