कैलकुलेटर जो चार मूल्यों को जोड़ता है


18

कार्य

एक कैलकुलेटर बनाएँ, जो किसी भी स्ट्रिंग, फ़ाइल, स्टडिन या जो कुछ भी लेता है, और वर्णों के सभी मूल्यों को जोड़ता है।

उदाहरण

Input
Hello World!

Output
1085

नियम

कैलकुलेटर को सिर्फ ASCII एन्कोडिंग स्वीकार करने की आवश्यकता है।

सबसे छोटा कोड जीतता है।

टिप्पणियाँ

M.buettner की टिप्पणी के बारे में, मुझे यह कहने की ज़रूरत है, मैंने मल्टीबाइट भाग के बारे में नहीं सोचा था।
तो मैं इसे बोनस के रूप में छोड़ देता हूं।
कैलकुलेटर को लिखित रूप में चलाया जाना चाहिए, इसलिए संकलन या व्याख्या करने से पहले संशोधित करने की आवश्यकता नहीं है।

बक्शीश

सिंथेटिका के लिए धन्यवाद , यहां एक और बोनस है,

प्रोग्राम जिसमें सबसे कम आउटपुट होता है जब आप उसके कोड का उपयोग करते हैं क्योंकि उसका इनपुट जीतता है उसे एक स्टार मिलता है।

मैं इसे पूरी तरह से संशोधित नहीं करना चाहता।

यदि आप इसे UTF-8 में आउटपुट (दाएं) मान के लिए अतिरिक्त लिखते हैं, तो आपको एक स्टार मिलता है।

जो कोड मेरे लैपटॉप पर सबसे तेजी से निष्पादित होता है (Lenovo Yoga 13 Intel Core i5 3317U 1.7Ghz, 8GB RAM, 128GB SSD, Intel HD 4000, Windows 8) को एक स्टार मिलता है।

वेब कोड पहले IE11 के तहत चक्र और फिर फ़ायरफ़ॉक्स 29.0.1 में स्पाइडरमोंकी के साथ चलेंगे

लिनक्स कोड रास्पबेरी के साथ एक रास्पबेरी पाई पर चलेगा।

टेस्टस्ट्रिंग यह है:

q/%8hnp>T%y?'wNb\},9krW &D9']K$n;l.3O+tE*$*._B^s!@k\&Cl:EO1zo8sVxEvBxCock_I+2o6 yeX*0Xq:tS^f)!!7=!tk9K<6#/E`ks(D'$z$\6Ac+MT&[s[]_Y(`<g%"w%cW'`c&q)D$0#C$QGf>?A$iawvc,}`9!('`c&q)D$0#C$QGf>?A$iawvc,}`9!(

मज़ा कोडिंग है :)

Bonusscoring

मैं इस शनिवार को स्कोर करने की योजना बना रहा हूं इसलिए 07.06.14, उस तिथि के बाद के सभी उत्तरों को बोनस अंक नहीं मिलेंगे;)

आप यहाँ परीक्षण के लिए उपयोग होने वाला कोड डाउनलोड कर सकते हैं और कांटा मुक्त महसूस कर सकते हैं :)

