স্ট্রিংয়ের গড় অক্ষর গণনা করুন


24

কার্য

আপনার কাজটি হল স্ট্রিং উত্পাদন করা যাতে স্ট্রিংয়ের গড় অক্ষর থাকে। ফলাফলের প্রথম অক্ষরটি প্রথম চরিত্রের গড় অক্ষর (যা প্রথম অক্ষর) এবং দ্বিতীয় চরিত্রের গড় দুটি প্রথম অক্ষর এবং তাই হবে।

গড় চরিত্র কী?

স্ট্রিংগুলি বাইটের অ্যারে হয়। স্ট্রিংয়ের অক্ষরগুলির ASCII মানের গড় গণনা করে এবং সংশ্লিষ্ট ASCII অক্ষর গ্রহণ করে স্ট্রিংয়ের গড় অক্ষর পাওয়া যায়।

উদাহরণস্বরূপ স্ট্রিং "Hello!"বাইট ক্রম হিসাবে লেখা যেতে পারে 72 101 108 108 111 33। ASCII মানগুলির গড় গড় হয় 533/6 = 88.833 ... এবং এটি নিকটতম পূর্ণসংখ্যার সাথে বৃত্তাকার হয়ে গেলে আমরা 89 পাই যা অক্ষরের অক্ষরের জন্য এসকি কোড Y

বিধি

  • আপনি ধরে নিতে পারেন ইনপুটটিতে কেবল প্রিন্টযোগ্য এএসসিআইআই অক্ষর রয়েছে
  • ইনপুট স্টিডিন থেকে বা কমান্ড লাইন আর্গুমেন্ট বা ফাংশন আর্গুমেন্ট হিসাবে পড়া যায়
  • আউটপুট অবশ্যই স্টাডআউট হতে হবে। যদি আপনার প্রোগ্রামটি কার্যকরী হয় তবে আপনি যে স্ট্রিংটি অন্যথায় মুদ্রণ করতে পারেন তাও ফিরিয়ে দিতে পারেন।
  • এটি অবশ্যই পুরো প্রোগ্রাম বা ফাংশন হতে হবে, স্নিপেট নয়
  • স্ট্যান্ডার্ড লুফোলস প্রযোজ্য
  • পূর্ণসংখ্যাগুলি ফাংশন floor(x+0.5)বা অনুরূপ ফাংশন দ্বারা গোল হয় ।

আমি কীভাবে জিতব?

এটি , তাই জয়ের মধ্যে সংক্ষিপ্ত উত্তর (বাইটে)।

উদাহরণ

  • Hello!HW^adY
  • testtmop
  • 4243
  • StackExchangeSdccd_ccccddd

সম্পাদিত প্রশ্ন। এখন এটি পরিষ্কার হওয়া উচিত: আপনাকে উপরের দিকে অর্ধেকটি গোল করতে হবে।
হ্যানস কার্পিলা

1
" স্ট্যান্ডিনের কাছ থেকে ইনপুট পড়া যায় বা কমান্ড লাইন আর্গুমেন্ট হিসাবে": বা ফাংশন আর্গুমেন্ট হিসাবে (যেহেতু আপনি ফাংশনগুলিকে মঞ্জুরি দেন), তাই না?
লুইস মেন্ডো

অবশ্যই, আবার সম্পাদিত।
হ্যানস কারপিলা

2
আপনাকে আবার বিরক্ত করার জন্য দুঃখিত, তবে ফাংশনগুলিতে আসলে আউটপুটটি STDOUT এ মুদ্রণ করতে হবে বা তারা পছন্দসই স্ট্রিংটি ফেরত দিতে পারে?
ডেনিস

দুঃখিত, আগে সম্পাদনা করতে ভুলে গেছি। এখন এটা ঠিক করা উচিত।
হ্যানিস কার্পিলা

উত্তর:


11

ব্রেইনফাক 106 বাইট

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

কোড-গল্ফে এটি আমার প্রথম অংশগ্রহণ, দয়া করে নম্র হন! এটি কাজ করে তবে ব্রেইনফাক ভাসমান পরিচালনা করতে পারে না (যা আমি জানি না) তাই বৃত্তাকার মানটি সর্বদা নীচে থাকে (পরে আমার অ্যালগোরিদম ঠিক করতে পারে)।

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


9

পাইথ, 16 বাইট

smCs+.5csaYCdlYz

অনেকটাই অকপট. s+.5গোল করার পরিবর্তে ব্যবহার করা হচ্ছে কারণ কোনও কারণে round(0.5, 0)পাইথনে 0 রয়েছে on


