সি শিরোনামের নামগুলি সি ++ শিরোনামের নামগুলিতে রূপান্তর করুন


27

সি স্ট্যান্ডার্ড লাইব্রেরিতে শিরোনামের নামগুলি .hপ্রত্যয় দিয়ে শেষ হয় :

stdio.h

সি ++ তে, এই শিরোনামের নামগুলি বিকল্প রূপে উপলভ্য রয়েছে, cপরিবর্তে একটি উপসর্গ সহ :

cstdio

একটি ফাংশন লিখুন যা প্রথম রূপকে দ্বিতীয়টিতে রূপান্তর করে। আপনি স্থানান্তর করতে পারেন, বা মূল স্ট্রিং অক্ষত রেখে একটি নতুন স্ট্রিং ফিরে আসতে পারেন। আপনার পছন্দের ভাষাতে প্রাকৃতিক যাই হোক না কেন।

কোডটি অবশ্যই ত্রুটি ছাড়াই সংকলিত / ব্যাখ্যা করা উচিত। সংকলক সতর্কতা গ্রহণযোগ্য।

এখানে আপনার বেসলাইন সি সমাধান। এটিতে 70 টি অক্ষর রয়েছে এবং এটি সম্পর্কে একটি সতর্কতা উত্পন্ন করে strlen:

void f(char*h){int i=strlen(h);h[--i]=0;while(--i)h[i]=h[i-1];*h='c';}

সংক্ষিপ্ততম সমাধান (অক্ষরের সংখ্যায় পরিমাপ করা) বিজয়ী হয়।

আপডেট: আপনার পছন্দের ভাষা যদি ফাংশন সমর্থন করে না, পুরো প্রোগ্রামগুলিও গ্রহণযোগ্য।

আপডেট: FUZxxl দ্বারা প্রস্তাবিত হিসাবে, এখানে সি স্ট্যান্ডার্ড লাইব্রেরিতে শিরোনাম ফাইলগুলির একটি সম্পূর্ণ তালিকা রয়েছে:

assert.h
ctype.h
errno.h
float.h
limits.h
locale.h
math.h
setjmp.h
signal.h
stdarg.h
stddef.h
stdio.h
stdlib.h
string.h
time.h

বিশেষত, এগুলিতে একাধিক ডট সহ কোনও শিরোনামের নাম নেই।

উত্তর:


37

80386 মেশিন কোড, 13 বাইট

কোডের হেক্সডাম্প:

b0 63 86 01 41 3c 2e 75 f9 c6 01 00 c3

উত্স কোড (ভিজ্যুয়াল স্টুডিও দ্বারা সংকলিত করা যেতে পারে):

__declspec(naked) void __fastcall conv(char s[])
{
    _asm {
        mov al, 'c';            // b0 63
    myloop:
        xchg al, [ecx];         // 86 01
        inc ecx;                // 41
        cmp al, '.';            // 3c 2e
        jne myloop;             // 75 f9
        mov byte ptr [ecx], 0;  // c6 01 00
        ret;                    // c3
    }
}

এটি স্ট্রিংকে জায়গায় স্থানান্তর করে। কোডটি এত সহজ, এটি রেজিস্টারগুলি সংরক্ষণ এবং পুনরুদ্ধার করার প্রয়োজন নেই (কেবল alএবং ecxযা fastcallকনভেনশন ক্লোবারে অনুমতি দেয়) ব্যবহার করে।


ভাল
লাগল

অবশ্যই একটি শীতল সমাধান! তবে উত্স কোডটি আসলে 13 বাইট নয়, এটির কেবল সংকলিত রূপ (যা আমি মনে করি আমাদের মধ্যে কয়েকটি হেক্স সম্পাদককে লিখতে চাইবে)।
পার লুন্ডবার্গ

3
তাকে তার জয় দিন। বাইট = চরিত্রটি এখানে পুরোপুরি যুক্তিসঙ্গত ব্যাখ্যা।
জোশুয়া

7
@ পেরলুন্ডবার্গ আমি এই ক্ষেত্রে উত্স কোডটি "এটি কীভাবে কাজ করে" হিসাবে বিস্তৃত / মন্তব্যযুক্ত ব্যাখ্যাটি দেখায় যে প্রচুর লোক তাদের আল্ট্রা-কমপ্যাক্ট ভাষায় অন্তর্ভুক্ত করে। এই জাতীয় একটি ছোট প্রোগ্রামের জন্য এটি খুব ভাল হাতে লেখা যেতে পারে। :)
এলোমেলো