बोनस की वजह से थोड़ा अपडेट, मेरा लैपटॉप आंशिक रूप से टूट गया है, इसलिए मैं इसे शायद अगले सप्ताह के अंत में करूंगा, मुझे इसके लिए वास्तव में खेद है :(


3
मुझे Hello World!अपने कंप्यूटर पर ASCII मूल्यों के लिए दो अलग-अलग भाषाओं का उपयोग करने के लिए 1085 मिलता है ।
काइल कानोस

1
वह शायद '!' जोड़ना भूल गया। संपादित करें आप 3 सेकंड तेजी से थे ...
gxtaillon

1
कृपया नीचे की व्याख्या कर सकते हैं?
कर्नड

3
मेरा अनुमान है कि चढ़ाव का संकेत है कि यह वास्तव में एक अच्छी समस्या नहीं है।
काइल कानोस

5
मुख्य रूप से @Knerd, क्योंकि यह अधिकांश भाषाओं में थोड़ा बहुत तुच्छ है (जैसा कि आप पहले से मौजूद सबमिशन की लंबाई से देख सकते हैं)
मार्टिन एंडर

जवाबों:


10

GolfScript, 4 वर्ण

{+}*

*सभी वर्णों को जोड़ने के लिए बस गुना ऑपरेटर ( ) का उपयोग करता है ।

अगर इसे खाली स्ट्रिंग के साथ काम करना है, तो 9 वर्ण:

{{+}*}0if

खाली स्ट्रिंग के साथ काम करने वाले वैकल्पिक 6-चार संस्करण उपलब्ध कराने के लिए @PeterTaylor को धन्यवाद:

0\{+}/

खाली स्ट्रिंग पर काम नहीं करता है।
हावर्ड

@ हावर्ड गुड पॉइंट; संपादित।
दरवाज़े

0\{+}/खाली तार का समर्थन करता है
पीटर टेलर

1
@Doorknob बेवकूफ सवाल के लिए क्षमा करें, मैं डेटा कैसे इनपुट करूं? मैं गोल्फरस्क्रिप्ट .apphb.com का
Knerd

2
@ आईबिडिड अजीब आकार की आंख के साथ एक चक्रवात। :-P (या, GolfScript, में "स्वैप और ऐड-प्रत्येक" चेहरा!)
दरवाज़े

7

एपीएल (8)

+/⎕UCS⍞

स्पष्टीकरण:

  • +/ का योग
  • ⎕UCS के यूनिकोड मूल्य
  • चरित्र इनपुट

इसका परिणाम क्या होगा Hello World!?
केर्नड

@Knerd: 1085। यह सही नहीं होगा अगर यह एक और आउटपुट देता। यह पात्रों के यूनिकोड कोडपॉइंट्स के मानों को पूरा करता है।
मरीनस

ठीक है, मुझे इसका मतलब नहीं मिला ;)
Knerd

1
@knerd: का मतलब कीबोर्ड से एक पंक्ति को पढ़ते हैं
marinus

क्या आप एक एपीएल दुभाषिया जानते हैं जो मुफ़्त है?
कर्नड

6

हास्केल 36

main=interact$show.sum.map fromEnum

यह पाठ कहाँ से पढ़ता है?
Knerd

stdin। $ printf "Hello World!" | ./charsum
gxtaillon

ठीक है, मैं इसे अपने विंडोज मशीन पर नहीं चला सकता, मैं इसे घर पर होने पर आरपीआई पर आज़माने जा रहा हूं
Knerd

जब मैं आपके कोड को निष्पादित करता हूं, तो मुझे केवल स्ट्रिंग "हैलो वर्ल्ड!" आउटपुट के रूप में। यह मेरी कमांडलाइन है:ECHO "Hello World! | ghci charsum.hs
Knerd

1
का उपयोग करें interactऔर showइसके बजाय getContents>>=print:main=interact$show.sum.map fromEnum
Flonk

6

शेल + जीएनयू उपकरण, 29 बाइट्स

echo `od -An -tuC`|tr \  +|bc

स्टड से इनपुट लेता है:

$ printf "%s" 'Hello World!' | ./addchars.sh 
1085
$ 

खुद का स्कोर: 2385


सी, 52 बाइट्स

c;main(p){while(~(p=getchar()))c+=p;printf("%d",c);}

संकलित (कुछ चेतावनियाँ निर्मित):

gcc addchars.c -o addchars

स्टड से इनपुट लेता है:

$ printf "%s" 'Hello World!' | ./addchars 
1085 $ 

खुद का स्कोर: 4354


यह बहुत अच्छा जवाब है। जीएनयू संकलक के साथ कोडब्लॉक हमेशा शिकायत करता है कि चर में कोई प्रकार नहीं है जैसे इंट सी, मुख्य (इंट पी)। इसलिए मुझे लगता है कि इन्हें आपके उत्तर में शामिल किया जाना चाहिए।
बेचूसबेल

@bacchusbeale मैंने संकलन चेतावनी के बारे में एक नोट जोड़ा है, लेकिन मुझे लगता है कि यह आम तौर पर जब सी में गोल्फ के लिए बराबर है। जब तक कोड संकलित होता है और जब तक अपेक्षित होता है, तब तक चेतावनी को अनदेखा किया जा सकता है। Codegolf.stackexchange.com/a/2230/11259 और codegolf.stackexchange.com/a/2204/11259 देखें । बेशक उत्पादन कोड पूरी तरह से एक अलग मामला है।
डिजिटल ट्रामा

@DigitalTrauma उन सभी स्थानों वास्तव में आवश्यक हैं? क्या शेल व्हाट्सएप को अनदेखा नहीं कर सकता है और नए मापदंडों को चिह्नित करने के लिए - का उपयोग करता है?
अश्विन गुप्ता

