प्रोग्राम के एससी कोड के योग को प्रिंट करने के लिए एक प्रोग्राम लिखें


14

आपका कार्य प्रोग्राम के पात्रों के ASCII कोड के योग को प्रिंट करने के लिए एक प्रोग्राम लिखना है। आपको किसी भी फ़ाइल को खोलने की अनुमति नहीं है (कोई भी इनपुट जैसे कमांड लाइन तर्क, मानक इनपुट या फ़ाइलें निषिद्ध हैं)।

प्रोग्राम जो सबसे कम संख्या प्रिंट करता है (यानी ASCII कोड का सबसे कम योग है) जीतता है।

सी में लिखे गए इस तरह के कार्यक्रम का एक उदाहरण (सबसे छोटा नहीं) है:

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

(कोई नई लाइन नहीं है })


4
यह एक क्वीन समाधान देखना दिलचस्प होगा: एक जो अपने बाइट्स का उत्पादन करता है और रकम देता है।
जोए एडम्स

1
बहुत चुनौतीपूर्ण नहीं imho। यह तुच्छ रूप से क्रूर-मजबूर किया जा सकता है, खासकर ऐसी भाषाओं के लिए जो केवल टोकन डंप करती हैं, जैसे कि पॉवरशेल, गोल्फस्क्रिप्ट, आदि
जोय

2
मैंने टिप्पणी की और टिप्पणी कारण देती है, क्यों। जैसा कि मैंने पहले उल्लेख किया है, मैं जवाबों की संख्या को गुणवत्ता का संकेत नहीं मानता हूं । सिर्फ इसलिए कि इसे आसानी से हल किया जा सकता है, यह एक दिलचस्प या चुनौतीपूर्ण चुनौती नहीं है। मेरी राय, कम से कम।
जॉय

5
रुको। क्या? एक तरफ आप शिकायत करते हैं कि सवाल आसान है और दिलचस्प नहीं है और फिर आप मुझे (मेरे लिए -2) को नीचा दिखाते हैं। दूसरी ओर आप इस प्रश्न पर 25% उत्तर (आपके लिए +70) पोस्ट करते हैं।
एलेक्जेंड्रू

4
तो आप इसे प्रतिष्ठा की लड़ाई के रूप में देखते हैं? ठीक है, मैं आसानी से अपने जवाब सीडब्ल्यू में बदल सकता हूं। एक तरह से जवाबों की बड़ी संख्या में विरोध का एक सा था और यह दिखाने के लिए कि यह बहुत सारे उत्तरों को मंथन करने के लिए तुच्छ है। उदाहरण के लिए इसकी तुलना उस कार्य से करें जो चार बार वर्णमाला चाहता था। इसके अलावा मेरे उत्तर देने वाले स्वयं (कार्य विनिर्देशों के अनुसार) और मेरी टिप्पणी करने वाले स्वयं (सामान्य साइट गुणवत्ता में सुधार की उम्मीद) अक्सर काफी अलग होते हैं। वैसे भी, अब खुशी है कि मैंने उन्हें हटा दिया? वे अभी भी मान्य उत्तर थे, हालांकि।
जॉय

जवाबों:


10

wc, प्रिंट ०

किसी ने कहा "बिल्ली जैसी भाषा", इसलिए ...

एक खाली फ़ाइल:



के साथ निष्पादित करें wc -c file.wc। 0 बाइट्स में, मुझे लगता है कि यह 'वास्तव में प्रोग्रामिंग भाषा नहीं' श्रेणी में विजेता है।

भी

बिल्ली, प्रिंट 80 (आधार 13)

80

कोई समाप्ति वाली न्यूलाइन नहीं, संख्या 80 13 दशमलव में 104 के बराबर है। आप 60 17 (102 डीईसी) के साथ कम जा सकते हैं , लेकिन मुझे लगा कि "बेस 13" अधिक गीक अंक के लायक होगा।

संपादित करें: नया wcउदाहरण, यह एक कार्यक्रम के रूप में चलाया जा सकता है।

#!/usr/bin/wc
ÿÿzw17

(जैसा कि लैटिन -1 में कूटबद्ध किया गया है -) मान 255 के साथ एक बाइट है)

बाइट्स का योग 2223 है, आउटपुट है:

  2  2 23 ./w

लेकिन wc को एक फाइल को पढ़ना चाहिए, जिसमें नंबर 0 का उत्पादन करने के लिए 0-बाइट होता है, खाली नहीं। खाली नहीं है अशक्त।
उपयोगकर्ता अज्ञात

उपयोगकर्ता: कोई यह तर्क दे सकता है कि खाली सेट में मानों का योग अभी भी 0. है। फिर भी, wc -cइस प्रश्न में वैसे भी निषिद्ध है।
जॉय

1
ऐसा करने वाला एकमात्र क्लॉज़ है "कोई भी इनपुट जैसे कमांड लाइन आर्ग्यूमेंट्स ... निषिद्ध है" इसलिए ऑफ-सी छोड़ दें, फिर यह प्रिंट करता है 0 0 0(यदि फ़ाइल के रूप में पास की जा रही फ़ाइल इसे प्रतिबंधित करती है, तो सभी स्क्रिप्टिंग भाषाएँ हैं निषिद्ध भी)
रैंडम 832

2
wcआधार धोखा के लिए +1 , -1 आधार के लिए , आधार में चुटकुले बनाने के लिए +1।

मैं कहूंगा कि wcएक आवेदन है, एक भाषा नहीं है।
थॉमस एडिंग

14

PHP, m4, और अन्य बिल्ली जैसी भाषाएं: 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!जे की तरह कहें
mellamokb