@ ফ্লাফি ফেয়ার পয়েন্ট এবং হ্যাঁ, হৃদয় দিয়ে বাইনারি কোড লিখতে পারে এমন লোকের সংখ্যা অবশ্যই>> 0, যদিও আমি নিজেকে এমন কৌতুকপূর্ণ কাউকে জানি না। ;)
প্রতি লুন্ডবার্গ


14

সিজেম, 6 বাইট

'clW(<

এটি একটি সম্পূর্ণ প্রোগ্রাম যা STDIN এর মাধ্যমে স্ট্রিংটি পড়ে

ব্যাখ্যা :

'c               "Put character c on stack";
  l              "Read a line from STDIN";
   W             "W is a predefined variable with value -1";
    (            "Decrease the value by 1";
     <           "Remove last 2 characters from the string on stack, the input argument";

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


-2ঠিক তেমন ভাল না W(?
Esolanging ফল


11

ব্রেনফাক - 25 23 বাইট

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

যদি আপনার পছন্দের ভাষা ফাংশন সমর্থন করে না, পুরো প্রোগ্রামগুলিও গ্রহণযোগ্য।

এটি একটি সম্পূর্ণ প্রোগ্রাম যা এসটিডিআইএন থেকে ইনপুট নেয়।

,[>,]      get all bytes of input
<-----.    subtract 5 from last byte (always "h"; "h" minus 5 = "c") and print result
<,         set second last byte to 0 by abusing comma
<[<]>      go to first byte
[.>]       print byte and move right until hitting 0


@ ফেয়ারসাম যদি আপনার দোভাষী আপনাকে বাম প্রান্ত থেকে সরে যেতে দেয় তবে হ্যাঁ। আমি কখনও ব্যবহার করেছি এমন প্রত্যেকটি টেপটি লুপ করে।
আন্ডারগ্রাউন্ডোমোনাইল

2
@ ফেয়ারসাম আপনি যদি এটি চেষ্টা করতে চান তবে আপনার দোভাষী আপনাকে পড়তে দেয় তবে আপনি >এটি শুরুতে এটি ঠিক করতে পারেন ।
আন্ডারগ্রাউন্ডোমোনাইল

10

হাস্কেল - 23 টি অক্ষর

('c':).takeWhile(/='.')

হাস্কেল - ১ characters টি অক্ষর, নিমির পরামর্শ অনুসারে

('c':).init.init

2
init.initপ্রথমটিতে সমস্ত কিছু না নিয়ে সর্বশেষ 2 টি অক্ষর ফেলে দেওয়া .কয়েক বাইট সংরক্ষণ করে।
নিমি

@ নিমি এটি দুর্দান্ত একটি পরামর্শ!
ফ্রেডওভারফ্লো

10

সি, 38

আইডিয়নে দেখুন

f(s,o){snprintf(o,strlen(s),"c%s",s);}

sইনপুট স্ট্রিংয়ের পয়েন্টার এবং oআউটপুট যেখানে লেখা উচিত should

আমি গালি দেওয়ার উপায় খুঁজে পেয়েছি snprintf। আউটপুট স্ট্রিংটি সুবিধামত ইনপুটটির চেয়ে একটি অক্ষর সংক্ষিপ্ত আকার ধারণ করে এবং স্ট্রিংয়ের সর্বাধিক দৈর্ঘ্যটি আর্গুমেন্টের snprintfচেয়ে 1 কম n, সুতরাং এটিটি কেটে দেয় .h। দ্রষ্টব্য: এই কৌশলটি মাইক্রোসফ্টের প্রয়োগের সাথে কাজ করবে না কারণ এটি ভুল কাজ করে এবং স্ট্রিংটি বাতিল করতে ব্যর্থ হয়।


8

উইন্ডোজ ব্যাচ ফাইল 11

@echo c%~n1

পাস হওয়া প্রথম প্যারামিটারটি% 1। ~ N সংশোধক প্রসার ছাড়াই কেবল ফাইলের নাম দেয়।

যদি স্ক্রিনে বর্ধিত কমান্ডটি প্রতিধ্বনিত করতে গ্রহণযোগ্য হয়, তবে প্রাথমিক @ টি সরানো যেতে পারে।


8

টিআইএস নোড প্রকার টি 21 আর্কিটেকচার - 85 বাইট

এই উত্তরটি কেবল মজাদার জন্য; এই চ্যালেঞ্জটি লেখার পরে ভাষাটি অস্তিত্ব নিয়ে এসেছিল এবং তাই আমি এটি দিয়ে জিততে পারি না। (এমন নয় যে আমি যাচ্ছিলাম।)

ঠিক আছে, আমি এই এক সাথে কিছু মজা ছিল। আমি সম্ভবত উচিত শুধু ভাষা "টিআইএস- 100", কিন্তু কেন বিরতি চরিত্র ডাকলে? : ডি

টিআইএস -100 একটি সম্পূর্ণ অনন্য এবং উদ্ভট আর্কিটেকচার সহ কম্পিউটার প্রোগ্রামিং সম্পর্কিত একটি খেলা। আমি এই চ্যালেঞ্জের জন্য একটি কাস্টম ধাঁধা লিখেছি , যা আমাকে একটি সঠিক-সঠিক "স্ট্রিং" এর বিপরীতে ইনপুট নিতে এবং আউটপুট চেক করতে দেয়। দুর্ভাগ্যক্রমে, স্ট্রিং বা অক্ষরগুলি হ্যান্ডেল করার কোনও উপায় নেই, সুতরাং এই প্রোগ্রামটি কেবল ইনপুট এবং আউটপুট জন্য প্রতিটি অক্ষরের ASCII মান ব্যবহার করে।

আপনি যদি এটিকে অ্যাকশনে দেখতে চান তবে আপনি এই এমুলেটরটি ব্যবহার করতে পারেন , বা আমাকে এখানে আসল খেলায় চালাতে দেখেন । নোট করুন যে ভিডিওতে প্রথম নোডের চূড়ান্ত লাইন D:MOV UP NIL। ভিডিওটি শেষ করার পরে, আমি বুঝতে পেরেছি যে আমি এটি গল্ফ করতে পারি D:ADD UP। কার্যত কোনও পার্থক্য নেই, কারণ দুদকের মান অবিলম্বে যেভাবেই ওভাররাইট করা হবে।

আমার বাইট গণনার জন্য এটি ব্যবহার করা স্ট্রিং:

MOV 99 ANY
MOV -46 ACC
ADD UP
JEZ D
ADD ACC ANY
JRO -5
D:ADD UP
MOV UP ANY
MOV UP ANY

এটি প্রতিটি নন-খালি নোডের পাঠ্য, যা নিউলাইনগুলি দ্বারা বিভক্ত (একাধিক ফাইলের কোড সম্পর্কে আমাদের নিয়মকে মিরর করে, প্রথমটির বাইরে ব্যবহৃত প্রতিটি নোডের জন্য কার্যকরভাবে 1 বাইট যুক্ত করে)।


7

ডায়ালগ এপিএল (8 টি অক্ষর)

'c',¯2↓⊢

এই দ্রষ্টব্যটি আমি যে জে দ্রবণটি জমা দিয়েছিলাম ঠিক ঠিক একইরকম তবে এটির চেয়ে একটি অক্ষর কম হওয়ার কারণে একটি অক্ষর কম ব্যবহার করে }.


7

জে (9 টি অক্ষর)

'c',_2}.]
  • |yহয় মাত্রার এর y(নামেও পরম মান)
  • x }. y|xথেকে আইটেম ড্রপ y; xইতিবাচক হলে সামনে থেকে আইটেমগুলি বাদ দেওয়া হয় , শেষ থেকে xনেতিবাচক হলে।
  • x , yসংযোজন xএবং y
  • 'c' , _2 }. yরূপান্তর আপনি চান কি না; স্বতন্ত্র স্বরলিপি এ হিসাবে প্রকাশ করা যেতে পারে 'c' , _2 }. ]