@ अश्विनगुप्ता क्या आप odकमांड के बारे में बात कर रहे हैं ? od -AntuCके रूप में ही नहीं करता है od -An -tuC
डिजिटल ट्रामा

@DigitalTrauma हाँ मैं था। मैं मतलब आप नहीं कर सका od-An-tuCयाod -An-tuC
अश्विन गुप्ता

6

जावास्क्रिप्ट ( ईएस 6 ) 51

alert([...prompt(x=0)].map(y=>x+=y.charCodeAt())|x)

@nderscore क्या आप बता सकते हैं कि ...इससे पहले क्या promptहोता है? क्या यह नई ईएस 6 चीज है या यह प्री-ईएस 6 है?
वैलेस्ट

1
@WallyWest इसे एक फैल ऑपरेटर कहा जाता है और यह ES6 ड्राफ्ट का हिस्सा है।
नंदकोर

@nderscore इसलिए यदि मैं स्प्रेड ऑपरेटर सिंटैक्स को समझ रहा हूं, तो आपके उपयोग [...prompt(x=0)]ने 0 के डिफ़ॉल्ट मान के साथ संकेत लिया है (जो बाद में योग में उपयोग किया जाता है), और उस इनपुट को वर्णों की एक सरणी के रूप में लागू करता है ... ? तकनीकी रूप से कौन सा prompt(x=0).split("")सही होगा?
वैलेस्ट

1
@WallyWest का prompt(x=0)अर्थ है "x को 0 पर सेट करें, x को 0 पर सेट करने promptके मूल्य के साथ कॉल करें ", जो कहना है, 0. यह लिखने के बराबर होगा(x=0,prompt(x))
Cyoce

6

gs2 , 1 बाइट

d

d( 0x64/ sum), ज़ाहिर है, मानक इनपुट में सभी बाइट्स को समेटता है।


5

पायथन 3 - 28 बाइट्स

print(sum(map(ord,input())))

उदाहरण रन:

$ ./sum_string.py <<< 'Hello World!'
1085

, Stdin से इनपुट हो जाता mapहै ordइसे करने के लिए समारोह हर किरदार के लिए ASCII मूल्य प्राप्त करने के, sumयह और एस printएस।


निंजा, मेरे पास एक ही विचार था। उसके लिए +1।
see

@ TheRare तो मैंने किया, भले ही मेरा लंबा था, क्योंकि मैंने पायथन 2.7 का उपयोग किया था। मैं जंग
खा

@ सिंथेटिका मैं हमेशा पायथन 2.7 का उपयोग करता हूं, जिस पर उत्तर होता हैprint sum(map(ord,raw_input()))
Seequ

1
@ TheRare जो मेरा सटीक जवाब था;)
ʇǝɥʇıʎu Juns

यहाँ nitpicking, लेकिन आप इसे बदल कर बेहतर प्रदर्शन कर सकते हैं map(ord,input())करने के लिए input().encode()। बाइट्स ऑब्जेक्ट्स को अभी भी अभिव्यक्त किया जा सकता है, और यह एक ही लंबाई रहता है।
cjfaure

5

8086 विधानसभा (16-बिट) - 47 41 बाइट्स

test.comफ़ाइल की सामग्री हैं:

98 01 c3 b4 01 cd 21 3c 0d 75 f5 89 c7 c6 05 24
89 d8 b1 0a 4f 31 d2 f7 f1 80 ca 30 88 15 09 c0
75 f2 89 fa b4 09 cd 21 c3

वास्तविक कार्य पहले 11 बाइट्स में किया जाता है; मुझे दशमलव अंकन में परिणाम को प्रिंट करने के लिए बाकी की आवश्यकता है।

स्रोत कोड (डॉस debug.comअसेंबलर को इनपुट के रूप में दें ):

a
; input the string; count the sum
    cbw
    add bx, ax
    mov ah, 1
    int 21
    cmp al, d
    jne 100
; Prepare for output: stuff an end-of-line marker
    mov di, ax
    mov [di], byte 24
    mov ax, bx
    mov cl, a
; 114
; Divide by 10; write digits to buffer
    dec di
    xor dx, dx
    div cx
    or  dl, 30
    mov [di], dl
    or  ax, ax
    jne 114
; Print the string
    mov dx, di
    mov ah, 9
    int 21
    ret

