पायथन लिपि में टिप्पणी जोड़ें और इसे एक द्विभाषी पायथन / C ++ "कार्यक्रम" बनाएं


12

निम्नलिखित पायथन 3 स्क्रिप्ट को देखते हुए:

def greet():
    print("Hello, world!")

greet()

प्रारंभ में लगा यह पाठ फ़ाइल में कुछ पंक्तियाँ तो यह रूप में अच्छी तरह के रूप में संकलित और एक सी ++ एक ही आउटपुट उत्पादन कार्यक्रम के रूप में चलाने के लिए दोनों एक अजगर कार्यक्रम के रूप में क्रियान्वित किया जा सकता है कि Hello, world! (अंत में न्यूलाइन सहित):

$ python3 bilingual.py.cpp
Hello, world!
$ g++ bilingual.py.cpp && ./a.out
Hello, world!

इस समाधान को पूरे कार्यक्रम के गैर-व्हाट्सएप चरित्रों की गिनती द्वारा बनाया जाएगा, जिसमें पायथन लिपि भी शामिल है:

sed 's/\s//g' bilingual.py.cpp|wc -c

5
शीर्षक में आप कहते हैं कि टिप्पणियों को जोड़ें, हालांकि शरीर में आप कहते हैं कि आपको केवल कुछ पंक्तियों को प्रस्तुत करना है। जो यह है?
तदर्थ गार्फ हंटर

@HeatWizard शीर्षक एक संकेत है। यदि आप मनमानी लाइनों (गैर-टिप्पणियों) को रोककर इसे हल कर सकते हैं तो मुझे आश्चर्य होगा।
लियोन

यह एक बहुत अच्छा सवाल है। मेरी एकमात्र टिप्पणी सिर्फ भविष्य में स्कोरिंग के लिए बाइट की गिनती के लिए रहना होगा। विभिन्न प्रणालियों पर उन लोगों के लिए जाँच करना सरल है।
लिनस

@ लीनस मैं मानता हूं कि गैर मानक तरीके से स्कोर का चयन करना एक गलती थी। भविष्य में इसे नहीं दोहराएंगे।
लियोन

2
बस एक ध्यान दें: प्रदान की गई सीड कमांड
नए सिरे को

जवाबों:


10

स्कोर 116

प्रारंभ में लगा:

#include<cstdio>
#define print(A)main(){puts(A);}
#define greet()
#define \

प्रीप्रोसेसर बैकस्लैश एक अप्रयुक्त मैक्रो में \गंदा :लाइन खींचता है । इसे यहाँ आज़माएँ ।

C ++ 4 में अंतर्निहित int के बारे में edc65 के उत्तर के लिए धन्यवाद । सुझाव देने के लिए PieCot के उत्तर के लिए
धन्यवाद<cstdio> खत्म हो गया <stdio.h>। सुझाव
के लिए लियोन के लिए धन्यवाद मैं Xमूल में हटा देता हूं #define X\


मेरे पास सेड नहीं है, अगर कोई मेरे स्कोर को सत्यापित कर सकता है तो मैं इसकी सराहना करूंगा।
लाइनस


2
@Linus आपको '#define X \' में X की आवश्यकता क्यों है?
लियोन

@ अच्छा पकड़!
लिनस

2
C ++ 4 क्या है, यह सोचकर किसी के लिए भी: इस मामले में "सी ++ जो कि 4.3.2 स्वीकार करता है" के लिए कम है
nwp

11

स्कोर 119

(बाइट काउंट के लिए Thx @Linus)