7

অস্ট্রিচ 0.6.0 , 8 টি অক্ষর

););"c\+

)"ডান আনসন" অপারেটর। একটি স্ট্রিং প্রয়োগ, তখন তা, সক্রিয় উদাহরণস্বরূপ, `foo`মধ্যে `fo` `o`;অতিরিক্ত চরিত্রটি পপ করতে ব্যবহৃত হয়, এবং এটি আবার হয়ে যায়।

তারপর, "cধাক্কা দেওয়া হয়। এটি কেবল একটি সংক্ষিপ্তকরণ `c`

\+ শীর্ষ দুটি স্ট্যাকের উপাদানগুলি অদলবদল করে এবং তাদেরকে একত্রিত করে।


এই ভাষাটি কি আপনার দ্বারা নির্মিত হয়েছিল?
ইসমাইল মিগুয়েল

@ ইসমাইল মিগুয়েল হ্যাঁ ( মূল গিথুব রেপো দেখুন ))
ডুরকনব

আমি যদিও তাই। আমি ইতিমধ্যে এটি যাচাই করেছি, তাই এটি সম্পর্কে চিন্তাভাবনা করে। কোথাও সেই ভাষার কোনও রেফারেন্স নেই। শুধু এখানে. সুতরাং, আমি ধরে নিয়েছি এটি আপনার দ্বারা তৈরি হয়েছিল। একটি 14 বছর বয়সী ছেলেটির জন্য, আপনি প্রোগ্রামিংয়ে সত্যিই অনেক দূরে গিয়েছিলেন। +1000 তার জন্য!
ইসমাইল মিগুয়েল