rcx 29
n test.com
w
q

कोड पर कुछ नोट:

  • केवल एक पंक्ति (पंक्ति से अंत तक वर्ण 13) को संभालता है; कोई अंत नहीं है, तो हैंग हो जाता है
  • केवल 7-बिट वर्ण समर्थित हैं (परिणाम अन्यथा गलत हैं)
  • रिक्त इनपुट के लिए आउटपुट 0
  • 64K से अधिक आउटपुट को संभाल नहीं सकता
  • पते पर निर्देश 0x10d स्वयं को ओवरराइट करता है (शुद्ध संयोग)
  • इस कार्यक्रम को इकट्ठा करने और चलाने के लिए डॉसबॉक्स जैसे डॉस एमुलेटर का उपयोग करना होगा

आप इसे कैसे समझ सकते हैं? oO
कर्नड

5

CJam, 3 बाइट्स (योग 260)

q1b

आप इसे ऑनलाइन आज़मा सकते हैं ।
धन्यवाद jimmy23013 2 पात्रों को काट देने में मदद करने के लिए :)

स्पष्टीकरण:

q     read the input into a string  
1b    convert from base 1, treating each character as its numeric value

1
q1bछोटा है।
jimmy23013

4

Befunge98, 6 बाइट्स, योग: 445

2j@.~+

कोई भी दुभाषिया ठीक होना चाहिए। मैं CCBI का उपयोग करता हूं

निम्नानुसार उपयोग करें:

printf 'Hello World!' | ccbi calc.fg

मल्टीबाइट चार्ट और खाली तारों के लिए काम करता है।

व्याख्या

  • 2j- अगले दो निर्देशों पर कूदें ( @और .- नीचे देखें)
  • ~ - स्टैक पर अगला चार डालें
  • +- वर्तमान राशि में नए चार का कोड मान जोड़ें। निर्देश सूचक शुरुआत में लपेटता है और चक्र दोहराता है
  • जब ~ईओएफ का सामना होता है तो यह पॉइंटर की दिशा को उलट देता है और दो "छिपे हुए" निर्देशों को निष्पादित किया जाता है:
  • . - राशि प्रिंट करें
  • @ - बाहर जाएं

4

रूबी, 13 12 बाइट्स

p~9+gets.sum

sumएक बिल्ट-इन फ़ंक्शन है जो एक स्ट्रिंग के पात्रों को प्रस्तुत करता है। 10 के घटाव को नई लाइन के लिए getsरिटर्न वैल्यू के अंत में खाते में लाना होगा ।

(संपादित 4 साल बाद बदलने के लिए x-10करने के लिए ~9+x... का मूल्य ~9है -10, लेकिन यह हम दोनों के बीच अंतरिक्ष निकालने pऔर उसके तर्क, एक बाइट की बचत।)


मैं रूबी से बिल्कुल भी परिचित नहीं हूँ, क्या आप अपना कोड स्पष्ट कर सकते हैं?
केर्नड

1
get एक फ़ंक्शन है जो एक स्ट्रिंग को मानक से पढ़ता है जब तक कि एक नई पंक्ति नहीं पढ़ी जाती है, यह एक स्ट्रिंग लौटाता है। स्ट्रिंग # योग प्रत्येक वर्ण के मूल्यों को जोड़ता है, जो एक फ़िक्नम देता है। फिक्सनम # - बस घटाव है। pएक लाइन पर किसी चीज़ के डिबग मूल्य के आउटपुट के लिए एक विधि है।
काइल स्मिथ

2

पॉवरशेल - २ 27

[char[]]$args[0]|measure -s

उदाहरण

> SumChars.ps1 'Hello World!'

Count    : 12
Average  : 
Sum      : 1085
Maximum  : 
Minimum  : 
Property : 

26 यदि आप [char[]]"$args"|measure -sतब तक उपयोग करते हैं जब तक कि केवल एक $ arg प्रविष्टि न हो।
TessellatingHeckler

2

जूलिया - 1 1 7 वर्ण, परिणाम योग = 943 536

चूंकि प्रश्न इनपुट को आपके इच्छित स्रोत से आने की अनुमति देता है, मैं एक मौजूदा चर चुनता हूं। मान लो कीA स्ट्रिंग में हम मूल्यांकन करना चाहते हैं।

sum(A)1

