विभिन्न आधारों में 6 * 9 की गणना करें


16

निम्नलिखित परिणाम आउटपुट करें (जो 2 से 36 के आधारों में 6 * 9 की गणना का परिणाम है)। सुनिश्चित करें कि पत्र अपरकेस हैं, और गुणा हर लाइन पर आउटपुट है।

6 * 9 = 110110
6 * 9 = 2000
6 * 9 = 312
6 * 9 = 204
6 * 9 = 130
6 * 9 = 105
6 * 9 = 66
6 * 9 = 60
6 * 9 = 54
6 * 9 = 4A
6 * 9 = 46
6 * 9 = 42
6 * 9 = 3C
6 * 9 = 39
6 * 9 = 36
6 * 9 = 33
6 * 9 = 30
6 * 9 = 2G
6 * 9 = 2E
6 * 9 = 2C
6 * 9 = 2A
6 * 9 = 28
6 * 9 = 26
6 * 9 = 24
6 * 9 = 22
6 * 9 = 20
6 * 9 = 1Q
6 * 9 = 1P
6 * 9 = 1O
6 * 9 = 1N
6 * 9 = 1M
6 * 9 = 1L
6 * 9 = 1K
6 * 9 = 1J
6 * 9 = 1I

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


1
@ हॉवर्ड: फिक्स्ड। मैं 2 से 10 को बदलने पर विचार कर रहा था, लेकिन परिणाम में कुछ और तय करते समय इस संपादन के बारे में भूल गया, इसलिए मैंने गलती से इसे गलत तरीके से छोड़ दिया।
कोनराड बोरोस्की

2
Calculate 6*9 in different basesमुझे आश्चर्य है कि इस तरह से बयान क्यों, 6*9बस और क्यों नहीं 54? शायद मूल रूप से अभिप्राय यह था कि 6और 9हमेशा दशमलव के रूप में नहीं बल्कि विभिन्न आधारों में व्याख्या की जानी चाहिए? यह कथन को अधिक तार्किक बना देगा, और समस्या को और अधिक दिलचस्प बना देगा (लेकिन तब हमें आधार 10 से 36 तक शुरू कर देना चाहिए)
leonbloy

2
@leonbloy: 6और 9एकल-अंकीय संख्या हैं। उनका मतलब हर आधार में वही होता है जिसमें वे अंक मान्य होते हैं।
इल्मरी करोनें

1
@ इल्मारियारोन: सही, लेकिन 6 * 9 = 110110बहुत मायने नहीं रखता ...
डेनिस

3
यह डगलस एडम्स द्वारा गैलेक्सी श्रृंखला के लिए सहयात्री की मार्गदर्शिका का संदर्भ है। श्रृंखला में, जीवन के अंतिम प्रश्न, ब्रह्मांड और सब कुछ का उत्तर "42" है। बाद में, इसका पता चला कि जीवन का अंतिम प्रश्न, ब्रह्मांड, और सब कुछ है "जब आप छह से नौ गुणा करते हैं तो आपको क्या मिलता है?", जो बेस -13 में काम करता है। नोट: डगलस एडम्स ने कहा कि यह अनजाने में था; "मैं बेस -13 में चुटकुले नहीं लिखता"
डॉम्ब जिंबोब

जवाबों:


1

05AB1E , 21 20 बाइट्स

36G54N>B"6 * 9 = ÿ",

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


मुझे लगता है कि यह गैर-प्रतिस्पर्धात्मक है क्योंकि भाषा एक चुनौती से नई है? के रूप में चिह्नित, अब के रूप में नियमों यह अनुमति देते हैं।
कोनराड बोरोस्की

@xfix बहुत ज्यादा हाहा
मैजिक ऑक्टोपस Urn



6

जावास्क्रिप्ट, 57 55 बाइट्स

for(i=2;++i<37;)console.log('6 * 9 = '+54..toString(i))

49 के साथ छोटा किया जा सकता है alert, लेकिन मैं उस पर किसी को भी जमा नहीं करना चाहता ...