@IsmaelMiguel ওহো, দুঃখিত, আপনি বলা উচিৎ ছিল যে আমি KeyboardFire GitHub থেকে। ধন্যবাদ!
ডুরকনব

আপনার দরকার নেই। এটি প্রায় নিহিত আমি ইসমাইল-মাইগুয়েল (খুব আসল, github.com/ismael-miguel দেখুন )। আমার কাছে সেখানে আকর্ষণীয় এবং দরকারী কিছু নেই তবে আপনি এটি পরীক্ষা করতে পারেন। তবে আমি আপনার ভাষার প্রতি আগ্রহী। কেবলমাত্র সম্পূর্ণ জিনিসটি পিএইচপি ( github.com/ismael-miguel/php-uintarray জন্য আগ্রহী যদি আপনি) জন্য UIntArray বর্গ হয়।
ইসমাইল মিগুয়েল

7

পিট ( 9x11 = 99 8X11 = 88)

v2

আরেকবার চেষ্টা করুন (2x37 = 74)

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

এটি একটি 99 ('সি') এবং একটি 46 ('।') তৈরি করার প্রয়োজন হওয়ায় এটি আরও ছোট করা শক্ত এবং এটি পিটে স্থান নেয়।


1
পিট অক্ষরগুলিতে কখনও পরিমাপ করা হয় না, কেবল কোডেল হয়, সুতরাং আপনাকে 0 টি অক্ষর বিট উল্লেখ করার দরকার নেই :) এছাড়াও এটি অনেকটা সাদা
Sp3000

সংকোচনের চেষ্টা করছি, তবে এটি কিছুটা কঠিন। যদি আমি আরও একটি সারি বা কলামটি সরিয়ে ফেলি তবে এটি বন্ধ করতে সমস্যা হচ্ছে।
ক্যাপচার্যাগ

এটি কিছুটা প্রতারণা, তবে আমি এটি পছন্দ করি। এটি /dev/nullআপনার উত্স-কোড হিসাবে ব্যবহারের মতো।
ইসমাইল মিগুয়েল

2
মেটা ( meta.codegolf.stackexchange.com/questions/4782/… ) অনুসারে , আপনার প্রোগ্রামটি শেষ করার দরকার নেই। যতক্ষণ না এটি কাজ করে ততক্ষণ আপনার প্রোগ্রাম চিরকালের জন্য চলতে পারে। প্রশ্নের প্রথম উত্তরটি পড়ুন।
ইসমাইল মিগুয়েল

6

এফ # - 39 37 31

31 - কারণ এফ # রকগুলিতে টাইপনিফারেন্স!

fun s->("c"+s).Replace(".h","")

37

fun(s:string)->"c"+s.Replace(".h","")

39

fun(s:string)->"c"+s.Remove(s.Length-2)

Foo.hoo.h. নামের একটি শিরোনামের জন্য কাজ করে না
FUZxxl

3
@FUZxxl সি স্ট্যান্ডার্ড লাইব্রেরিতে এমন কোনও শিরোনাম নেই।
ফ্রেডওভারফ্লো