जैसा कि यह पता चला है, आप सीधे स्ट्रिंग को योग कर सकते हैं, और यह मूल्यांकन करेगा ... हालांकि, जिस तरह से वर्णों का योग संभाला जाता है, अगर स्ट्रिंग में वर्णों की एक विषम संख्या है, तो यह एक चरित्र को आउटपुट करेगा, किसी भी प्रकार के पूर्णांक के बजाय। जैसे, हम इसे 1 से गुणा करके इंट को कास्ट करने के लिए मजबूर करते हैं।

पुराना संस्करण:

sum(A.data)

एक हेक्साडेसिमल नोटेशन में आउटपुट होगा (यदि योग 256 से कम है, तो यह होगा 0x?? , अन्यथा यह 8 बाइट होगा 0x????????)। यदि कोड में उपयोग किया जाता है जहां परिणाम का उपयोग किया जाता है, तो यह किसी भी अन्य नंबर की तरह काम करेगा (यह सिर्फ जूलिया अहस्ताक्षरित प्रदर्शित करता है)।

दशमलव में परिणाम का मूल्य देखने के लिए, उपरोक्त को संलग्न करें int() , के रूप में int(sum(A.data))

जो कोई भी जूलिया को नहीं जानता है, आप Aउसी तरह से असाइन करते हैं जिस तरह से आप दूसरे असाइनमेंट्स को वेरिएबल्स में करते हैं। तो, A="Hello World!"या A="sum(n.data)"। इस मामले में जहां आप में डाल करने की आवश्यकता में "या 'वर्ण, वहाँ कई विकल्प हैं, जिनमें से सबसे आसान (क्योंकि यह जूलिया स्ट्रिंग शाब्दिक की बारीकियों का ज्ञान के लिए जरूरत से बचा जाता है) है A=readline(), बस STDIN में स्ट्रिंग में टाइप द्वारा पीछा (जीता ' टी संभाल newlines, हालांकि)। न्यूलाइन के लिए भागने का क्रम हमेशा की तरह है, \nलेकिन मुझे विश्वास नहीं है कि आप इसे रीडलाइन () के साथ उपयोग कर सकते हैं।


+1 भगवान के लिए चतुर समाधान लानत ^ ^ आप पोस्ट कर सकते हैं, चर को परीक्षण मूल्य कैसे असाइन करें n? मैं जूलिया को नहीं जानता;)
7

@Knerd - मैंने इसे संपादित किया है। आशा है कि मदद करता है।
ग्लेन ओ

बहुत बहुत धन्यवाद। मैं बाद में इसका परीक्षण करने की कोशिश करता हूं :)
केनरड

मामूली परिवर्तन - से बदल चर nके लिए A988 943. करने से उसके एवज में राशि कम करने के लिए
ग्लेन हे

ठीक है, बहुत बड़ा परिवर्तन - मैंने महसूस किया कि आप पात्रों को निकालने के बजाय सीधे स्ट्रिंग को योग कर सकते हैं .data; लेकिन क्योंकि वे वर्ण हैं, वे वर्णों की विषम संख्या के लिए एक वर्ण परिणाम उत्पन्न करते हैं। 1 से गुणा करने पर वह ठीक हो जाता है।
ग्लेन ओ

2

K5, 2 बाइट्स (फ़ंक्शन), 5 बाइट्स (प्रोग्राम)

समारोह

+/

कार्यक्रम

+/0:`

सुनिश्चित नहीं है कि इस चुनौती को पोस्ट करने से पहले या बाद में K5 बनाया गया था। भले ही ... यह भयानक है !!

K5 में, यदि आप स्ट्रिंग्स पर अंकगणितीय संचालन करते हैं, तो यह वर्णों को उनके ASCII कोड में परिवर्तित करता है। तो यह सिर्फ योग ऑपरेटर का उपयोग करता है +/(वास्तव में, यह प्लस + ​​ओवर है)।


2

मतलाब / ऑक्टेव 4 बाइट्स (बोनस: 405)

यह कोड एक अनाम फ़ंक्शन है, जो काम करता है, यह एक स्ट्रिंग लेगा, और आवश्यक संख्या लौटाएगा।

@sum

मुझे gs2उत्तर के बारे में निश्चित नहीं है , लेकिन कम से कम जूलिया के उत्तर के समान दृष्टिकोण के साथ, मुझे अभी भी लिखना चाहिए sum(A)। मुझे लगता है कि sumअकेला ठीक नहीं है (वैध कोड भी नहीं होगा)।
दोष

2

गो (59 अक्षर)

func d(s string)(t int){for _,x:=range s{t+=int(x)};return}

Go में सब कुछ डिफ़ॉल्ट रूप से utf8 है। `डेलिमेटर्स 'के माध्यम से चलने वाला कोडेक्सट स्वयं का आउटपुट देता है: 5399।


