প্রোগ্রামটির আসকি কোডগুলির যোগফল মুদ্রণের জন্য একটি প্রোগ্রাম লিখুন


14

আপনার কাজটি হ'ল প্রোগ্রামের অক্ষরগুলির ASCII কোডের যোগফল মুদ্রণের জন্য একটি প্রোগ্রাম লিখতে হবে। আপনাকে কোনও ফাইল খোলার অনুমতি নেই (কোনও ইনপুট যেমন কমান্ড লাইন আর্গুমেন্ট, স্ট্যান্ডার্ড ইনপুট বা ফাইলগুলি নিষিদ্ধ)।

যে প্রোগ্রামটি সর্বনিম্ন সংখ্যা মুদ্রণ করে (যার মধ্যে সর্বনিম্ন ASCII কোড রয়েছে) জয়ী।

সি তে লিখিত এই জাতীয় প্রোগ্রামের একটি উদাহরণ (সবচেয়ে সংক্ষিপ্ত নয়):

#include <stdio.h>
int main(){
printf("4950");/*i*/
return 0;
}

(এর পরে কোনও নতুন লাইন নেই })


4
একটি কুইন সমাধান দেখতে আকর্ষণীয় হবে: এটি একটি যা নিজের বাইট তৈরি করে এবং তার যোগফল দেয়।
জোয়ে অ্যাডামস

1
খুব চ্যালেঞ্জিং নয় ইমো। এটি তুচ্ছভাবে জোর-জবরদস্তি হতে পারে, বিশেষত টোকেন ডাম্প করার মতো ভাষাগুলির জন্য, যেমন পাওয়ারশেল, গল্ফস্ক্রিপ্ট ইত্যাদি
জয়ে

2
আমি হ্রাস পেয়েছি এবং মন্তব্য কারণ দেয়, কেন। যেমনটি আমি আগে উল্লেখ করেছি, আমি উত্তরের সংখ্যা গুণমানের ইঙ্গিত হিসাবে বিবেচনা করি না । এটি সহজে সমাধান করা যায় বলে এটিকে আকর্ষণীয় বা এমনকি চ্যালেঞ্জিং চ্যালেঞ্জ করে না। আমার মতামত, কমপক্ষে।
জো

5
অপেক্ষা করুন। কি? একদিকে আপনি অভিযোগ করেছেন যে প্রশ্নটি সহজ এবং আকর্ষণীয় নয় এবং তারপরে আপনি আমাকে ডাউন করেন (-২ আমার জন্য)। অন্যদিকে আপনি এই প্রশ্নের 25% উত্তর পোস্ট করেন (আপনার জন্য +70)।
আলেকজান্দ্রু

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

উত্তর:


10

ডাব্লুসি, প্রিন্ট 0

কেউ "বিড়ালের মতো ভাষা" বলেছিলেন, তাই ...

একটি খালি ফাইল:



দিয়ে মৃত্যুদণ্ড কার্যকর করুন wc -c file.wc। 0 বাইটে, আমি মনে করি এটি 'সত্যই প্রোগ্রামিং ভাষা নয়' বিভাগে বিজয়ী।

এছাড়াও

বিড়াল, প্রিন্ট 80 (বেস 13)

80

কোনও নিউলাইন শেষ হচ্ছে না, 80 13 সংখ্যা দশমিক 104 এর সমান। আপনি 60 দিয়ে খাটো যেতে পারেন 17 (102 ডিসেম্বর), কিন্তু আমি "বেস 13" হবে মূল্য আরো গুরু পয়েন্ট মূর্ত।

সম্পাদনা: নতুন wcউদাহরণ, এটি একটি প্রোগ্রাম হিসাবে চালানো যেতে পারে।

#!/usr/bin/wc
ÿÿzw17

(লাতিন -১ এ এনকোড করা হিসাবে - 25 মান 255 সহ একটি বাইট)

বাইটের যোগফল 2223, আউটপুট:

  2  2 23 ./w

তবে ডাব্লুসি'র একটি ফাইল পড়তে হবে, 0-বাইট সমন্বিত 0 টি উত্পাদন করতে হবে, খালি নয়। খালি নাল নয়।
ব্যবহারকারী অজানা

ব্যবহারকারী: একটি যুক্তিযুক্ত হতে পারে যে একটি খালি সেটে মানগুলির যোগফল এখনও 0 হয় তবে যাইহোক, wc -cপ্রশ্নটিতে যাইহোক নিষিদ্ধ।
জোয়

1
একমাত্র ধারাটি যা মনে করে তা হ'ল "যে কোনও ইনপুট যেমন কমান্ড লাইন আর্গুমেন্ট ... নিষিদ্ধ" তাই এটি -c ছেড়ে দিন, তবে এটি মুদ্রণ করে 0 0 0(যদি ফাইল হিসাবে ফাইলটি পাস করা নিষিদ্ধ হয় তবে সমস্ত স্ক্রিপ্টিং ভাষা হ'ল এছাড়াও নিষিদ্ধ)
এলোমেলো 832