3
आउटपुट अपरकेस होना चाहिए, और (54)इसे 54.(लिखने के लिए 54..toString) से बदला जा सकता है ।
कोनराड बोरोस्की

2
for(i=1;++i<37;)एक चरित्र को भी बचाता है।
grc

क्या आप 37 की अनदेखी कर सकते हैं? इसके परिणामस्वरूप एक त्रुटि होगी और बंद हो जाएगा
l4m2

4

रूबी (47)

2.upto(36){|t|puts"9 * 6 = "+54.to_s(t).upcase}

वैसे, मुझे पता है कि गोल्फस्क्रिप्ट समाधान बेहतर है, लेकिन हे, कम से कम यह गूढ़ नहीं है ...


2.step{|t|puts"9 * 6 = "+54.to_s(t).upcase}कुछ बाइट्स बचाता है। यह एक त्रुटि के साथ बाहर निकलता है, लेकिन यह ठीक है: डी
m-chrzan

4

पायथन, 89

B=lambda x:x*'.'and B(x/b)+chr(x%b+7*(x%b>9)+48)
b=2
while b<37:print'6 * 9 =',B(54);b+=1

प्रतिभाशाली। काफी ध्यान देने योग्य है कि मैं तुलना में कुल पायथन नोब हूं :)
जोआचिम इस्कासन

@JoachimIsaksson धन्यवाद ... मुझे सीखने के लिए अधिक भार मिला है।
बूथबीज

आप इसके बजाय थोड़ी देर के लूप का उपयोग करके एक चरित्र को दाढ़ी कर सकते हैं: b=2<लाइनब्रेक> while b<37:print'6 * 9 =',B(54);b+=1(* निक्स लाइनब्रेक के लिए एकल वर्ण मानकर)
बॉब

@ थोबा जब भी मैं कुछ समय के लिए कोशिश करता हूं, यह बहुत महंगा है। फिर, अगली बार कोशिश करना भूल जाता हूं। ;) धन्यवाद!
बूथ

3

पायथन 2.7 ( 124 114)

संपादित करें: नीचे कुछ बूथ की टिप्पणी @ बूथबी की टिप्पणी के लिए धन्यवाद

मुझे लगता है कि पायथन ठीक कर रहा है, यह देखते हुए कि इसमें आधार रूपांतरण करने के लिए कोई बिल्ट-इन (जो मुझे पता है) है इसलिए इसे कोड में किया जाना है;

for b in range(2,37):print'6 * 9 = '+''.join(chr((54/b**y%b>9)*7+48+54/b**y%b)for y in range(4,-1,-1)).lstrip('0')

मुझे खुद को लगातार याद दिलाना है: print'\n'.join(...for x in y)बल्कि इससे भी ज्यादा लंबा है for x in y:print...
बूथ

@boothby धन्यवाद, आपके सुझाव के साथ अद्यतन :)
जोआचिम इसाकसन


1

गणितज्ञ ४०

विवाद में नहीं (उपयोग किए गए कम मामले पत्र):