मैं मैं नहीं बल्कि कोई है हैरान कर रहा हूँ कहना है math.Sumसाथ प्रयोग के लिए mapया इसी तरह
बिल्ली


2

गोल> <> , 4 बाइट्स (गैर-प्रतिस्पर्धात्मक)

नोट: यह भाषा चुनौती से नई है।

iEh+

क्या इसका उच्चारण ish गोल्फिश ’जैसा है?
बिल्ली

@cat हाँ, यह गोल्फ है।
रैंडमरा

@randomra यह है कि "गोल • मछली" या "गोल्फ • इश"? जैसे मछली के साथ गोल, या गोल्फ की तरह कुछ है?
साइओस

2

जावास्क्रिप्ट ईएस 6, 41 बाइट्स

_=>[..._].map(y=>x+=y.charCodeAt(),x=0)|x

@ बाइट्स के लिए धन्यवाद 2 बाइट्स बचाए गए!


1
कैसे के बारे में _=>[..._].map(y=>x+=y.charCodeAt(),x=0)|x?
2

2

पायथन, 24 बाइट्स

यह अब तक किसी भी पायथन समाधान से कम है: एक अनाम अनाम फ़ंक्शन, जो स्ट्रिंग को तर्क के रूप में लेता है, और राशि लौटाता है।

lambda x:sum(x.encode())

इसे ऑनलाइन आज़माएं!

पहले, x.encode()इसे एक bytesवस्तु में बदल देता है । फिर, sumचार-कोड मान जोड़ता है। चूंकि यह लंबोदर फ़ंक्शन है, इसलिए मान लौटाया जाता है।

इसके अतिरिक्त, एक lambda x:sum(map(ord,x))ही बाइट गिनती के लिए हो सकता है ।


2

एसएमएल, 42 36

बस दूसरी भाषा जोड़ रहा हूं।

fun$x=foldl op+0(map ord(explode x))

स्ट्रिंग सरणी में कनवर्ट करता है, प्रत्येक मान की एससीआई संख्या की गणना करता है और सभी एससीआई संख्या के योग की गणना करता है।


1
आप कुछ रिक्त स्थान और अग्रणी छोड़ सकते हैं ;। 36 बाइट्स: tio.run/##DcpBCoAgEAXQq0zRQomiC7ivdYuWEWgRfB2xKby9uXzwHo/...
Laikoni

1

सी 32

f(char*s){return*s?*s+f(s+1):0;}

main(int argc,char **argv){return(argc?main(0,&(argv[1])):(**argv?**argv+main(0,argv)+((*argv)++?0:0):0));}(107 वर्ण) हालांकि यह किसी कारण से पहले चरित्र की उपेक्षा करता है। इसके अलावा, POSIX निकास कोड केवल 8 बिट्स हैं; बैश में, echo $?

नियम थोड़े व्यापक थे इसलिए मैंने मुख्य का उपयोग नहीं किया। मैं कुछ कम पर काम करेंगे
bebe

@ कबी मैंने नियमों को थोड़ा बदल दिया, यह स्पष्ट करने के लिए कि क्या जरूरत है?)
कर्नड

1

डी (समारोह: 60)

निश्चित रूप से इसे जीतने के लिए नहीं।

यह मानते हुए कि यह एक संपूर्ण कार्यक्रम होने की आवश्यकता नहीं है

int c(string i){int s;foreach(e;i){s+=cast(int)e;}return s;}

ऐसे ही पुकारा

void main ()
{
    import std.stdio;
    auto hw = "Hello World!";
    writefln("%s = %d", hw, c(hw));
}

आउटपुट:

Hello World! = 1085

डी (कार्यक्रम: 133)

लाइन ब्रेक की गिनती नहीं करता है।

void main(){import std.algorithm,std.stdio;stdin.byLine.map!((a){int s;foreach(e;a){s+=cast(int)e;}return s;}).reduce!"a+b".writeln;}

पठनीयता के लिए अधिक व्हाट्सएप और लंबे समय तक चर नामों के साथ