2
+1 এর জন্য wc, বেস প্রতারণার জন্য -1, বেস 13 তে জোকস তৈরি করার জন্য +1

আমি বলব wcএকটি অ্যাপ্লিকেশন, কোনও ভাষা নয়।
টমাস এডিং

14

পিএইচপি, এম 4 এবং অন্যান্য বিড়ালের মতো ভাষা: 150

150

এটি সমাধান করার জন্য একটি সাধারণ হাস্কেল প্রোগ্রাম ব্যবহার করে এই সমাধানটি পেয়েছে:

f :: String -> Bool
f s = (read s :: Int) == (sum . map fromEnum) s

main = mapM_ print [filter f $ sequence $ replicate n ['0'..'9'] | n <- [1..10]]

আমার ধারণা এটি পরম সংক্ষিপ্ততম।
আলেকজান্দ্রু

2
@ অ্যালেক্সান্দ্রু: অগত্যা নয়। এক বা দুটি অক্ষর দীর্ঘ এমন একটি প্রোগ্রাম থাকতে পারে যা কিছু অন্তর্নির্মিত ফাংশনগুলি ব্যবহার করে যোগফলটি সঠিকভাবে মুদ্রণ করে, 5!জে

@ মেল্লামোকব ASCII অক্ষরের যোগফল 5!86 নয়, 125.
পিটার ওলসন

3
@ পিটার: প্রকৃতপক্ষে, আমি সমাধানের ধরণের একটি উদাহরণ দেখছিলাম যা ১৫০ এর চেয়ে ছোট হতে পারে তবে আসল সমাধান নয়। আমি এখনও একটি খুঁজে পাই নি (এবং বিটিডব্লিউ, 5! 120, 125 নয়) :-)
মেল্লামব্যাক

12

ব্রেইনফ * সিকে, 255

-.¤

এটি 255 নম্বরটি মুদ্রণ করবে না, বরং 255 তম এএসসিআইআই অক্ষর মুদ্রণ করবে।

এটি প্রতারণা হিসাবে বিবেচিত হতে পারে কারণ বিএফ সংকলক over এর উপরে চলে যায় ¤


1
টিম: সংক্ষিপ্ততম কর্মসূচী নয়, সর্বনিম্ন সংখ্যা জিতেছে। যাই হোক না কেন, আমি মনে করি না যে এটি ¤প্রতারণা করছে, কারণ এটি কেবল একটি সাধারণ মন্তব্য।
জোয়

আপনি আরও কিছুটা বিয়োগ করে নিম্ন স্কোর পেয়েছেন: ----। ␦
হেলেনা

8

জাভাস্ক্রিপ্ট, 9432 6902 মুদ্রণ

(function a(){b="("+a+")()";c=0;for(i=0;i<b.length;i++){c+=b.charCodeAt(i-0)}alert(c)})()

এই যদি না আমি বুঝতে পারছিনা পর্যন্ত প্রথম quine সমাধান Haskell, এক সঠিকভাবে।


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

এর সাথে আরও 89 টি থেকে 86 বাইটে হ্রাস করা যেতে পারে:(function a(){b="("+a+")()";for(i=c=0;i<b.length;i++)c+=b.charCodeAt(i-0);alert(c)})()
ওলিওয়েস্ট


6

পার্ল, 500

say     500

তার মাঝে দুইটি ট্যাব আছে sayএবং 500। :)

(ওয়ান-লাইনার হিসাবে চালান perl -E, যতদূর আমি এটি নিয়মের মধ্যেই বলতে পারি)


1
আমি 2 টি ট্যাব পছন্দ করি
স্টিভ পি

5

রুবি, প্রিন্ট 380

p (380)

সমাপনী প্রথম বন্ধনের পরে কোনও নতুন লাইনে নেই।






3

উপাদান, 220

এটি আমার নিজস্ব সৃষ্টির একটি ভাষা এবং এটি এখানে অন্য প্রশ্নের উত্তর সম্পর্কে নথিভুক্ত করা হয়েছে

220`!

এটি কীভাবে কাজ করে তা এখানে একটি পদচারণা: 220that সংখ্যাটিকে স্ট্যাকের দিকে ঠেলে দেয়। তারপরে `` outputs the top element of the stack. The! `তারপরে নিয়ন্ত্রণ স্ট্যাকের (একটি পৃথক স্ট্যাক) না করে একটি লজিকাল সঞ্চালন করে এটি 1 এ সেট করে।


2

পিএইচপি, 4440 মুদ্রণ

<?php
for($x=0;$x<15000;$x++)if($x==4440){printf($x);exit;}

2

পাওয়ারশেল, 3902 মুদ্রণ করে

&{[char[]]$myinvocation.Line|%{$s+=+$_};$s}

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


2

ইন্টারকল, 1572

আমি এখনও কারও সম্পন্ন ইন্টারকাল বিশ্বাস করতে পারি না!

DOREADOUT#1572


DOGIVEUP

(নতুন লাইনের অবসান অন্তর্ভুক্ত রয়েছে)) এই প্রোগ্রামটি MDLXXII প্রিন্ট করে।