@ ফ্রেড ওভারফ্লো আপনি নামগুলির সেটটি নির্দিষ্ট করতে চাইতে পারেন যার উপর রূপান্তরটি কাজ করতে পারে। এই মুহূর্তে আপনার প্রশ্নটি এমনভাবে বানানো হয়েছে যা লোকেরা ধরে নিতে পারে যে এই ধরণের ইনপুটটি সঠিকভাবে কাজ করবে।
FUZxxl

@FUZxxl আমি সেই অনুযায়ী প্রশ্ন আপডেট করেছি।
ফ্রেডওভারফ্লো



4

জিএনইউ সেড -r, 14

সেডের কার্যকারণের কোনও ধারণা নেই, সুতরাং পরিবর্তে এখানে একটি সম্পূর্ণ সেড প্রোগ্রাম রয়েছে:

s/(.*)../c\1/

আউটপুট

$ sed -r 's/(.*)../c\1/' <<< stdio.h
cstdio
$ 

-rএক অতিরিক্ত অক্ষর হিসেবে স্কোর অন্তর্ভুক্ত করা হয়েছে।


এই সমাধানটি অবৈধ: এটি সম্ভবত s/\(.*\)\.h/c\1/পরিবর্তে হওয়া উচিত ।
FUZxxl

@ এফজেডএক্সএক্সএল - আমি ধরে নিচ্ছি যে সেডে -rচলে গেছে। স্বাভাবিক কোড-গল্ফ অনুসারে আমার এটি অতিরিক্ত পয়েন্ট হিসাবে গণনা করা দরকার।
ডিজিটাল ট্রমা

@ ডিজিটালট্রেম নোটিশ এটি -rমানক বিকল্প নয় এবং জিএনইউ সেডের বাইরে উপলব্ধ নয়। এটি প্রতিফলিত করার জন্য আপনি ভাষাটির নামটি GNU সেডে পরিবর্তন করতে চাইতে পারেন।
FUZxxl

@FUZxxl হ্যাঁ সম্পন্ন.
ডিজিটাল ট্রমা

2
\.hসংক্ষিপ্ত করা যেতে পারে..
স্টিভেন তাসচুক

3

উপস্থাপন করুন , 31 অক্ষর

যেহেতু পুরো প্রোগ্রামের জমাটি আপাতভাবে গ্রহণযোগ্য, তাই এখানে এমন একটি প্রোগ্রাম রয়েছে যা এসটিডিআইএন থেকে সি-স্টাইল শিরোনামটি পড়ে এবং সি ++ - স্টাইল শিরোনামটি এসটিডিআউটে প্রিন্ট করে:

99+9+(?)###(#
9(1-)       ^)(!)

এর জন্য একটি স্ট্যান্ডার্ড-কমপ্লায়েন্ট ইন্টারপ্রেটার দরকার যা আউটপুটকে অক্ষর কোড হিসাবে মুদ্রণ করে। আপনি যদি পাইথন ইন্টারপ্রেটার ব্যবহার করছেন তবে আপনাকে সেট করতে হবে NUMERIC_OUTPUT = False

এটিরও দরকার যে STDIN- এ কোনও নতুন ট্র্যাক লেগেইন নেই।

ব্যাখ্যা

প্রিলিওডে সমস্ত লাইন সমান্তরালভাবে সঞ্চালিত হয়, একবারে একটি কলাম। প্রতিটি লাইনের নিজস্ব স্ট্যাক থাকে, অসীম পরিমাণে আরম্ভ করা হয় 0

99+9+
9(1-)

এটি শীর্ষতম 99স্ট্যাকের (চরিত্রের কোড c) পেতে একটি সংক্ষিপ্ততম আমি নিয়ে আসতে পারি । প্রথমে আমি 18উপরের স্ট্যাকটিতে যুক্ত করব এবং 9নীচের স্ট্যাকের দিকে একটি ঠেলাচ্ছি। নীচের অংশটি পরে 0একটি লুপে গুনে থাকে, যখন শীর্ষ স্ট্যাকটি আরও বেশি করে যোগ করে 9s এটি 99শীর্ষ স্ট্যাকের উপরে যোগ করে এবং নীচের স্ট্যাকটি 0আবার গুলি দিয়ে ছেড়ে যায়। নোট করুন যে সমস্ত +9+লুপের অংশ, সুতরাং পুনরাবৃত্তির জন্য আসলে দুটি সংযোজন অপারেশন রয়েছে, তবে এটি কোনও সমস্যা নয়, 0এর নীচে s এর অসীম সরবরাহের জন্য ধন্যবাদ ।