void main () {
    import std.algorithm, std.stdio;

    stdin.byLine
        .map!((line) {
                int sum;
                foreach (ch; line) {
                    sum += cast(int)ch;
                }
                return sum;
            })
        .reduce!"a+b"
        .writeln;
}

इनपुट में लाइन ब्रेक का समर्थन करने के लिए, मैं या तो उपयोग कर सकता हूं byLine(KeepTerminator.yes)- 20 अक्षरों के लिए, सही तरीका - या '\n'मेरी लाइन में एक जोड़ दें - जो सिंगल-लाइन इनपुट को तोड़ता है और 18 वर्णों के लिए, CRLF के कारण विंडोज पर गलत योग दे सकता है।


+1 पोस्टिंग के लिए भले ही आप जानते हों, कि आप जीत नहीं पाएंगे
18

1

जावास्क्रिप्ट (ईएस 6) 54 58

alert([].reduce.call(prompt(),(v,c)=>v+c.charCodeAt(0),0))

54 बाइट्स के लिए धन्यवाद nderscore :

alert([...prompt()].reduce((v,c)=>v+c.charCodeAt(),0))

अच्छा काम करता है, मैं इसे अब तक es6fiddle.net
Knerd

आप बस फ़ायरफ़ॉक्स का उपयोग कर सकते हैं;)
core1024

1
मैं काम पर था: D
Knerd

1
54:alert([...prompt()].reduce((v,c)=>v+c.charCodeAt(),0))
अंडरस्कोर

1
यह अब 51 हो गया :)alert([...prompt(x=0)].map(y=>x+=y.charCodeAt())|x)
अंडर

1

डेल्फी ( 87 83)

function x(s:string):int64;var c:char;begin x:=0;for c in s do x:=result+ord(c)end;

Ungolfed

function x(s:string):int64;
var
  c:char;
begin
  x:=0;
  for c in s do
    x:=result+ord(c)
end;

परिणाम में चार Sके ordमूल्य को जोड़ने के माध्यम से लूप । जहाँ x == परिणाम

संपादन:

Int64 पर स्विच करके 4 योग में सहेजे गए और जोड़ को जोड़कर बदल दिया।


क्या आपके पास डेल्फी का मुफ्त संस्करण है (आपको यहां संस्करण डालें) उपलब्ध है?
14

हम्म .. वास्तव में खेद नहीं है। लेकिन मैं अन-गोल्फ को समझा सकता हूं कि क्या होता है और अगर आप चाहें तो कुछ टेस्टकेस भी कर सकते हैं। नि: शुल्क पास्कल में कम या ज्यादा एक ही वाक्यविन्यास है ताकि आप ऐसा कर सकें।
त्युन प्रुन

ठीक है, मैं जाँच करता हूँ कि बाहर।
कर्नड

1

k (8 वर्ण)

+/6h$0:0

क्यू अनुवाद