1

পার্ল, 690 প্রিন্ট করে

die 690 . $/

অথবা, যদি আমরা ওয়ান-লাইনার পোস্ট করতে পারি ( perl -E)

say(570)

প্রিন্ট 570।

(কোনও পেছনের নিউলাইন নেই)


1

জাভাস্ক্রিপ্ট, 1750 900 860 790

alert(790)

( প্রোগ্রামের পরে বা তার আগে গাড়ী চালনা (সিআর, \rবা \x0D))

এই প্রোগ্রামগুলি নিষ্ঠুর-জোর করে খুঁজে পাওয়া যায়।

বড় মান:

alert(860)%0
alert(900)&&6
document.write(1750)

1

জাভা -128

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

আমার কোডটি তার নিজের ASCII গণনাটি স্টাডিনে পাস করেছে এবং প্রিন্ট -128 করেছে

class P{public static void main(String[]z)throws Exception{byte v=0;int b=0;while((b=System.in.read())!=-1){v+=(byte)b;}System.out.println(v);}}

কোনও নতুন লাইনের পিছনে নেই


আমি মনে করি আপনার যোগফল উপচে পড়েছে।
আলফা

1

রুবি, প্রিন্ট 300

p   300

একটা স্থান এবং মধ্যবর্তী একটি ট্যাব হয় pএবং 300। কোনও পূর্ববর্তী নিউলাইন নেই।


1

ব্যাচ ফাইল, 500

ECHO  500

পাশাপাশি, "ECHO" (উদ্দেশ্য অনুযায়ী বড় হাতের) এবং "500" এর মধ্যে দুটি স্পেস লক্ষ্য করুন।


1

সি, 1700

আজব - এখনও কেউ সি সমাধান পোস্ট করেনি (প্রশ্নের উদাহরণটি বাদ দিয়ে)।

main(R){puts("1700");}

শেষে কোনও নিউলাইন নেই।


1

কে ( 923 796 795 746 513)

আমি নিশ্চিত নই যে এটি বিধি-বিধানের খুব বেশি ক্ষতি হয় কিনা। এটি স্টিডিন ব্যবহার করে না, এটি বাইটস এবং অঙ্কের ভেক্টর হিসাবে নিজেকে খোলায়।

+/1:.z.f

ব্যবহার:

q scriptname.k

2012.05.08 সম্পাদনা করুন - ফাইল হ্যান্ডেল এইচএসএম করার দরকার নেই 2012.05.09 - ইনট এর পরিবর্তে বাইটে রূপান্তর করে 1 পয়েন্ট সংরক্ষণ করা হয়েছে

২০১২.০5.১7 - পাঠ্যের পরিবর্তে উপস্ট্রিমে ফাইল পাঠ করে পয়েন্টগুলির একটি লোড সংরক্ষণ করতে পারে:


1

জে, 198

33*6

এবং

6*33

এটি নিষ্ঠুর বল দ্বারা পাওয়া গেছে। জেতে 1 বা 2 চরের সমাধান নেই, এবং কেবলমাত্র 3-চর সমাধান 150। আমার অনুসন্ধানে কোনও বাগ বাদে অন্য কোনও 4-চর সমাধান নেই।


# জসফটওয়্যার আইআরসি চ্যানেল থেকে, আমাদের কাছে <.%:10!20429 এবং একটি স্ব-গণনা কুইন +/a.i.2#(,{:)'+/a.i.2#(,{:)'''1706 এ ছিল।


0

বিসি 1160

প্রতিধ্বনি এবং ফাঁকা অংশের সাহায্যে 7 স্ট্রিং সহ পুরো echo 1160 | bcস্ট্রিংয়ের বাইটসিয়াম 1160।

echo 1160    |  bc

১৫০ বিসি-তেও কাজ করে:

echo "150" > 150
bc -q 150
150


0

হোয়াইটস্পেস, 369

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

SSSTSTTTSSSTLTLSTLLL

(369 = 7 * 9 + 8 * 32 + 5 * 10, সেখানে 7 টি ট্যাব, 8 টি স্পেস এবং 5 লাইনফিড রয়েছে))


0

হাস্কেল, 7518

আমার কুইনের একটি ছোট্ট পরিবর্তন :

main=print.sum.map fromEnum$q++show q;q="main=print.sum.map fromEnum$q++show q;q="

0

ব্রেইনফ * সিকে, 253 (বা 252)

পিটার ওলসনের সমাধানের ক্ষেত্রে সামান্য উন্নতি:

---.H

প্রদত্ত অন-প্রিন্টেবলগুলি অনুমোদিত তবে এএসসিআইআই 26 নম্বরের -পরিবর্তে এটি যুক্ত করে আরও উন্নতি করা যেতে পারে H



0

পাইথন, 5440

সর্বোচ্চ স্কোর জিতল, তাই না?

import sys
print sum(ord(i)for i in open(sys.argv[0]).read())

আমি কেবল ভেবেছিলাম আমি যেভাবেই এটি পোস্ট করব খ / সি এটি অর্ধেক কুইন সমাধান।

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