एक फ़ंक्शन लिखें जो आपको बताता है कि इसकी लाइनों में से कौन सा TWO हटा दिया गया है


19

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

निर्देश थे:

एक फ़ंक्शन लिखें जिसमें पांच लाइनें हों।

यदि आप फ़ंक्शन को चला रहे हैं, तो इसे 0 पर लौटना चाहिए।

यदि आप पांच लाइनों में से किसी एक को हटाते हैं और फ़ंक्शन को चलाते हैं, तो आपको यह बताना चाहिए कि कौन सी रेखाओं को हटा दिया गया है (उदाहरण के लिए, यदि आप अंतिम पंक्ति को हटाते हैं तो इसे 5 वापस करना चाहिए)।

अब, चलो एक किशोर थोड़ा और अधिक कठिन कोशिश करते हैं।

ऊपर दिए गए समान नियमों का पालन करें, लेकिन इस बार, फ़ंक्शन को एक सरणी वापस लौटना चाहिए जिसमें आपको बताया गया है कि कौन से TWO लाइनें हटा दी गई हैं।

उदाहरण के लिए, यदि मैं 1 और 5 लाइनों को हटाता हूं, तो वापसी मूल्य [1,5] होना चाहिए, और यदि मैं 3 और 4 लाइनों को हटाता हूं, तो वापसी मूल्य [3,4] होना चाहिए।

फिर से, यदि कोई रेखाएं नहीं हटाई जाती हैं, तो फ़ंक्शन को 0. बोनस अंक वापस करना चाहिए यदि आप एक-लाइन-हटाए गए मामले को भी संभाल सकते हैं, लेकिन यह कड़ाई से आवश्यक नहीं है कि आप ऐसा करते हैं।

क्या आप सहायक कार्यों का उपयोग कर सकते हैं? हां, लेकिन केवल अगर आपको करना है एकल स्व-निहित फ़ंक्शन जो इसे बंद करता है, वह आदर्श है।

अंतिम चुनौती के रूप में, उच्चतम उत्थान समाधान जीतता है। मैं विजेता को एक हफ्ते में चुनूंगा, या जल्द ही अगर 24 घंटे में कोई नया सबमिशन नहीं मिला।


2
एक खाली सूची ठीक लौटा रहा है, तो कोई लाइनों निकाल दिए जाते हैं, या यह है है संख्या 0 होने के लिए?
इल्मारी करोनें

1
फ़ंक्शन में वापसी लाइन उन लाइनों में से एक है जिन्हें हटाया जा सकता है?
le_vine

11
क्या हम उम्मीद कर सकते हैं कि कल संस्करण "तीन-पंक्तियों" को पोस्ट किया जाएगा?
हावर्ड

फ़ंक्शन को सचमुच सरणी वापस करना चाहिए या क्या यह वैश्विक दायरे में एक चर को संपादित कर सकता है। मुझे नहीं लगता कि यह 5 लाइनों में संभव है, जबकि वास्तव में आगे देखने के लिए सक्षम नहीं होने के कारण सभी लाइनें वापस आनी चाहिए क्योंकि वापसी को हटा दिया गया है। जब तक कुछ भाषा के प्रश्न नहीं होते जैसे कि स्वचालित रिटर्न फ़ंक्शंस के बारे में मुझे जानकारी नहीं है।
जॉर्ज रीथ

मुझे लगता है कि आपको अपने पिछले प्रश्न का लिंक भी उपलब्ध कराना चाहिए, जैसे कि किसी ऐसे व्यक्ति के लिए जो दिलचस्पी रखता है और उसे नहीं देखा है।
DroidDev

जवाबों:


17

पर्ल

sub foo {
    @a = (2..5);
    @a = grep $_ != 2, (@a ? @a : (1..5));
    @a = grep $_ != 3, (@a ? @a : (1..5));
    @a = grep $_ != 4, (@a ? @a : (1..5));
    @a = grep $_ != 5, (@a ? @a : (1..5));
}

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

ध्यान दें कि (सूची के संदर्भ में) यह कोड संख्या के बजाय एक खाली सूची देता है यदि कोई रेखाएं नहीं हटाई गई हैं। इसे ठीक किया जा सकता है (उदाहरण के @a ? @a : 0;लिए अंतिम पंक्ति में " " जोड़कर ), लेकिन कोड को बदसूरत बना देगा। किसी भी स्थिति में, स्केलर के संदर्भ में यह हटाए गए लाइनों की संख्या को वापस करता है , जो 0 होगा यदि कोई लाइनें नहीं निकाली गई हैं। ;-)