1
পাইথন 3 রাউন্ড অর্ধেক সমানের দিকে যায় যা কম পক্ষপাতিত্বের পরিচয় দেয়। প্রশ্নটি কীভাবে অর্ধেকটি বৃত্তাকার করা উচিত তা স্পষ্টভাবে নির্দিষ্ট করে না, তাই আমি ওপি থেকে স্পষ্টতার জন্য অনুরোধ করেছি।
ডেনিস

সম্পাদিত প্রশ্ন। 0.5বৃত্তাকার হওয়া উচিত 1
হ্যানিস কার্পিলা

7

প্রশ্ন, 15 12 বাইট

একটি অভিব্যক্তি হিসাবে 12 বাইট

"c"$avgs"i"$

q)"c"$avgs"i"$"Hello!"
"HW^adY"
q)"c"$avgs"i"$"test"
"tmop"
q)"c"$avgs"i"$"42"
"43"
q)"c"$avgs"i"$"StackExchange"
"Sdccd_ccccddd"

বা একটি ফাংশন হিসাবে 15 বাইট

{"c"$avgs"i"$x}

q){"c"$avgs"i"$x} "Hello!"
"HW^adY"
q){"c"$avgs"i"$x} "test"
"tmop"
q){"c"$avgs"i"$x} "42"
"43"
q){"c"$avgs"i"$x} "StackExchange"
"Sdccd_ccccddd"

এর সুবিধা নেয়

  1. "i" $ একটি স্ট্রিংকে (অক্ষরের তালিকা) পূর্ণসংখ্যার তালিকায় রূপান্তর করতে $
  2. অ্যাভিজেস ফাংশন, যা একটি তালিকার চলমান গড়কে ফ্লোটের তালিকা হিসাবে গণনা করে
  3. "সি" flo কাস্তিগুলি ফ্লোটের তালিকাকে অক্ষরের তালিকায় রূপান্তর করতে পারে এবং যা করার আগে প্রতিটি ফ্লোটকে স্বয়ংক্রিয়ভাবে নিকটতম পূর্ণসংখ্যায় পরিণত হয় [ie ("c" $ 99.5) = ("সি" $ 100) এবং ("সি" "$ 99.4) = (" সি "$ 99)]

কি কি এখানে কি ফাংশন মোড়কের প্রয়োজন আছে বা আপনি কেবল স্পষ্ট অভিব্যক্তি দিয়ে দূরে যেতে পারেন "c"$avgs"i"$? আমি মনে করি না যে কোনও সমাধান এর চেয়ে আরও সহজবোধ্য হতে পারে। :)
JohnE

আপনি সঠিক - "সি" as অ্যাভিজেস "আই" $ "হ্যালো!" হিসাবে ফাংশন মোড়কের দরকার নেই! ভাল কাজ করে
স্কটস্টেইন 37

আমি মনে করি আপনি by "c"সি এবং can "i"i এ পরিবর্তন করে 2 বাইট সংরক্ষণ করতে পারবেন ।
kirbyfan64sos

দুর্ভাগ্যক্রমে, আমি মনে করি না যে এটি কাজ করে। ভোটদান আমি `গৃহস্থালির কাজ এবং` int- এ অনুযায়ী ব্যবহার করতে হবে তার জন্য প্রতীক টাইপ প্রতিনিধিত্ব ব্যবহার করার জন্য code.kx.com/wiki/JB:QforMortals2/... আমি "গ" এবং পরিবর্তে 10h এবং 6h ব্যবহার বিবেচিত "আমি" কিন্তু এটি কোনও বাইট সংরক্ষণ করতে পারে না - 10 ঘন্টা "সি" এর সমান দৈর্ঘ্য এবং 6 i প্রতিস্থাপনের জন্য "i" এর জন্য একটি স্থানের স্থান প্রয়োজন, সেগুলিও একই দৈর্ঘ্য করে।
স্কটসটেন 37


4

পার্ল: 31 30 টি অক্ষর

(29 টি অক্ষর কোড + 1 অক্ষর কমান্ড লাইন বিকল্প))

s!.!chr.5+($s+=ord$&)/++$c!ge

নমুনা রান:

bash-4.3$ perl -pe 's!.!chr.5+($s+=ord$&)/++$c!ge' <<< 'StackExchange'
Sdccd_ccccddd


2

কে, 36 বাইট