sum `int$read0 0

बोनस मूल्य:

k)+/6h$0:0
+/6h$0:0
438i

1

जे (7)

इतना करीब, अभी तक ... ओह ठीक है, मुझे लगता है कि 7 पर्याप्त सभ्य है, क्योंकि यह उत्तर भी खाली तारों को स्वीकार करता है। (मैं वाक्यांश पर इनपुट के रूप में एक चर के मेरे उपयोग को आधार बना रहा हूं from a file, stdin or whatever)

+/a.i.b

स्पष्टीकरण:

a.

┌┬┐├┼┤└┴┘│─ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������

a. सभी ASCII वर्ण शामिल हैं।

   'people' i. 'pow'
0 2 6

x i. yअजगर के समान है [x.index(i) for i in y]

   a. i. 'Hello World!'
72 101 108 108 111 32 87 111 114 108 100 33

वजह, a. i. yधर्मान्तरित yअपने ASCII मूल्यों की एक सरणी के लिए

   +/1 2 3 4 5 6
21

+/जैसा है sum: +/1 2 3 4 5 6साधन1+2+3+4+5+6

   +/ a. i. 'Hello World!'
1085

कार्रवाई में पूरी बात

बोनस के लिए:

   b=:'+/a.i.b'
   +/a.i.b
482

बुरा नहीं है, मुझे लगता है।

   b=:'0\{+}/'
   +/a.i.b
478

खैर, झकना।

   A=:'+/a.i.A'
   +/a.i.A
449

साभार @algorithmshark

    A=:'+/3 u:A'
    +/3 u:A
413

साभार @marinus


महान विवरण के लिए +1। एक छोटा सा सवाल, मैं जे को सर्वश्रेष्ठ रूप से कहां निष्पादित कर सकता हूं?
कर्नड

1
निर्माताओं से @Knerd ( jsoftware.com ) मुझे लगता है, मैं किसी भी ऑनलाइन दुभाषियों को नहीं जानता। (मजेदार तथ्य: उनके पास Android के लिए एक आधिकारिक कंसोल है।) jsoftware.com/download/j801
atı Junu's

@Synthectica is cool: D अब मुझे एक Android स्मार्टफोन चाहिए: P
Knerd

449 के स्कोर में परिणाम के bलिए नामकरण A
एल्गोरिद्मशार्क

@algorithmshark ओह, ठीक है! मैं उस स्टार को अभी के लिए दावा करता हूं;)
thatıʎu Juns

1

आर, 35 अक्षर (3086 का योग) 26 बाइट्स (2305 का योग)

sum(utf8ToInt(readline()))

readline()एक से अधिक वर्ण है scan(,"")लेकिनscan डिफ़ॉल्ट रूप से रिक्त स्थान पर इनपुट को विभाजित करता है।

उपयोग:

> sum(utf8ToInt(readline()))
Hello World!
[1] 1085
> sum(utf8ToInt(readline()))
sum(utf8ToInt(readline()))
[1] 2305
> sum(utf8ToInt(readline()))
q/%8hnp>T%y?'wNb\},9krW &D9']K$n;l.3O+tE*$*._B^s!@k\&Cl:EO1zo8sVxEvBxCock_I+2o6 yeX*0Xq:tS^f)!!7=!tk9K<6#/E`ks(D'$z$\6Ac+MT&[s[]_Y(`<g%"w%cW'`c&q)D$0#C$QGf>?A$iawvc,}`9!('`c&q)D$0#C$QGf>?A$iawvc,}`9!(
[1] 14835

1

Japt , 6 बाइट्स (गैर-प्रतिस्पर्धात्मक)

यह उत्तर गैर-प्रतिस्पर्धात्मक है क्योंकि इस चुनौती को पोस्ट किए जाने के बाद जाप बनाया गया था।

U¬mc x

बहुत साधारण। इसे ऑनलाइन आज़माएं!

यह काम किस प्रकार करता है

U¬mc x  // Implicit: U = input string
U¬      // Split U into chars.
  mc    // Map each item to its char code.
     x  // Sum.
        // Implicit: output last expression

जिज्ञासा से बाहर, आपने ¬किसी तरह की उपेक्षा क्यों नहीं की ?
कॉनर ओ'ब्रायन

@ C @O'Bʀɪᴇɴ क्योंकि मैं जल्दी में था और बस उन्हें नियत रूप से नियत किए बिना उनकी ज़रूरत के अनुसार काम सौंपा। मेरे पास एक ऐसा सेट है जो कोड की एक पंक्ति को बदलकर और अधिक अर्थ निकालने के लिए तैयार है, लेकिन मैं इसके बारे में बहुत ही उत्सुक हूं क्योंकि यह लगभग हर मौजूदा उत्तर को अमान्य कर देगा।
ETHproductions

यह एक आसान तय है। शीर्षक (जैसे, url/interpreter.html#new=1) के लिए एक सशर्त जोड़ें ; इसके बिना कुछ भी पुराने वर्ण सेट का उपयोग करता है, और इसके साथ कुछ भी नए वर्ण सेट का उपयोग करता है।
कॉनर ओ'ब्रायन

@ C @O'Bʀɪᴇɴ धन्यवाद, मैं उस पर विचार करूंगा।
ETHproductions

1

प्लैटिपार , 2 बाइट्स (गैर-प्रतिस्पर्धात्मक)

us

इसे ऑनलाइन आज़माएं !

uइनपुट स्ट्रिंग में सभी चारकोड मानों की एक सरणी उत्पन्न करता है, और sउनकी राशि पाता है।

जब खुद पर चलाया जाता है, तो यह वापस आ जाता है 232

यह कॉनर के जोल्फ जवाब के समान है , सिवाय इसके कि मैं एक बाइट का इस्तेमाल करके स्ट्रिंग को कैरेक्टर कोड (जो कि जोल्फ में निहित है) में बदल देता हूं, जबकि वह इनपुट को प्राप्त करने के लिए एक बाइट का उपयोग करता है (जो कि प्लैटिपार में निहित है)।

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