9

माणिक

पर्ल संस्करण के समान, लेकिन रूबी में। मैं 0 वापस करता हूं यदि अनुरोध के अनुसार कोई रेखाएं नहीं हटाई जाती हैं, लेकिन मैं मानता हूं कि यह कोड को बदसूरत बना देता है और वापसी मूल्य के रूप में काफी मायने नहीं रखता है।

def which_lines_removed(arr = [*1..5])
  arr -= [1]
  arr -= [2] 
  arr -= [3] 
  arr -= [4] 
 (arr -= [5]).empty? ? 0 : arr
end

यदि कोई रेखा नहीं हटाए जाने पर रिटर्न मान के रूप में एक खाली सरणी स्वीकार्य है, तो कोड इस तरह दिखता है:

def which_lines_removed(arr = [*1..5])
  arr -= [1]
  arr -= [2] 
  arr -= [3] 
  arr -= [4] 
  arr -= [5]
end

दोनों विधियाँ 0 और 5 के बीच हटाई गई किसी भी संख्या के लिए काम करती हैं।


4

जावास्क्रिप्ट, 152 वर्ण गोल्फ

function t() {
    var fa = (f + '').match(/\d/g)
    var ra = []
    for (var i = 0; i < 5; i++) {
        if (fa.indexOf(i + '') < 0) ra.push(i + 1)
    }
    return ra
}

function f() {
    0; return t()
    1; return t()
    2; return t()
    3; return t()
    4; return t()
}

golfed:

function t(){for(a=[],i=0;++i<5;)if((f+'').indexOf(i)<0)a.push(i+1);return a}function f(){
return t(0)
return t(1)
return t(2)
return t(3)
return t(4)
}

स्व निहित (लेकिन बदसूरत):

function f() {
    0; var ra = []; for (var i = +![]; i < 5; i++) if ((f + '').match(/\d/g).indexOf(i + '') < +![]) ra.push(i); return ra
    1; var ra = []; for (var i = +![]; i < 5; i++) if ((f + '').match(/\d/g).indexOf(i + '') < +![]) ra.push(i); return ra
    2; var ra = []; for (var i = +![]; i < 5; i++) if ((f + '').match(/\d/g).indexOf(i + '') < +![]) ra.push(i); return ra
    3; var ra = []; for (var i = +![]; i < 5; i++) if ((f + '').match(/\d/g).indexOf(i + '') < +![]) ra.push(i); return ra
    4; var ra = []; for (var i = +![]; i < 5; i++) if ((f + '').match(/\d/g).indexOf(i + '') < +![]) ra.push(i); return ra
}

मूल रूप से toStringप्रत्येक पंक्ति की संख्या के आधार पर कार्य करता है। ध्यान दें कि आपको वास्तव में इस वजह से लाइन को हटाना होगा (यह टिप्पणी करना काम नहीं करेगा)।

यह वास्तव में हटाए गए किसी भी संख्या के लिए काम करता है ! यदि कोई भी हटाया नहीं गया है, तो यह हटाए गए लाइनों की एक सरणी, या खाली सरणी लौटाएगा। (मैं आसानी से बदल सकता हूं कि शून्य पर लौटने के return raसाथ ( साथ बदलकर return ra || 0), लेकिन मुझे खाली सरणी समाधान पसंद है क्योंकि यह वास्तविक दुनिया में अधिक उपयोगी होगा।)

उदाहरण के लिए, पहली पंक्ति रिटर्न [1]को हटाना, और सब कुछ हटा देना लेकिन पहली पंक्ति वापस आ जाती है [2,3,4,5]। (बेशक, यह काम नहीं करता है अगर आप सभी लाइनों को हटा दें ;-))


3

माणिक

def f
    a = [ 2, 3, 4, 5 ]
    defined?(a) ? a = a.select { |num|    num != 2 } : a = [ 1, 3, 4, 5 ]
    defined?(a) ? a = a.select { |num|    num != 3 } : a = [ 1, 2, 4, 5 ]
    a = a.select { |num|    num != 4 }
    (a = a.select { |num|    num != 5 }) == [] ? a = 0 : a
end