(1 बाइट बचाया thx @Conor O'Brien) (1 बाइट बचाया thx @PieCot)

हाथ से फिर से बाइट्स गिनते हुए, मैंने 113 पाया। शायद इस समय यह सही है। नहीं यह नहीं

#include <cstdio>
#define def main(){0?
#define print(x) puts(x);}
#define greet()

नोट: stdio और पुट अभी भी जीवित हैं और C ++ में किक कर रहे हैं। अनुपस्थित int प्रकार C ++ 4 में मान्य है। टेस्ट


स्कोर की गणना पूरे कार्यक्रम (अजगर कोड सहित) के खिलाफ की जानी चाहिए।
लियोन

चूँकि टर्नरी कंडीशनल में खाली दूसरा भाग हो सकता है, आप 0लाइन 2. टेस्ट
कॉनर ओ'ब्रायन

ठीक है, मैं नहीं देखता कि क्यों, अजगर कोड हर उत्तर के लिए समान होगा, लेकिन आप मालिक हैं। मैंने हाथ से गिनती की, sed नहीं, मुझे आशा है कि यह सही है
edc65

@ ConorO'Brien यह वास्तव में कर सकते हैं! मुझे नहीं पता था! Thx
edc65

आप <stdio.h> के बजाय <cstdio> का उपयोग कर सकते हैं
PieCot

7

स्कोर 131 130 134

प्रस्तुत की जाने वाली रेखाएँ हैं:

#import <iostream>
#define def int main(){0?
#define greet()
#define print(A) 0;std::cout<<A"\n";}

और परिणामी कोड:

#import <iostream>
#define def int main(){0?
#define greet()
#define print(A) 0;std::cout<<A"\n";}
def greet():
    print("Hello, world!")

greet()

परिक्षण

C:\Users\Conor O'Brien\Documents\Programming\golf
λ type bilingual.py.cpp

#import <iostream>
#define def int main(){0?
#define greet()
#define print(A) 0;std::cout<<A"\n";}
def greet():
    print("Hello, world!")

greet()
C:\Users\Conor O'Brien\Documents\Programming\golf
λ sed 's/\s//g' bilingual.py.cpp|wc -c
134

C:\Users\Conor O'Brien\Documents\Programming\golf
λ g++ bilingual.py.cpp 2>nul && a
Hello, world!

C:\Users\Conor O'Brien\Documents\Programming\golf
λ python bilingual.py.cpp
Hello, world!

C:\Users\Conor O'Brien\Documents\Programming\golf
λ 

सी ++ संस्करण का उत्पादन अजगर संस्करण के समान नहीं है - यह एक नई रेखा को याद करता है। उस स्पष्टीकरण को प्रश्न में जोड़ा गया।
लियोन

@ लॉन अब यह तय हो गया है।
कॉनर ओ'ब्रायन 18

#importमान्य नहीं है C ++
लियोन

1
चालाक से निपटने:
edc65

2
@Leon हमारी साइट के नियम कहते हैं कि यदि यह एक वातावरण में काम करता है, तो यह एक मान्य सबमिशन है।
कॉनर ओ'ब्रायन

5

स्कोर 110 104

लिनस के उत्तर पर सुधार :

#include <cstdio>
#define print main(){puts
#define greet() ;}//\
def greet():
    print("Hello, world!")

greet()

C ++ के रूप में टेस्ट करें

पायथन के रूप में टेस्ट करें


मुझे 109 मिले हैं ...
लिनस

1
@ लिनुस मेरे पास आखिरी लाइन में एक नई लाइन है
लियोन

5

स्कोर 136

केवल रिकॉर्ड के लिए:

#include <cstdio>
#define def class a{public
#define greet()
#define print(a) };int main(){puts(a);}

बृहदान्त्र को संभालने का एक और (कम कुशल) तरीका।


1
लेकिन cstdioध्यान दिया जाना चाहिए।
edc65

मुझे लगता है कि इसके लिए स्कोर 136 तक समाप्त हो रहा है। आप रिक्त स्थान की गणना नहीं करते हैं।
लिनस

@Linus: धन्यवाद! मेरे विचार से आप सही है। यदि मैं इस कमांड का उपयोग करता हूं: tr -d '[:space:] ' < bilingual.py.cpp | wc -c मुझे 128 मिलते हैं, जबकि यह एक: tr -d '[:blank:] ' < bilingual.py.cpp | wc -c 136 प्रदान करता है
21
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.