`0:_ci_.5+{(+/x)%#x}'.0+1_|(-1_)\_ic

ব্যবহার:

  `0:_ci_.5+{(+/x)%#x}'.0+1_|(-1_)\_ic"Hello!"
HW^adY
  `0:_ci_.5+{(+/x)%#x}'.0+1_|(-1_)\_ic"test"
tmop
  `0:_ci_.5+{(+/x)%#x}'.0+1_|(-1_)\_ic"42"
43
  `0:_ci_.5+{(+/x)%#x}'.0+1_|(-1_)\_ic"StackExchange"
Sdccd_ccccddd

_ciএবং _icascii কে যথাক্রমে অক্ষরে এবং তার বিপরীতে রূপান্তর করুন। {(+/x)%#x}একটি গড় গণনা করার জন্য একটি সর্বোত্তম কে আইডিয়ম। পুরোপুরি সোজা।

সম্পাদনা: হায়, অনুমানটি ভুলভাবে লিখুন। D 0: stdout এ ফলাফল মুদ্রণের জন্য প্রয়োজন। ইনপুট পুনরায় স্পষ্টতার জন্য অপেক্ষা করছি। ডেনিসের প্রশ্ন।


আপনি K5 ব্যবহার করেন তবে এই 35 বাইট সংক্ষিপ্ত করা যেতে পারে: {[s]`0:`c${_.5+(+/u)%#u:x#s}'1+!#s}
kirbyfan64sos 14

বা 30:`0:`c$_.5+{(+/x)%#x}'1_|(-1_)\
14

`c$_.5+{(+\x)%+\~^x}`i$24 এর জন্য এটি সংক্ষিপ্ত হতে পারে ( `c$`i${(+\x)%+\~^x}`i$) তবে আপনার REPL ( johnearnest.github.io/ok/index.html ) ভাসা থেকে int অবধি কাস্ট করার সময় সঠিকভাবে গোল হয় না। আমি এই আক সমাধানটি কল করতে দ্বিধা করব _ciএবং যেহেতু _icআমি বলতে পারি কে 5 স্পেকের কোথাও নেই, যখন 0:স্টাডাউটে মুদ্রণ না করে বরং ডিস্ক থেকে একটি টেক্সট ফাইল পড়ে reads
tmartin

@ স্মার্টিন: সঠিক- _ciএবং _icসম্পূর্ণরূপে ফ 5 এর সাথে কে 5 তে প্রতিস্থাপিত হয় `c$। আমি পোস্ট করা আসল সমাধানটি কোনার সাথে সামঞ্জস্যপূর্ণ, যা কে 2 / কে 3 এর উপর ভিত্তি করে। আমি সাধারণত ওকে দিয়ে সমাধান পোস্ট না করার চেষ্টা করি কারণ শব্দার্থবিজ্ঞানগুলি এখনও চারপাশে স্থানান্তরিত হয় এবং আংশিকভাবে ভুল।
18

1
আহ আমি দেখছি, আমার কাছে তা বোঝায়। আমি বুঝতে পেরেছিলাম এটি অন্য কে 5 সমাধান। এখানে একটি 28 চর কোনা সমাধান`0:_ci_0.5+{(+\x)%1.+!#x}_ic
টার্টিন

2

গণিত, 75 বাইট

FromCharacterCode@Floor[.5+Accumulate@#/Range@Length@#]&@ToCharacterCode@#&

2

জুলিয়া, 85 81 বাইট

s->(i=[int(c)for c=s];print(join([char(iround(mean(i[1:j])))for j=1:length(i)])))

এটি একটি নামহীন ফাংশন তৈরি করে যা একটি স্ট্রিং গ্রহণ করে এবং এর ASCII কোড পয়েন্টগুলির একটি ভেক্টর তৈরি করে। প্রতিটি ক্রমিক গ্রুপের জন্য অর্থ নেওয়া হয়, পূর্ণসংখ্যার সাথে বৃত্তাকারে, অক্ষরে রূপান্তরিত হয়, একটি স্ট্রিংয়ে যোগ হয় এবং STDOUT এ মুদ্রিত হয়।


2

রুবি, 46

s=0.0
$<.bytes{|b|s+=b;$><<'%c'%(0.5+s/$.+=1)}

ideone

ডাব্লু0এলএফের কাছে ক্ষমা চেয়ে, আমার উত্তরটি যথেষ্ট আলাদা হয়ে গেল যে এটি পোস্ট করা ভাল বলে মনে হয়েছিল।

$<.bytesস্টিডিনে প্রতিটি বাইটের উপরে পুনরাবৃত্তি হয়, তাই আমরা প্রতিটি লুপে রোলিং গড় মুদ্রণ করি। '% সি' এএসসিআইআই বৃত্তাকার করে এবং গোল করে একটি ফ্লোটকে একটি চরিত্রে রূপান্তরিত করে, তাই এটিটিকে সঠিকভাবে গোল করার জন্য আমাদের কেবলমাত্র 0.5 টি যোগ করতে হবে। $.এটি একটি ম্যাজিক ভেরিয়েবল যা 0 থেকে শুরু করে শুরু হয় - এটি লাইন গণনা সংরক্ষণ করার কথা, তবে যেহেতু আমরা এখানে বাইট গণনা চাই আমরা কেবল এটি ম্যানুয়ালি বৃদ্ধি করি।


2

ম্যাথক্যাড, 60 "বাইট"

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

ম্যাথক্যাড হ'ল "অঞ্চলগুলি" সমন্বিত 2D ওয়ার্কশিটগুলির উপর ভিত্তি করে গাণিতিক প্রয়োগ যা প্রতিটি পাঠ্য, গাণিতিক প্রকাশ, প্রোগ্রাম, প্লট বা স্ক্রিপ্ট উপাদান হতে পারে।

একটি গাণিতিক বা প্রোগ্রামিং নির্দেশাবলী একটি প্যালেট সরঞ্জামদণ্ড থেকে বা কীবোর্ড শর্টকাট ব্যবহার করে প্রবেশ করা হয়। গল্ফিংয়ের উদ্দেশ্যে, একটি অপারেশন ("বাইট") নাম বা ভাব তৈরি করতে প্রয়োজনীয় কীবোর্ড অপারেশনগুলির সংখ্যা হিসাবে নেওয়া হয় (উদাহরণস্বরূপ, চলকটি 3 এ সেট করতে, আমরা একটি লিখব: = 3। সংজ্ঞা অপারেটর : = একটি একক কী টেপার হয় ":"।, যেমন a ও 3 3 মোট দান হল "বাইট" প্রোগ্রামিং জন্য অপারেটর প্রয়োজন টাইপিং CTL-shft- # (বা প্রোগ্রামিং টুলবারে একটি ক্লিকেই) যাতে আবার সমতূল্য 1 বাইট।

ম্যাথক্যাডে ব্যবহারকারী পাঠ্য লেখার পরিবর্তে কীবোর্ড শর্টকাটগুলি ব্যবহার করে (বা প্রোগ্রামিং সরঞ্জামদণ্ড থেকে তাদের বাছাই করে) প্রোগ্রামিং ভাষার কমান্ডগুলিতে প্রবেশ করে। উদাহরণস্বরূপ, সিটিএল-] টাইপ করলে কিছুক্ষণ লুপ অপারেটর তৈরি হয় যার শর্ত এবং শরীরের একক লাইন প্রবেশের জন্য যথাক্রমে দুটি "স্থানধারক" থাকে। টাইপিং = ম্যাথক্যাড এক্সপ্রেশনগুলির শেষে ম্যাথ্যাক্যাডের অভিব্যক্তিটি মূল্যায়নের কারণ হয়।

(বাইটস গণনা করুন) এটির ব্যবহারকারীর ইনপুট দৃষ্টিকোণ থেকে দেখে এবং একটি ম্যাথক্যাড ইনপুট অপারেশন (সাধারণত কীবোর্ড, কেবিডি শর্টকাট না হলে সরঞ্জামদণ্ডে মাউস ক্লিক করুন) বাইট হিসাবে ব্যাখ্যা করে। অন্যান্য ভেরিয়েবল / ফাংশনের নাম যেমন চর-বাই-চারে টাইপ করা হয় তেমন সিএসোর্ট = 5 বাইট। অপারেটরটি একটি বিশেষ নির্মাণ যা 11 টি অক্ষর (3 ফাঁকা "স্থানধারক" এবং 3 স্পেস সহ) দখল করে তবে সিটিএল-শ্যাফট-# দ্বারা প্রবেশ করে, সুতরাং = 1 বাইট (কিছু ভাষায় টোকেনের সমান)। টাইপিং '(উদ্ধৃতি) সুষম বন্ধনী তৈরি করে (সাধারণত) তাই 1 বাইট হিসাবে গণনা করা হয়। ইনডেক্সিং ভি = 3 বাইট (টাইপ ভি [কে)।


2

পাইথন 3, 66 বাইট

যদি আমি ইত্যাদির round()পরিবর্তে ব্যবহার করি তবে int(.5+এটি একটি চরিত্র সংরক্ষণ করে, তবে প্রযুক্তিগতভাবে চ্যালেঞ্জের সাথে সম্মতি নয়: পাইথনের round()বৃত্তাকারগুলি উপরের দিকে নয়, নিকটতম এমনকি পূর্ণসংখ্যার অর্ধেক হয়ে যায়। তবে এটি সমস্ত নমুনা ইনপুটগুলিতে সঠিকভাবে কাজ করে।

নতুন লাইন দিয়ে আউটপুট শেষ না করায় আমিও কিছুটা নোংরা বোধ করি, তবে চ্যালেঞ্জের প্রয়োজন হয় না ...

n=t=0
for c in input():n+=1;t+=ord(c);print(end=chr(int(.5+t/n)))

1
আপনি মুদ্রণের আগে এন
বাড়িয়ে তোলেন

1
@ এক্সনর: মুখ, খেজুর। করতল মুখ. যে ইশারা জন্য ধন্যবাদ।
টিম পেডারিক

না print(end=chr(int(...))কিছু বাইট সংরক্ষণ করতে
FlipTack

@ এফএলপি.টিকে: ধন্যবাদ! উত্তর আপডেট হয়েছে।
টিম পেডারিক

2

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

let f =
s=>s.replace(/./g,x=>String.fromCharCode((t+=x.charCodeAt())/++i+.5),i=t=0)
<input oninput="O.value=f(this.value)" value="Hello!"><br>
<input id=O value="HW^adY" disabled>

আমি বিশ্বাস করতে পারি না এই কৌশলটির সাথে এখনও জেএসের কোনও উত্তর নেই ...


1

পাইথন 2, 71

i=s=0
r=''
for c in input():s+=ord(c);i+=1.;r+=chr(int(s/i+.5))
print r

প্রতিটি নতুন চরিত্রের সাথে, গড় চরিত্রটি গণনা করতে এবং সংযোজন করতে অক্ষরের যোগফল sএবং অক্ষরের সংখ্যা আপডেট করে i


আমার মতো প্রায় একই পন্থা, 3 এর পরিবর্তে পাইথন 2 এবং ঘন্টা আগে পোস্ট করা হয়েছিল: +1। (এছাড়াও, আমি দেখতে পেলাম যে প্রতিটি অক্ষর একটি ফাইনালের জন্য সংরক্ষণের পরিবর্তে এসেছিল আমি কয়েকটা বাইট মুদ্রণ করে সংরক্ষণ করেছি printthat পাইথন 2 এর সাথে কি এটি কাজ করবে? আমি এখনই ভুলে গেছি কীভাবে printবিবৃতিতে নিউলাইনগুলি দমন করা যায় ... কমা এটিকে একটি স্থান করে তোলে পরিবর্তে, ডান?)
টিম পেডেরিক

পাইথন 2 print _,নিউলাইনের পরিবর্তে স্থান ছাড়তে পারে তবে স্থানটি বাদ দেওয়ার কোনও ভাল উপায় নেই। পাইথন 3 এর endযুক্তি দিয়ে ভাল কল , আমি সে সম্পর্কে ভুলে গেছি।
xnor

@ টিমপিডেরিক হয়ত ব্যাকস্পেস নিয়ন্ত্রণটি কোনও টার্মিনালের জন্য এটি যথাযথ প্রমাণ করতে পারে যা স্থানটি মুছে ফেলার হ্যাক হিসাবে ব্যবহার করেছে:print'\b'+_,
xnor

1

রুবি 59 61

->w{s=c=0.0;w.chars.map{|l|s+=l.ord;(s/c+=1).round.chr}*''}

পরীক্ষা: http://ideone.com/dT7orT


1
c+=1;(s/c)→ আদর্শ (s/c+=1) one.com
এইচ 2

@ মান্যাটওয়ার্ক ভাল দাগী! ধন্যবাদ! আমি পরিবর্তনটি প্রয়োগ করেছি।
ক্রিশ্চিয়ান লুপাস্কু

1

জাভা, 100

অনেক অন্যান্য উত্তরের মতো এখানেও আমি লুপে সারসংক্ষেপ করছি এবং গড় করছি। জাভা উপস্থাপন করতে এখানে শুধু :)

void f(char[]z){float s=0;for(int i=0;i<z.length;System.out.print((char)Math.round(s/++i)))s+=z[i];}

আমার আসল কোডটি একটি 97, তবে এটি কেবল char[]এটি মুদ্রণের চেয়ে পরিবর্তিত ফেরত দেয় :

char[]g(char[]z){float s=0;for(int i=0;i<z.length;z[i]=(char)Math.round(s/++i))s+=z[i];return z;}

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

void f(char[]z){
    float s=0;
    for(int i=0;
            i<z.length;
            System.out.print((char)Math.round(s/++i)))
        s+=z[i];
}

মজাদার. আপনি কি আমাদের একটি কল নমুনা দেখাতে পারেন? আমার জাভা খুব মরিচা।
manatwork

এটি কল কিভাবে? ধরে testনেওয়া একটি চর অ্যারে, কেবল ব্যবহার f(test);। যদি এটি স্ট্রিং অবজেক্ট হয় তবে আপনি ব্যবহার করতে পারেন f(test.toCharArray());। স্ট্রিং লিটারেলগুলিও এর মতো ঠিক আছে:f("Hello!".toCharArray());
লিটারেলগুলিও এটির

উহু. অবশ্যই। toCharArray()আমার বোকা, আমি কিছু কাস্টিং দিয়ে এটি লঙ্ঘন করার চেষ্টা করেছি। ধন্যবাদ.
manatwork

এটি কেবল castালাই করা সহজ be জাভা দেবতারা প্রচণ্ড উত্তেজিত হবে: পি
জিওবিটস

1

সি, 62 বাইট

c;t;main(n){for(;(c=getchar())>0;n++)putchar(((t+=c)+n/2)/n);}

(আদর্শ লিঙ্ক)

ফলাফলগুলি ওপি-র উদাহরণগুলির থেকে কিছুটা পৃথক, তবে কেবলমাত্র এই কোডটি আপের পরিবর্তে 0.5 টি গোল করে। আর না!


1

আর, 135 127 বাইট

এটি দীর্ঘ বাস্তবের দ্রুত পেয়েছে এবং আমি প্রথমবার এটি সত্যই ভুল পেয়েছি :) প্রশ্নগুলি সঠিকভাবে পড়া দরকার।

cat(sapply(substring(a<-scan(,''),1,1:nchar(a)),function(x)rawToChar(as.raw(round(mean(as.integer(charToRaw(x)))+.5)))),sep='')

টেস্ট রান

cat(sapply(substring(a<-scan(,''),1,1:nchar(a)),function(x)rawToChar(as.raw(round(mean(as.integer(charToRaw(x)))+.5)))),sep='')
1: Hello!
2: 
Read 1 item
HW^adY

কেউ স্যান্ডবক্সে ডুপ চ্যালেঞ্জ পোস্ট করেছেন তাই আমি এটি পেয়েছি ... এটি অনেক আগে ছিল, তবে utf8ToIntসাহায্য করবে! আমার কাছে এটির 68 টি বাইট গল্ফ রয়েছে যদি আপনি এটি আপডেট করতে চান।
জিউসেপ

@ জিউস্পেপ এগিয়ে যান এবং আপনি যদি চান তবে এটি পোস্ট করুন। আমি সন্দেহ করি যে এখানে আমি যা করেছি তার থেকে এটি আলাদাভাবে আলাদা।
মিকিটি

1

পার্ল 5, 41 বাইট

say map{$s+=ord;chr($s/++$c+.5)}pop=~/./g

হিসাবে চালান

$ perl -E 'say map{$s+=ord;chr($s/++$c+.5)}pop=~/./g' StackExchange
Sdccd_ccccddd

1

টিএসকিউএল, 118 বাইট

DECLARE @ varchar(400) = 'StackExchange'

SELECT
top(len(@))char(avg(ascii(stuff(@,1,number,''))+.5)over(order by number))FROM
master..spt_values
WHERE'P'=type

উল্লম্বভাবে অক্ষরগুলি ফিরিয়ে দেওয়া

S
d
c
c
d
_
c
c
c
c
d
d
d

1

> <> , 30 বাইট

i:0(?v
v &l~<
\+l2(?
\&,12,+o;
  • প্রথম লাইনটি স্টিডিন থেকে পড়ে এবং অক্ষরগুলি স্ট্যাকের উপরে রাখে
  • দ্বিতীয়টি ইওএল চরটি অপসারণ করবে, স্ট্যাকের আকার নেবে এবং এটি &রেজিস্টারে রাখবে
  • তৃতীয় লাইন স্ট্যাকটিতে সংখ্যা যুক্ত করবে যখন তাদের মধ্যে দুটি বা আরও বেশি থাকবে
  • চতুর্থ লাইন ফলাফলের সংখ্যাটিকে নিবন্ধকের মান দ্বারা বিভক্ত করবে, তারপরে 1/2 যোগ করবে, একটি অক্ষর হিসাবে মান আউটপুট করবে এবং থামবে। যখন চরটি প্রদর্শন করার সময় একটি ভাসমান মানটির মুখোমুখি হবে,> <> এটি তলবে যাবেন, এজন্য আমরা 1/2 যুক্ত করেছি added

আপনি এটি অনলাইন ইন্টারপ্রেটারে চেষ্টা করতে পারেন তবে তারপরে আপনাকে নিম্নলিখিত সংস্করণটি ব্যবহার করতে হবে কারণ অনলাইন দোভাষী দেরিতে কোড বাক্সকে প্যাড করে এবং ?স্পেসে প্রযোজ্য ।

i:0(?v
v &l~<
\+l2(   ?
\&,12,+o;

1

05 এ বি 1 ই , 15 বাইট [প্রতিদ্বন্দ্বী?]

.pvyDSÇOsg/îç}J

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


-2 সরিয়ে বাইট Dএবং }, এবং প্রতিস্থাপন sসঙ্গে y
কেভিন ক্রুইজসেন

1
@ কেভিন ক্রুজসেন এই উত্তরটি কত পুরনো বলে তার চেয়ে অনেক বেশি আছে: পি। .pএখন খুব 1 বয়টার
ম্যাজিক অক্টোপাস

আহ লোল, ηএক্সডি সম্পর্কে ভুলে গেছেন
কেভিন ক্রুইজসেন

1

জাপট , ১৩ বাইট (প্রতিদ্বন্দ্বী)

£T±Xc)/°Y r d

এটি অনলাইন পরীক্ষা!

কিভাবে এটা কাজ করে

£   T± Xc)/° Y r d
mXY{T+=Xc)/++Y r d}
                     // Implicit: U = input string, T = 0
mXY{              }  // Replace each char X and index Y in the string by this function:
    T+=Xc            //   Add X.charCodeAt() to T.
         )/++Y       //   Take T / (Y + 1).
               r d   //   Round, and convert to a character.
                     // Implicit: output result of last expression

আহ, বাদাম; আমি ভেবেছিলাম "অ-প্রতিদ্বন্দ্বী" ফিল্টার লিডারবোর্ডে থেকে মুছে ফেলা হয়েছে, তাই আমি এই পোস্ট করার আগে দেখতে পাইনি এই
শেগি


1

পিএইচপি , 176 বাইট

<?=(implode('',array_reduce(str_split($argv[1]),function($c,$k){array_push($c[1],chr(floor(((ord($k)+$c[0])/(count($c[1])+1))+0.5)));return[ord($k)+$c[0],$c[1]];},[0,[]])[1]));

উদাহরণ:

>php cg.php Hello!
HW^adY
>php cg.php test  
tmop
>php cg.php 42
43

এখন পর্যন্ত সবচেয়ে বড় সমাধান, তবে পিএইচপি এর উপর ভিত্তি করে এটি আমার মনে হয় তেমন সংক্ষিপ্ততর হতে পারে না। নতুন লাইনগুলি সরিয়ে 2 বাইট সংরক্ষণ করা যায়।


হুঁ, ভাল পয়েন্ট। আমি ভেবেছিলাম আরও ভাল পাঠযোগ্যতার জন্য আমি তাদের পোস্টে রেখে যেতে পারি। তবে হ্যাঁ, এটি কোড গল্ফ। আমি তাদের অপসারণ করব;)
সিবি 0