यह कैसे काम करता है: मेरा विचार था: एक सरणी बनाएं, और प्रत्येक पंक्ति पर, एक विशिष्ट मान निकालें। तो, पहली पंक्ति पर, मेरे पास वास्तव में सरणी है [ 1, 2, 3, 4, 5], जिसमें 1हटाए गए तत्व हैं । दूसरी पंक्ति में, यदि aपहले से ही परिभाषित है, तो तत्व को हटा दें 2। अन्यथा, 2हटाए गए तत्व के साथ एक नया सरणी बनाएं । पंक्ति 3 के लिए भी ऐसा ही करें। पंक्ति 4 में, आप यह सुनिश्चित कर सकते हैं कि पहले से ही एक सरणी बनाई गई है, इसलिए बस तत्व को हटा दें 4। पंक्ति 5 पर, पहले तत्व को हटा दें 5, और यदि aफिर एक खाली सरणी है, तो वापस लौटें 0। नहीं तो लौटो a


3

अजगर

f=lambda:{1,2,3,4,5}-{
1,
2,
3,
4,
5,
} or 0

0 यदि कोई रेखा नहीं निकाली गई है, तो हटाए गए पंक्तियों को लौटाता है। आप 0th और 6th लाइन ;-) को छोड़कर 1 से 5 लाइन निकाल सकते हैं।


2

जावास्क्रिप्ट, स्व-निहित, 0, 1, 2 हटाए गए लाइनों ( 607  315 186 वर्ण) के लिए काम करता है

लाइव डेमो

दूसरी चुनौती की तरह जेएस चर उत्थापन और वैश्विक लीक का दुरुपयोग करना :)

function(r){
r.shift();
r.splice(r.indexOf(2),1)
r.splice(r.indexOf(3),1);a=b=1;if(this.a&&this.b)return r
var a;r.splice(r.indexOf(4),1);b=1;if(this.b)return r
var b;r.pop();return r[0]?r:0
}

पैरामीटर के रूप में सरणी [1,2,3,4,5] के साथ बुलाया जाए।

315 चरस

function(r){
var a;
var b;
var c;a=1;b=2;d=4;e=5;for(i in(z="abde".split("")))if(y=this[z[i]])r.push(y);return r.length?r:0
var d;a=1;b=2;c=3;e=5;for(i in(z="abce".split("")))if(y=this[z[i]])r.push(y);return r.length?r:0
var e;a=1;b=2;c=3;d=4;for(i in(z="abcd".split("")))if(y=this[z[i]])r.push(y);return r.length?r:0
}

पैरामीटर के रूप में एक खाली सरणी के साथ बुलाया जाएगा।



गैर-गोल्फ संस्करण

(हटाए गए 3 और 4 लाइनों के लिए भी काम करता है):

function(r){
var a;b=c=d=e=1;if(this.b)r.push(2);if(this.c)r.push(3);if(this.d)r.push(4);if(this.e)r.push(5);return r.length?r:0;
var b;a=c=d=e=1;if(this.a)r.push(1);if(this.c)r.push(3);if(this.d)r.push(4);if(this.e)r.push(5);return r.length?r:0;
var c;a=b=d=e=1;if(this.a)r.push(1);if(this.b)r.push(2);if(this.d)r.push(4);if(this.e)r.push(5);return r.length?r:0;
var d;a=b=c=e=1;if(this.a)r.push(1);if(this.b)r.push(2);if(this.c)r.push(3);if(this.e)r.push(5);return r.length?r:0;
var e;a=b=c=d=1;if(this.a)r.push(1);if(this.b)r.push(2);if(this.c)r.push(3);if(this.d)r.push(4);return r.length?r:0;
}

पैरामीटर के रूप में एक खाली सरणी के साथ बुलाया जाएगा।


2

जावास्क्रिप्ट:

var f = function(){
    1
    2
    a=[];for(i=0;i++<6;){if((f+'').indexOf(i)<0){a.push(i)}}return a.length?a:0;3
    a=[];for(i=0;i++<6;){if((f+'').indexOf(i)<0){a.push(i)}}return a.length?a:0;4
    a=[];for(i=0;i++<6;){if((f+'').indexOf(i)<0){a.push(i)}}return a.length?a:0;5
}

बेला


2

जावास्क्रिप्ट

(function (i){

i += .1;     // line 1
i += .02;    // line 2
i += .003;   // line 3
i += .0004;  // line 4
i += .00005; // line 5

return (Math.round((.12345-i)*100000)/100000+'').match(/([1-5])/g) || 0 })(0)

जो आपको पसंद है उसे बुलाओ, लेकिन मुझे लगता है कि यह सुंदर है

आपको पता है कि कौन सी रेखाएं हटा दी गईं (1 या अधिक), या 0 यदि कोई रेखाएं नहीं निकाली गई हैं। सभी 5 लाइनों को हटाया जा सकता है।