@mellamokb ASCII वर्णों का योग 5!86 है, 125 नहीं।
पीटर ओल्सन

3
@Peter: वास्तव में, मैं उस समाधान के प्रकार का उदाहरण दिखा रहा था जो 150 से छोटा हो सकता है, लेकिन वास्तविक समाधान नहीं। मुझे अभी तक एक भी नहीं मिला (और btw, 5! 120 है, 125 नहीं) :-)
mellamokb

12

ब्रेनफ * सीके, 255

-.¤

यह संख्या 255 नहीं, बल्कि 255 वें ASCII वर्ण को प्रिंट करेगा।

इसे धोखा माना जा सकता है क्योंकि BF कंपाइलर ¤ के ऊपर जाता है।


1
टिम: सबसे कम संख्या जीतती है, सबसे छोटा कार्यक्रम नहीं। किसी भी मामले में, मुझे नहीं लगता कि ¤यह धोखा है, क्योंकि यह सिर्फ एक सामान्य टिप्पणी है।
जॉय

आपको थोड़ा और अधिक घटाना करके निम्न स्कोर प्राप्त होता है: ----
हेलेना

8

जावास्क्रिप्ट, 9432 प्रिंट करता है 6902

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

यह अब तक का पहला क्वीन सॉल्यूशन है, जब तक कि मैं हास्केल को सही तरीके से नहीं समझ रहा हूं ।


वह हास्केल कोड केवल सबसे छोटे नंबर की खोज कर रहा है जो उसके अंकों के 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
मुझे
स्टीव पी

5

रूबी, 380 को प्रिंट करती है

p (380)

समापन कोष्ठक के बाद कोई अनुगामी न्यूलाइन नहीं।




5

जे, 150

?!6

इस चेतावनी के साथ कि यह समय के केवल 1/720 वें स्थान पर सही होगा।


3
तथ्यात्मक 6 पर यादृच्छिक? हम्म, मुझे ऐसा नहीं लगता, टिम।
MPelletier

4

पायथन, 781 प्रिंट करता है

print  781

दो जगह।


1
मुझे विशेष रूप से 2 रिक्त स्थान पसंद हैं।
स्टीव पी

3

तत्व, २२०

यह मेरी अपनी रचना की एक भाषा है, और यह मेरे दूसरे प्रश्न के उत्तर पर यहाँ प्रलेखित है

220`!

यह कैसे काम करता है इसका एक पूर्वाभास है: 220स्टैक पर उस संख्या को धक्का देता है। फिर `` outputs the top element of the stack. The! `फिर नियंत्रण स्टैक (एक अलग स्टैक) पर एक तार्किक करता है, इसे 1 पर सेट करता है।


2

PHP, 4440 प्रिंट करता है

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

2

पावरशेल, 3902 प्रिंट करता है

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

वर्तमान में चलने वाली लाइन में लगता है और कोड बिंदु मानों को सम्‍मिलित करता है।


2

INTERCAL, 1572

मुझे विश्वास नहीं हो रहा है कि किसी ने अभी तक INTERCAL नहीं किया है!

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

साथ ही, "ईसीएचओ" (उद्देश्य पर अपरकेस) और "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 फ़ाइल हैंडल को hsym करने की कोई आवश्यकता नहीं है - int के बजाय बाइट में परिवर्तित करके 1 अंक बचाया गया

2012.05.17 - फ़ाइल को टेक्स्ट की बजाय बायस्ट्रीम के रूप में पढ़कर अंकों के भार को बचा सकते हैं:


1

जे, 198

33*6

तथा

6*33

यह क्रूर बल द्वारा पाया गया। J में 1 या 2 चार समाधान नहीं हैं, और केवल 3-चार समाधान है 150। मेरी खोज में किसी भी कीड़े को छोड़कर, कोई अन्य 4-चार समाधान नहीं हैं, या तो।


#Jsoftware IRC चैनल से, हमने <.%:10!20429 पर और +/a.i.2#(,{:)'+/a.i.2#(,{:)'''1706 पर एक सेल्फ-काउंटिंग क्वीन की थी।


0

1160 ई.पू.

गूंज और रिक्तता के साथ आह्वान, 7 echo 1160 | bcकंबल सहित पूरे स्ट्रिंग, 1160 का एक बाइट्सम है।

echo 1160    |  bc

150 बीसी के लिए भी काम करता है:

echo "150" > 150
bc -q 150
150


0

व्हॉट्सएप, 369

यह 20-कैरेक्टर प्रोग्राम 369 नंबरों को प्रिंट करता है, जो कि इसके पात्रों के एससीआई मूल्यों का योग है (जो कि टैब, स्पेस, लाइनफीड वर्ण हैं, यहां क्रमशः टी, एस, एल, क्रमशः का प्रतीक है):

SSSTSTTTSSSTLTLSTLLL

(३६ ९ = 36 * ९ + 32 * ३२ + ५ * १०, इसमें, टैब, aces स्पेसेस और ४ लाइन्स हैं।)


0

हास्केल, 7518

मेरी रानी का एक छोटा संशोधन :

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

0

ब्रेनफ़ * ck, 253 (या 252)

पीटर ओल्सन के समाधान पर थोड़ा सुधार:

---.H

बशर्ते गैर-प्रिंटबलों को अनुमति दी जाए, एएससीआईआई कोड 26 द्वारा -प्रतिस्थापित Hकरके इसे और बेहतर बनाया जा सकता है ।



0

पायथन, 5440

उच्चतम स्कोर जीत, सही?

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

मैंने सोचा था कि मैं इसे वैसे भी पोस्ट करूँगा / c यह एक आधे रास्ते का समाधान है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.