এখন (?)STDIN পড়ুন, একবারে একটি অক্ষর এবং শীর্ষ স্ট্যাকের দিকে ধাক্কা দেয়। লুপটি ইনপুটটির শেষে শেষ হয়, যখন ?একটি শূন্য চাপ দেয়। ###যে শূন্য পরিত্রাণ পায়, hএবং .। এখন পরবর্তী লুপটি নীচের স্ট্যাকে অনুলিপি করার সময় উপরের স্ট্যাক থেকে সংখ্যাগুলি পপ করে। এটি মূলত স্ট্যাকটিকে বিপরীত করে। নোট করুন যে উদ্বোধনী এবং সমাপনী বন্ধনীগুলি বিভিন্ন লাইনে রয়েছে - এটি কোনও সমস্যা নয়, কারণ এর উল্লম্ব অবস্থানটি )প্রিলেডে অপ্রাসঙ্গিক, তবে এটি আমাকে প্রথম লাইনে একটি বাইট সংরক্ষণ করে।

শেষ (!)অবধি, স্ট্যাকটি খালি না হওয়া পর্যন্ত সমস্ত অক্ষর মুদ্রণ করে।


3

পাইথ, 7 টি অক্ষর

L+\cPPb

ব্যাখ্যা:

L         def y(b):return
 +\c                      "c" +
    PPb                         b[:-1][:-1]

এটা চেষ্টা কর:

L+\cPPb
y"stdio.h

অনলাইন পাইথ সংকলক / নির্বাহকের উপর on


যদি পুরো প্রোগ্রামগুলির অনুমতি দেওয়া হয়:

পাইথ, 6 টি অক্ষর

+\cPPQ

পাইথ আমি কখনও দেখিনি। আপনি কি দয়া করে দয়া করে কোডটি ব্যাখ্যা করবেন? :)
ফ্রেডওভারফ্লো


আমি বিশ্বাস করি আপনি এর PPbপরিবর্তে ব্যবহার করতে পারবেন<b_2
FryAmTheEggman

@ ফ্রাইআম দ্য এজম্যান ধন্যবাদ
isaacg

দেখে মনে হচ্ছে সম্পূর্ণ প্রোগ্রাম অনুমোদিত, তাই আপনি 6 এ যেতে পারেন
FryAmTheEggman

3

সি ++ 14, 41 টি অক্ষর

[](auto&s){s="c"+s.substr(0,s.size()-2);}

এই অন্য উত্তর দ্বারা অনুপ্রাণিত । আমি এটিকে পৃথক উত্তর দিয়েছি কারণ এখানে আমি একটি বৈশিষ্ট্য ব্যবহার করি যা সি ++ 14, জেনেরিক ল্যাম্বডায় নতুন

এটি এখানে কর্মে দেখুন ।


2

টি-এসকিউএল - 58 টি অক্ষর

CREATE PROC Q(@ VARCHAR(MAX))AS
SELECT'c'+LEFT(@,LEN(@)-2)

এক্সইসি কিউ হিসাবে চালান (আপনার স্ট্রিং এখানে)


2

পার্ল - 20 টি অক্ষর

sub{c.pop=~s/..$//r}

কীভাবে cএকটি খালি শব্দ এবং এটির অভাবের প্রয়োজন তা নোট করুন use strict। এটি অবশ্যই একটি বিবৃতি হিসাবে নয়, একটি অভিব্যক্তি হিসাবে ব্যবহার করা উচিত।


2

মার্বেলস, 24

@063
-Z//
3W<C+Z
]]!!
@0

STDIN এর মাধ্যমে ইনপুট নেয়, STDOUT এ আউটপুট দেয়।

এটি প্রতিটি বাইট .( 0x46) দিয়ে পরীক্ষা করে কাজ করে । যেহেতু 0x46একক বেস -৩ digit ডিজিটের ভিতরে ফিট করা যায় না, আমরা Zতুলনা করার আগে ৩৫ ( ) বিয়োগ করি এবং আউটপুট দেওয়ার আগে এটি আবার যুক্ত করি।