संपादित करें:

क्योंकि यह मेरे ध्यान में लाया गया था कि मेरे कोड में वास्तव में 6 लाइनें हो सकती हैं, और नियमों के उल्लंघन में है, मैंने इसे निम्नलिखित के लिए समायोजित किया:

(Math.round((.12345 - (new (function(){

    this.i = isFinite(this.i) ? this.i + .1 : .1 ;
    this.i = isFinite(this.i) ? this.i + .02 : .02;
    this.i = isFinite(this.i) ? this.i + .003 : .003; 
    this.i = isFinite(this.i) ? this.i + .0004 : .0004;
    this.i = isFinite(this.i) ? this.i + .00005 : .00005; 

})().i || 0) )*100000)/100000+'').match(/([1-5])/g) || 0

एक ही लागू होता है - यह हटाए गए लाइनों की एक सरणी को वापस ले जाएगा 1- सभी या 0 से लेकर यदि कोई नहीं।


यकीन नहीं है कि अगर इसकी मदद करने जा रही है, लेकिन मैंने कुछ अन्य लोगों को ऐसा करने पर ध्यान दिया, तो .. मेरा 149 अक्षरों वाला स्थान है और 128 बिना।
लॉजिक 8

चूंकि यह कोड-गोल्फ नहीं है, इसलिए आपको व्हाट्सएप को हटाने की आवश्यकता नहीं है।
टाइमटेक

1
"रिटर्न" लाइन फ़ंक्शन के भीतर है, इसलिए फ़ंक्शन में वास्तव में कोड की छह लाइनें हैं, जो चुनौती के नियमों का उल्लंघन करती है।
jawns317

@ jawns317, मैं अनिश्चित हूं कि एक "लाइन" कैसे परिभाषित की जाती है। क्या कोई कृपया स्पष्ट परिभाषा प्रदान कर सकता है?
लॉजिक 8

@ logic8 निकालें function(){और }(और किसी भी सहायक कार्य)। लाइनों की संख्या गिनें।
दरवाज़े

1

आम लिस्प