1
আপনি সর্বদা আপনার সংক্ষিপ্তটির পাশাপাশি পাঠযোগ্যতার জন্য প্যাডিং সহ অতিরিক্ত সংস্করণ অন্তর্ভুক্ত করতে পারেন। আমি প্রায়শই এটি করি যখন আমার কোডটি বেশিরভাগ মনিটরে পুরোপুরি দৃশ্যমান হয় না।
গম উইজার্ড

0

জাভাস্ক্রিপ্ট ES7, 122 বাইট

s=>String.fromCharCode(...[for(i of s)i.charCodeAt()].map((l,i,a)=>Math.round(eval((t=a.slice(0,++i)).join`+`)/t.length)))

বেশিরভাগ কিছুই এই বিট মধ্যে ঘটছে

eval((t=a.slice(0,++i)).join`+`)/t.length)

বাকিগুলি লুপিং / চরিত্রের কোড রূপান্তর

বিভক্ত:

s=> 
 String.fromCharCode(...                        ) // Converts average character code array to string, ... allows it to take an array
   [for(i of s)i.charCodeAt()]                    // Converts string to char code array
   .map((l,i,a)=>                             )   // Loops through each character
     Math.round(                    /t.length)    // Rounds sum of previous char codes, divides by position + 1
       eval(                       )              // evals string of char codes seperated with +
            (                ).join`+`            // joins previous char codes with +
             t=a.slice(0,++i)                     // creates an array with all the char codes

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