Print["6*9 = ",54~BaseForm~#]&/@2~Range~36

आधार उत्पादन


1

जूलिया, 61

b = 2: 36 के लिए; @printf ("6 * 9 =% s \ n", अपरकेस (बेस (बी, 54))); अंत

बहुत दर्द रहित, मैक्रो @printf बनाम प्रिंटफ का उपयोग करने के लिए याद करने के अलावा।

आयात आधार; जरूरत नहीं ...


for b=2:36;println("6 * 9 = $(uppercase(base(b,54)))");endयह भी अच्छा है ...
cormullion

1

पर्ल

मठ :: BaseCnv मॉड्यूल का उपयोग करना था

useबयान के बिना 35 वर्ण :

map{say"6 * 9 = ",cnv(54,$_)}2..36

useकथन के साथ 54 वर्ण :

use Math::BaseCnv;
map{say"6 * 9 = ",cnv(54,$_)}2..36

सुनिश्चित नहीं है कि आप इसे कैसे स्कोर करेंगे, इसलिए दोनों शामिल हैं।

नक्शा ब्लॉक लिस्ट संरचना का उपयोग किया गया था। सूची 2 से 36 तक है, यह अनुरोध किया गया था। मांस cnv($NUMBER, $BASE)फ़ंक्शन में है, और नक्शा एक निहित लूप है।


1
useकथन को गिनें । पहले वाला मेरे पेर में काम नहीं करता है।
बूथबाई

1

जे - 78 70

'6 * 9 = ',"1>;/(a.#~48 10 7 26 165#0 1 0 1 0){~<&.>(2+i.35)#.inv&.>54

हास्केल - 137

let s=['0'..'9']++['A'..'Z'];t _(0,r)=[s!!r];t b(q,r)=(t b$b q)++[s!!r]in mapM_(putStrLn.("6 * 9 = "++).(\b->t b$b 54).flip divMod)[2..36]


1

सी ( 166 151)

कुछ अनावश्यक पात्रों से छुटकारा पाया और कुछ घोषणाओं को बदल दिया। मान लिया कि आप कोई तर्क के साथ कार्यक्रम चला रहे हैं।

p[7],i,l,v,r;main(b){for(r=2;r<37;r++){b++;printf("6 * 9 = ");v=54;while(v>0)l=v%b,p[i++]=l>9?l+55:l+48,v/=b;while(i^0)printf("%c",p[--i]);puts("");}}

1

क्लोजर, 75

(for[i(range 2 37)](println"6 * 9 ="(.toUpperCase(Integer/toString 54 i))))


1

पायथन 3, 83 बाइट्स

import numpy;print('\n'.join('6 * 9 = '+numpy.base_repr(54,i)for i in range(2,37)))

1
आप बाइट को बचाने के '\n'.join('6 * 9 = '+numpy.base_repr(54,i)for i in range(2,37))बजाय उपयोग कर सकते हैं *['6 * 9 = '+numpy.base_repr(54,i)for i in range(2,37)],sep='\n'
पोस्ट रॉक गार्फ हंटर

आपको शायद "
पम्प्न

1

डार्ट, 75 बाइट्स

for(int x=2;x<37;x++)print("6 * 9 = ${54.toRadixString(x).toUpperCase()}");

डार्ट थोड़ी सी क्रिया है जब यह स्टडलिब की बात आती है, लेकिन हे ... कम से कम आप इसे पढ़ सकते हैं: पी



0

सामान्य लिस्प: 56 वर्ण

(do((b 2(1+ b)))((> b 36))(format t"6 * 9 = ~vr~%"b 54))

0

ऋषि, 48:

शर्म की बात है लोअरकेस में प्रिंट करता है ... मैं केवल हावर्ड पर एक हो जाऊंगा। या, मुझे लगता है, गलत और डेविड कैर्रर के साथ बंधा हुआ है।

for i in[2..36]:print'6 * 9 =',54.str(i).upper()



0

SpecBAS - 48 बाइट्स

1 FOR i=2 TO 36: ?"6 * 9 = ";BASE$(54,i): NEXT i

SpecBAS वास्तव में एक बदलाव के लिए काफी प्रतिस्पर्धी है :-)


0

8 वें , 65 62 बाइट्स

यह एक संपूर्ण कार्यक्रम है। निष्पादन के बाद बाहर निकलें

( "6 * 9 = " . #54 swap base drop >s s:uc . cr ) 2 36 loop bye 

व्याख्या

( 
   "6 * 9 = " .   \ Print the first part of the formula
    #54 swap base \ Enter into the base provided by loop index and                
                  \ convert 54 (which is always expressed in base 10)
    drop          \ Get rid of previous base
    >s s:uc       \ Convert number into an upper case string
    . cr          \ Print result and newline
) 2 36 loop       \ Provide base from 2 to 36
bye               \ Quit
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.