(defun which-lines-are-removed (&aux (x (list 1 2 3 4 5))) 
  (setq x (remove-if #'(lambda (x) (eql x 1)) x))
  (setq x (remove-if #'(lambda (x) (eql x 2)) x))
  (setq x (remove-if #'(lambda (x) (eql x 3)) x))
  (setq x (remove-if #'(lambda (x) (eql x 4)) x))
  (setq x (remove-if #'(lambda (x) (eql x 5)) x))
)

यह 1-4 लाइनों को हटाने के लिए काम करता है। यदि आप सभी लाइनों को हटा देते हैं तो यह उसी तरह वापस आ जाएगी जैसे कि आप कोई भी नहीं हटाते हैं।

नायब: यह खुद की लाइन पर कोष्ठक को समाप्त करने को खराब शैली माना जाता है, लेकिन चूंकि अन्य भाषाओं में है endऔर }मुझे लगता है कि इसकी अनुमति है।


1

अजगर

def function(a = [1,2,3,4,5]):
    delete(a, len(a)-5)#1
    delete(a, len(a)-4)#2
    delete(a, len(a)-3);print a if len(a)==2 else '',#3
    delete(a, len(a)-2);print a if len(a)==2 else '',#4
    delete(a, len(a)-1);print a if len(a)==2 else '',#5

def delete(a, i):
    del a[i]
    return a

यह सभी लाइनों के लिए काम करता है - लेकिन केवल अगर दो हटाए जाते हैं। यदि केवल एक लाइन हटाई जाती है तो वह हटाए गए लाइन और लाइन को प्रिंट करेगा। 5. यदि बहुत सी लाइनें हटा दी जाती हैं तो यह कुछ भी प्रिंट नहीं करेगा।

यह एक सहायक फ़ंक्शन का उपयोग करता है क्योंकि डेल कीवर्ड का उपयोग लाइन में नहीं किया जा सकता है; (जहाँ तक मुझे पता है)

मूल रूप से, प्रत्येक पंक्ति खुद को उस सरणी में हटा देती है जिसे कंस्ट्रक्टर में घोषित किया गया है, फिर यदि पर्याप्त लाइनों को हटा दिया गया है तो सरणी मुद्रित होती है।

यह फ़ंक्शन दो तरीकों से कल्पना को याद करता है:

  1. अगर यह चलाया जाता है तो यह 0 नहीं प्रिंट करता है (यह मानता है कि अंतिम दो पंक्तियों को टिप्पणी दी गई है और इसलिए 4, 5 प्रिंट करता है
  2. यह मानता है कि printऔर returnविनिमेय हैं

print ''हालांकि एक अतिरिक्त न्यूलाइन चरित्र उत्पन्न नहीं करेगा ?
सिमोन

1

डेजा वू

किसी भी संख्या को हटाने के लिए काम करता है (जब तक आप कम से कम एक लाइन छोड़ते हैं)

local line n:
    try:
        dup
    catch stack-empty:
        dup set{ 1 2 3 4 5 }
    delete-from swap n

func which-gone:
    line 1
    line 2
    line 3
    line 4
    line 5

0

आर

मेरे पास R में एक और संस्करण है जो मुझे लगता है कि बेहतर है (लेकिन एक सहायक फ़ंक्शन का उपयोग करता है):

trick <- function(sym, value) {
  assign(sym, value, envir=parent.frame())
  values <- unlist(as.list(parent.frame()))
  if(length(values)==5) 0 else which(!1:5 %in% values)
}

reportRemovedLines <- function(){
  trick("a", 1)
  trick("b", 2)
  trick("c", 3)
  trick("d", 4)
  trick("e", 5)
}

या कोई इसे डिफ़ॉल्ट तर्क के रूप में परिभाषित करके सहायक फ़ंक्शन का उपयोग करने से बच सकता है (पहचान में काम करता है लेकिन कम पठनीय है - हालांकि, यह "अलग से परिभाषित" सहायक फ़ंक्शन का उपयोग नहीं करता है):

funnyVersion <- function(trick = function(sym, value) {
  assign(sym, value, envir=parent.frame())
  values <- unlist(as.list(parent.frame()))
  if(length(values)==5) 0 else which(!1:5 %in% values)
}){
  trick("a", 1)
  trick("b", 2)
  trick("c", 3)
  trick("d", 4)
  trick("e", 5)
}

दोनों reportRemovedLines()और funnyVersion()हटाए गए किसी भी संख्या के साथ काम करते हैं - सिवाय इसके कि यदि आप सभी लाइनों को हटा दें (उस स्थिति में, वे वापस आ जाएंगे NULL)। वे वास्तव में लाइन नंबरों को वापस करते हैं, न केवल उन्हें प्रिंट करते हैं - जैसे कि आर में, एक फ़ंक्शन के भीतर मूल्यांकन किए गए अंतिम अभिव्यक्ति का मूल्य स्वचालित रूप से वापस आ जाएगा।

यह कैसे काम करता है? चाल उस trickफ़ंक्शन में है जो सभी वस्तुओं को अपने "मूल वातावरण" (यानी, फ़ंक्शन का वातावरण जो इसे कॉल करता है) से लेता है, अपने मूल्यों को एक वेक्टर में एक साथ रखता है, और रिटर्न करता है, जो 1 से 5 तक के मूल्यों का प्रतिनिधित्व नहीं करता है।


0

जावास्क्रिप्ट (136/166 वर्ण)

शुरुआत में घोषित कुछ मूल्यों के साथ एक छोटा संस्करण:

function(){b=[1,2,3,4,5],i=0
    b.splice(0,1);i++
    b.splice(1-i,1);i++
    b.splice(2-i,1);i++
    b.splice(3-i,1);i++
    b.splice(4-i,1);i++
return b}

एक स्व-निहित संस्करण (आपको कुछ भी पास करने की आवश्यकता नहीं है - बी तर्क है इसलिए मैं जांच सकता हूं कि क्या बी परिभाषित किया गया है ||)

function(b){
    b=[2,3,4,5],i=1
    b=b||[1,2,3,4,5],i=i||0,b.splice(1-i,1);i++
    b=b||[1,2,3,4,5],i=i||0,b.splice(2-i,1);i++
    b.splice(3-i,1);i++
    b.splice(4-i,1);i++
return b}

हां, दोनों के returnबयान हैं, लेकिन यह तभी उचित है जब मैं निहित प्रतिफल वाली भाषाओं के साथ प्रतिस्पर्धा कर रहा हूं।


सच है, यह उन भाषाओं में आसान है, लेकिन जेएस में यह असंभव नहीं है। मैं इन दोनों में से किसी को भी चुनौती की कमी के कारण नहीं मानता हूं, क्योंकि आपके 136-चार संस्करण में फ़ंक्शन के भीतर कोड की सात लाइनें हैं, और आपके 166-चार्ट संस्करण में छह हैं। तथ्य यह है कि आपके पास एक ही लाइन पर कोड है जैसे उद्घाटन या समापन कोष्ठक का मतलब यह नहीं है कि कोड फ़ंक्शन का हिस्सा नहीं है।
jawns317

उन उत्तरों के बारे में जो सहायकों का उपयोग करते हैं?
बजे बॉबी मारिनॉफ

सहायक कार्यों की स्पष्ट रूप से अनुमति है। लेकिन जिस फ़ंक्शन से लाइनें निकाली जाती हैं, उसमें कोड की पांच लाइनें होनी चाहिए।
jawns317

0

आर

एक साधारण संस्करण (मूर्ख नहीं जैसा कि आप एक त्रुटि प्राप्त करेंगे यदि आप पंक्ति 5 को हटाते हैं):

doit <- function() setdiff(1:5, c(
       1,
       2,
       3,
       4,
       5
    ))

और एक मूर्ख संस्करण:

doit<-function() setdiff(1:5, scan(text="
1
2
3
4
5
"))

यह किसी भी संख्या में हटाए गए लाइनों के साथ काम करता है (अगर आप सभी लाइनों को हटा दें), और आसानी से 5 से अधिक लाइनों तक बढ़ाया जा सकता है। इसे "जैसा है" चलाना integer(0)वैसा ही लौटना है जो वैचारिक रूप से सिर्फ वापस लौटने के समान है 0। एक वास्तविक 0 लौटाने से यह बदसूरत और लंबा हो जाएगा लेकिन यह जटिल नहीं होगा।

अंत में, जादू का उपयोग कर एक संस्करण:

सहायक समारोह:

dysfunction <- function(E){
    FUN <- function(){}
    e <- substitute(E)
    e[[1]] <- as.name("list")
    nb <- quote(setdiff(as.list(1:5), x))
    nb[[3]] <- e
    body(FUN) <- nb
    FUN
    }

वास्तविक कार्य:

df <- dysfunction({
1
2
3
4
5
})

0

सी ++

void function(int & i)
{
        i=i|1;
        i=i|2;
        i=(i|4);
        i=(i|8);
        i=(i|16);
} 


int[] func2(int i)
{
    int arr[]={0,0};
    int k=0,l=1;
    for(int j=1;j<=16;j*=2,l++)
    {
        if((i&j)==0)
        {
             arr[k++]=l;
        }
    }
    return arr;
}

उपयोग कैसे करें: i के साथ फ़ंक्शन को कॉल करें और यह समझने के लिए func2 का उपयोग करें कि फ़ंक्शन क्या बता रहा है।

यदि आप लाइन को गिरफ्तार करते हैं तो int arr [] = {0,0} को int arr [] = {0,0,0,0,0} में बदल देते हैं, यह सभी पाँच लाइनों के लिए भी काम करेगा, यह एक लाइन हटाने टेस्ट केस को भी हैंडलाइन करता है। स्वचालित रूप से, मैं क्या कर रहा हूँ बस एक चर के बिट्स का उपयोग प्रत्येक पंक्ति के लिए एक ध्वज के रूप में कर रहा हूं ...।


नहीं करता functionछह लाइनों, नहीं पाँच है?
सेल स्केग्स

वापसी उस का हिस्सा नहीं है, यू अन्य उत्तर भी देख सकते हैं .... यह भाषा निर्भरता है
जीशान मुगल

अन्य प्रविष्टियों में से एक पर चुनौती के लेखक की इस टिप्पणी को देखें : "सच है, यह उन भाषाओं में आसान है, लेकिन जेएस में यह असंभव है। मैं इन दोनों में से किसी को चुनौती की बाधाओं को पूरा करने के लिए नहीं मानता। आपके 136-चार संस्करण में फ़ंक्शन के भीतर कोड की सात लाइनें हैं, और आपके 166-चार्ट संस्करण में छह हैं। तथ्य यह है कि आपके पास एक ही लाइन पर कोड है जैसे कि उद्घाटन या समापन कोष्ठक का मतलब यह नहीं है कि कोड का हिस्सा नहीं है समारोह। - jawns317 "
सेल स्केग्स

अब इसकी जाँच करें और मुझे उर रिस्पॉन्स बताएं
जीशान मुगल

C ऐसा काम नहीं करता है। यह एक संकलक त्रुटि देता है। संभवतः आप C ++ के बारे में सोच रहे हैं।
Cel Skeggs
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.