alert(String.fromCharCode(...[for(i of prompt())i.charCodeAt()].map((l,i,a)=>Math.round(eval((t=a.slice(0,++i)).join`+`)/t.length))))

133 বাইট


ইএস 5 স্নিপেট:

function _toConsumableArray(r){if(Array.isArray(r)){for(var e=0,t=Array(r.length);e<r.length;e++)t[e]=r[e];return t}return Array.from(r)}function _taggedTemplateLiteral(r,e){return Object.freeze(Object.defineProperties(r,{raw:{value:Object.freeze(e)}}))}var _templateObject=_taggedTemplateLiteral(["+"],["+"]),f,t=function t(s){return String.fromCharCode.apply(String,_toConsumableArray(function(){var r=[],e=!0,t=!1,a=void 0;try{for(var n,i=s[Symbol.iterator]();!(e=(n=i.next()).done);e=!0){var o=n.value;r.push(o.charCodeAt())}}catch(l){t=!0,a=l}finally{try{!e&&i["return"]&&i["return"]()}finally{if(t)throw a}}return r}().map(function(l,i,a){return Math.round(eval((f=a.slice(0,++i)).join(_templateObject))/f.length)})))};

// Demo
document.getElementById('go').onclick=function(){
  document.getElementById('output').innerHTML = t(document.getElementById('input').value)
};
<div style="padding-left:5px;padding-right:5px;"><h2 style="font-family:sans-serif">Average of Words Snippet</h2><div><div  style="background-color:#EFEFEF;border-radius:4px;padding:10px;"><input placeholder="Text here..." style="resize:none;border:1px solid #DDD;" id="input"><button id='go'>Run!</button></div><br><div style="background-color:#EFEFEF;border-radius:4px;padding:10px;"><span style="font-family:sans-serif;">Output:</span><br><pre id="output" style="background-color:#DEDEDE;padding:1em;border-radius:2px;overflow-x:auto;"></pre></div></div></div>