প্রতিটি মার্বেলটি নকল করে 3W(ত্রি-মুখী নকলকারী, তবে বাম দিকটি বোর্ডের পাশ থেকে ফেলে দেওয়া হয়)। নীচে প্রেরিত মার্বেলটি এসটিডিআইএন থেকে পরবর্তী বাইট নিয়ে আসে। ডানদিকে মার্বেলটি চেক করা হয় ., তারপরে হয় আউটপুট করা হয় বা প্রেরণ করা হয় !!যা প্রোগ্রামটি শেষ করে।

প্রোগ্রামটি c( 0x63) পেরিয়ে শুরু হয় যা STDOUT এ আউটপুট হবে।

এটি এখানে অনলাইনে চেষ্টা করুন। গ্রন্থাগারগুলি সক্ষম করতে হবে, নলাকার বোর্ডগুলি অক্ষম করতে হবে।


2

সি, 64

সি রেফারেন্সের চেয়ে সামান্য সংক্ষিপ্ত:

f(char*h){char*d=strstr(h,".");memmove(h+1,h,d++-h);*d=0;*h=99;}

সম্ভবত এটির সাথে আরও গল্ফ করা।


সি, 48 (লিবিসি হ্যাক)

f(char*h){strcpy(h+1,h);*strstr(h,".")=0;*h=99;}

strcpyর manpage স্পষ্টভাবে যুক্তরাষ্ট্রের "স্ট্রিং ওভারল্যাপ নাও করতে পারে"। তবে আমি দেখতে পেয়েছি যে আমি যে লাইবসিটি ব্যবহার করছি তা এটিকে সঠিকভাবে হ্যান্ডেল করতে নিরাপদে কোডিং করা হয়েছে বলে মনে হয়। এটি উবুন্টু 14.04-তে জিএনইউ সি লাইব্রেরি (উবুন্টু ইজিএলবিসিবি 2.19-0ubuntu6.4)।


C89 এ কোনও ফাংশনের রিটার্ন ধরণের কাজ বাদ দেওয়া কি আইনী?
ফ্রেডওভারফ্লো 12'15

1
@FredOverflow। হ্যাঁ - জিসিসি এটির সাথে ঠিকঠাক সংকলন করে -std=c89কোডগলফ.স্ট্যাক্কেঞ্জাঞ্জইটা
ডিজিটাল ট্রমা

@ ফ্রেড ওভারফ্লো হ্যাঁ ফেরতের ধরণটি ডিফল্ট হয় int
FUZxxl

ম্যান পেজটি কেবলমাত্র স্ট্যান্ডার্ডটির পুনরাবৃত্তি করেছে - ভিসি ++ (ভিএস ২০১২) এর সাথে এটি সংকলন করে "stdio.h" এর জন্য "cstdii" দেয়। আইসিসি / সান / বিড়ম্বনাটি চেক করেনি, তবে আপনার 64৪-চর সংস্করণটি "কেন?" - এটি প্রায় হিসাবে এটি সংক্ষিপ্ত হিসাবে (আইনীভাবে) সি হতে পারে
ফ্রেসনিয়ান

2

জাভাস্ক্রিপ্ট (ES6) 20

বিশ্বাস করতে পারি না যে ES6 এখনও অনুপস্থিত ছিল

s=>'c'+s.slice(0,-2)


2

এম কে, 34 টি অক্ষর

mk (1) হ'ল পরিকল্পনা 9 মেকের প্রতিস্থাপন। কেবল মজাদার জন্য, এই এমকেফাইল সি শিরোনামের নামগুলিকে সি ++ শিরোনামের নামগুলিতে রূপান্তর করে:

c%:Q:
    :

%.h:Q: c%
    echo $prereq

এর আগে :এবং এর মধ্যে একটি ট্যাব রয়েছে echo। এটি ব্যবহার করুন:

% mk stdio.h
cstdio



1

আর, 33

function(x)sub("(.+)..","c\\1",x)

এই ফাংশনটি নিয়মিত এক্সপ্রেশন ব্যবহার করে।

ব্যবহারের উদাহরণ:

> (function(x)sub("(.+)..","c\\1",x))("stdio.h")
[1] "cstdio"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.