0

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

এটি যথেষ্ট সংক্ষিপ্ত নয়। যেহেতু এটি অজগর এটি খুব ভার্জোজ, তাই আপনি কোডটি দেখে এটি কী করতে পারেন তা পড়তে পারেন। কিন্তু এটি কাজ করছে।

a=[.0]+[ord(i)for i in raw_input()]
print"".join([chr(int(.5+(sum(a[:i+1])/i)))for i in range(1,len(a))])

1
"এটি অজগর যেহেতু এটি খুব ভার্জোজ" ... জাভার তুলনায় নয়। এবং আমি একমত না। যে কোনও কম ভার্বোস এবং এটি এর মতো দুর্দান্ত হবে না। কম ভার্বোস চাইলে পাইথ ব্যবহার করুন।
mbomb007

0

মতলব, 43

বেনামে ফাংশন ব্যবহার করা:

f=@(s)char(round(cumsum(+s)./(1:numel(s))))

উদাহরণ:

>> f=@(s)char(round(cumsum(+s)./(1:numel(s))))
f = 
    @(s)char(round(cumsum(+s)./(1:numel(s))))

>> f('Hello!')
ans =
HW^adY

>> f('test')
ans =
tmop

>> f('42')
ans =
43

>> f('StackExchange')
ans =
Sdccd_ccccddd

0

জাভাস্ক্রিপ্ট ES6, 111 বাইট

w=>w.replace(/./g,(_,i)=>String.fromCharCode([for(f of w.slice(0,++i))f.charCodeAt()].reduce((a,b)=>a+b)/i+.5))

জাভাস্ক্রিপ্টের দীর্ঘ String.fromCharCodeএবং charCodeAtফাংশনগুলির অংশে এটি বিরক্তিকরভাবে দীর্ঘ ধন্যবাদ । স্ট্যাক স্নিপেটে অবারিত, মন্তব্য করা, পরীক্ষামূলক কোড রয়েছে।

f=function(w){
  return w.replace(/./g,function(e,i){
    return String.fromCharCode(w.slice(0,++i).split('').map(function(f){
      return f.charCodeAt()
    }).reduce(function(a,b){
      // Adds all numbers in the array
      return a+b
      // String.fromCharCode automatically floors numbers, so we add .5 to round up
    })/i+.5)
  })
}

run=function(){document.getElementById('output').innerHTML=f(document.getElementById('input').value)};document.getElementById('run').onclick=run;run()
<input type="text" id="input" value="Hello!" /><button id="run">Run</button><br />
<pre id="output"></pre>


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