Bạn có thể làm được bao nhiêu chiếc bánh ba quả?


32

Một chiếc bánh ba quả được làm từ ba loại trái cây khác nhau . Những chiếc bánh ba quả nhất bạn có thể làm từ số lượng 5 quả bạn có là gì?

Ví dụ với

1 apple
1 banana
4 mangoes 
2 nectarines
0 peaches

bạn có thể làm 2 chiếc bánh:

apple, mango, nectarine
banana, mango, nectarine

Đầu vào: Năm số nguyên không âm, hoặc một danh sách của chúng.

Đầu ra: Số lượng bánh ba quả tối đa bạn có thể làm từ số lượng trái cây đó. Ít byte nhất sẽ thắng.

Các trường hợp thử nghiệm:

1 1 4 2 0
2
2 2 2 2 2
3
0 6 0 6 0
0
12 5 3 2 1
5
1 14 14 3 2
6
0 0 1 0 50
0

Bảng xếp hạng:


Tôi tin rằng ví dụ của bạn thiếu hai tùy chọn bổ sung: Apple, Banana, Mango và Apple, Banana, Nectarine. Do đó, 1 1 4 2 0trường hợp thử nghiệm sẽ tạo ra đầu ra: 4.
cobaltduck

@cobaltduck Nhưng nếu bạn sử dụng Apple và Banana trong chiếc bánh đầu tiên của bạn (Apple / Banana / Mango), bạn không có Apple hoặc Banana để sử dụng trong chiếc bánh thứ hai của mình (Apple / Banana / Nectarine).
admBorkBork

2
@Timmy D: À, hiểu rồi. Không rõ ràng rằng những chiếc bánh được làm cùng một lúc.
cobaltduck

@cobaltduck Tôi tin rằng chúng không cần phải được thực hiện đồng thời, nhưng bạn không thể gian lận bằng cách sử dụng lại các loại trái cây bạn đã sử dụng cho quả đầu tiên.
Ông Lister

@Ông. Người nghe: Ngữ nghĩa. Nó là đủ để có một quy tắc mơ hồ (với ít nhất một người đọc) và đã được làm rõ.
cobaltduck

Câu trả lời:


34

Pyth, 19 18 14 byte

-1 byte bởi @FryAmTheEggman

Chương trình 14 byte của @isaacg

Tôi cho rằng số lượng bánh có thể được hình thành từ danh sách tăng dần [x1,x2,x3,x4,x5]là:

floor(min((x1+x2+x3+x4+x5)/3,(x1+x2+x3+x4)/2,x1+x2+x3))

Hoặc trong mã:

JSQhS/Ls~PJ_S3

[Xem lịch sử sửa đổi cho các chương trình TI-BASIC và APL]

Bằng chứng chính xác

Để cho

s3 = x1+x2+x3
s4 = x1+x2+x3+x4
s5 = x1+x2+x3+x4+x5

Chúng tôi muốn chỉ ra rằng P(X)=floor(min(s5/3,s4/2,s3))luôn có số lượng bánh lớn nhất cho danh sách x1≤x2≤x3≤x4≤x5số lượng trái cây 1 ~ 5.

Đầu tiên, chúng tôi cho thấy rằng cả ba số đều là giới hạn trên.

  • Vì có s5tổng số trái cây, và mỗi chiếc bánh có ba quả, ⌊s5/3⌋là một giới hạn trên.

  • Vì có những s4quả không phải là quả 5, và ít nhất hai quả không phải là 5 quả được yêu cầu trong mỗi chiếc bánh, ⌊s4/2⌋là một giới hạn trên.

  • Vì có những s3quả không phải là quả 4 hay quả 5, và ít nhất một quả như vậy được yêu cầu trong mỗi chiếc bánh, s3là một giới hạn trên.

Thứ hai, chúng tôi chỉ ra rằng phương pháp lấy trái cây từ ba cọc lớn nhất luôn thỏa mãn giới hạn. Chúng tôi làm điều này bằng cảm ứng.

Trường hợp cơ sở: 0 bánh rõ ràng có thể được hình thành từ bất kỳ danh sách hợp lệ với P(X)>=0.

Bước quy nạp: Với bất kỳ danh sách Xnơi P(X) > 0, chúng ta có thể nướng một chiếc bánh, để lại đằng sau một danh sách X'với P(X') >= P(X)-1. Chúng tôi làm điều này bằng cách lấy một quả từ ba cọc lớn nhất 3,4,5, sau đó nghỉ dưỡng nếu cần. Chịu đựng tôi; Có một số casework.

  • Nếu x2<x3, sau đó chúng ta không cần phải sắp xếp danh sách sau khi loại bỏ trái cây. Chúng tôi đã có một hợp lệ X'. Chúng tôi biết rằng P(X') = P(X)-1s5'3 ít hơn (vì ba quả loại 1 ~ 5 đã bị loại bỏ), s4'là 2 ít hơn và s3'1 ít hơn. Vì vậy, P(X')chính xác là một ít hơn P (X).
  • Nếu x3<x4, thì chúng ta cũng làm tương tự.
  • Bây giờ chúng ta lấy trường hợp x2=x3=x4. Chúng ta sẽ cần sắp xếp lại danh sách lần này.

    • Nếu x5>x4, sau đó chúng tôi sắp xếp lại danh sách bằng cách chuyển các cọc 4 và 2. s5's4'vẫn giảm tương ứng 3 và 2, nhưng s3'=s3-2. Đây không phải là một vấn đề, bởi vì x2=x3=x4, nếu 2*x4<=s3- thì 2*x4+s3 <= 2*s3-> (x4 + s4)/2 <= s3. Chúng tôi có hai nhóm con:
    • Bình đẳng, nghĩa là (x4,x3,x2,x1)=(1,1,1,0), trong trường hợp P(X)= 1và chúng ta rõ ràng có thể tạo ra một chiếc bánh từ cọc 5,4,3, hoặc:

    • (s4+1)/2 <= s3, trong trường hợp giảm s4thêm một khoản 1không có nghĩa là giảm thêm P (X).

  • Bây giờ chúng ta còn lại với trường hợp x1<x2=x3=x4=x5. Bây giờ s3cũng sẽ giảm đi 1, vì vậy chúng ta cần (s5/3+1)phải có <=s4/2; đó là 8x5+2x1+2<=9x5+3x1, hoặc x5+x1>=2. Tất cả các trường hợp nhỏ hơn này có thể được kiểm tra bằng tay.

  • Nếu mọi số đều bằng nhau, rõ ràng là chúng ta có thể đạt được giới hạn ⌊s5/3⌋, luôn luôn nhỏ hơn hai số khác mà chúng ta chỉ cần trải qua các số theo thứ tự.

Cuối cùng chúng ta cũng xong. Hãy bình luận nếu tôi thiếu một cái gì đó, và tôi sẽ đưa ra một khoản tiền thưởng nhỏ để có bằng chứng thanh lịch hơn.


Tôi nghĩ rằng yêu cầu của bạn phù hợp với giải pháp lặp đi lặp lại của @ fryamtheeggman.
Sparr

@Sparr Tôi đang cố gắng chứng minh ràng buộc của mình có thể truy cập bằng phương pháp của fryamtheeggman.
lirtosiast

2
Điều này có thể được chơi bằng 4 byte bằng cách biến nó thành một vòng lặp:JSQhS/Ls~PJ_S3
isaacg

3
Tôi tin rằng tôi đã tìm thấy một bằng chứng cho ncác thành phần và kthành phần trên mỗi chiếc bánh, nhưng nó quá dài cho hộp bình luận này . Vui lòng chỉ ra bất kỳ lỗi nào bạn có thể tìm thấy, để chúng tôi có thể chứng minh điều này.
Mego

7

CJam, 34

q~L{J2be!\f{\.-_W#){j)7}|;}0+:e>}j

Dùng thử trực tuyến

Giải trình:

q~          read and evaluate the input array
L{…}j       calculate with memoized recursion and no initial values
             using the input array as the argument
  J2b       convert 19 to base 2 (J=19), obtaining [1 0 0 1 1]
  e!        get permutations without duplicates
             these are all the combinations of three 1's and two 0's
             which represent the choices of fruit for one pie
  \         swap with the argument array
  f{…}      for each combination and the argument
    \       swap to bring the combination to the top
    .-      subtract from the argument array, item by item
    _       duplicate the resulting array
    W#)     does it contain the value -1? (calculate (index of W=-1) + 1)
    {…}|    if not
      j     recursively solve the problem for this array
      )7    increment the result, then push a dummy value
    ;       pop the last value (array containing -1 or dummy value)
  0+        add a 0 in case the resulting array is empty
             (if we couldn't make any pie from the argument)
  :e>       get the maximum value (best number of pies)

Có ghi nhớ các byte đệ quy chi phí? Không có giới hạn thời gian chạy.
xnor

2
@xnor Tôi nghĩ rằng nó thực sự tiết kiệm 1 byte ở đây :)
aditsu

7

Haskell, 62 byte

f x=maximum$0:[1+f y|y<-mapM(\a->a:[a-1|a>0])x,sum y==sum x-3]

Điều này xác định một chức năng f có trong danh sách trái câyx và trả về số lượng bánh tối đa.

Giải trình

Chúng tôi tính toán số lượng bánh đệ quy. Phần mapM(\a->a:[a-1|a>0])xđánh giá vào danh sách tất cả các danh sách thu được xbằng cách giảm bất kỳ mục tích cực nào. Nếu x = [0,1,2], nó dẫn đến

[[0,1,2],[0,1,1],[0,0,2],[0,0,1]]

Phần giữa bên ngoài [] là phần hiểu danh sách: chúng tôi lặp qua tất cả ytrong danh sách trên và lọc ra những người có tổng không bằng nhau sum(x)-3, vì vậy chúng tôi nhận được tất cả các danh sách trong đó 3 loại trái cây khác nhau đã được tạo thành một chiếc bánh. Sau đó, chúng tôi đánh giá đệ quy ftrên các danh sách này, thêm 1vào từng danh sách và lấy tối đa chúng và 0(trường hợp cơ bản, nếu chúng tôi không thể tạo ra bất kỳ chiếc bánh nào).


7

C #, 67

Đệ quy thực hiện một chiếc bánh mỗi lần lặp với trái cây bạn có nhiều nhất cho đến khi bạn hết.

int f(List<int>p){p.Sort();p[3]--;p[4]--;return p[2]-->0?1+f(p):0;}

Các trường hợp thử nghiệm ở đây


Không quen thuộc với C #, nhưng có lẽ bạn có thể làm p[2]--cùng lúc với việc kiểm tra p[2]>-1?
xnor

điểm tốt, tôi sẽ cập nhật câu trả lời trong một giây.
AXMIM

6

Bình thường, 29

Wtt=QS-Q0=Q+tPPQtM>3.<Q1=hZ;Z

Bộ kiểm tra

Sắp xếp danh sách đầu vào và loại bỏ các số không. Sau đó, miễn là bạn có 3 quả, giảm phần tử đầu tiên và hai phần tử cuối cùng, và thêm các phần tử còn lại vào danh sách, trước khi sắp xếp nó và loại bỏ các số 0 một lần nữa. Sau đó tăng một bộ đếm lên 1.

Điều này thực sự khá nhanh chóng miễn là chỉ có 5 quả, nó có thể giải quyết cho các thùng trái cây rất lớn, tức là 1000,1000,1000,1000,1000trong một giây.


Bạn có thể chứng minh rằng nó đúng?
aditsu

@aditsu Tôi chưa chứng minh điều đó, nhưng tôi đã kiểm tra nó với giá trị bổ sung của bạn. Tôi chưa thực sự viết một bằng chứng cho điều gì đó như thế này trước đây, nhưng tôi sẽ thử. Bây giờ, tôi sẽ nói nó có ý nghĩa rằng nó nên hoạt động vì bạn luôn chỉ lấy từ những đống trái cây lớn nhất, cho đến khi bạn cạn kiệt những quả nhỏ hơn. Mặc dù các chiến lược tham lam rõ ràng không phải lúc nào cũng đúng, tôi không thể nghĩ tại sao nó không hoạt động ở đây.
FryAmTheEggman

@FryAmTheEggman Tôi có hiểu đúng rằng bạn lấy hai loại trái cây phổ biến nhất và trái cây hiếm nhất không?
xnor

@xnor Vâng, đúng vậy. Điều đó không làm việc?
FryAmTheEggman

1
@TimmyD Không, tôi không (nghĩ rằng tôi) phải làm, tuy nhiên, nó không tốn bất kỳ byte nào để loại bỏ chức năng này (nó thực sự tốn nhiều tiền hơn). Điều đó nói rằng, tôi hy vọng giải pháp của Reto Koradi ngắn hơn trong hầu hết các ngôn ngữ, và rõ ràng Thomas là ngắn gọn hơn nhiều. Tôi nghĩ rằng lý do bạn không phải sắp xếp lại có liên quan đến nó không quan trọng trong số 3 cọc nhỏ hơn mà bạn lấy từ đâu.
FryAmTheEggman

6

Python, giải pháp chung, 128 92 byte

-36 byte từ @xnor, bạn là mvp thực

g=lambda l,k:0if k>sum(l)else-(-1in l)or-~g(map(sum,zip(sorted(l),[0]*(len(l)-k)+[-1]*k)),k))

def g(a,k):b=[i for i in a if i];return 0if len(b)<k;c=sorted(b,reverse=True);return 1+g([c[i]-(k-1>i)for i in range(len(c))],k)

Điều này hoạt động miễn là bằng chứng của tôi là chính xác. Nếu không, hãy cho tôi biết lý do tại sao tôi có thể cố gắng sửa nó. Nếu không thể hiểu được, hãy cho tôi biết, và tôi sẽ tấn công nó sau vài tách cà phê.


Bây giờ mọi thứ dường như chặt chẽ với tôi.
lirtosiast

@Mego Cảm ơn bạn đã làm việc này! Bạn có thể vui lòng bao gồm bằng chứng trong bài SE không? Có một mối quan tâm chung rằng ai đó đọc những năm sau này có thể tìm thấy các liên kết chết. Định dạng LaTeX chủ yếu chỉ hoạt động trong MathJax.
xnor

@Mego Rất tiếc, tôi quên rằng MathJax không được bật ở đây. Hmm, tôi sẽ hỏi phải làm gì.
xnor

Tôi đang trao tiền thưởng cho bằng chứng này. Chúc mừng!
xnor

@Mego Không, tôi nghĩ rằng liên kết MathCloud của bạn là tốt nhất chúng tôi có.
xnor

5

Python 2, 78 byte

Lấy 5 số làm đầu vào: 91 89 88 byte

s=sorted([input()for x in[0]*5])
while s[2]:s[2]-=1;s[3]-=1;s[4]-=1;s.sort();x+=1
print x

Chỉnh sửa : Thay đổi s=sorted([input()for x in[0]*5])bằng cách s=sorted(map(input,['']*5));x=0tiết kiệm 1 byte.

Lấy 5 số làm đầu vào và in số lượng bánh có thể thực hiện được. Nó có cùng cách tiếp cận với câu trả lời của Reto Koradi - không cải thiện số byte - nhưng có vẻ như câu hỏi này thiếu câu trả lời trong Python.

Cảm ơn @ThomasKwa và @xsot vì đề xuất của bạn.

Làm thế nào nó hoạt động

 s=sorted([input()for x in[0]*5]) takes 5 numbers as input, puts them in a list 
                                  and sorts it in ascending order. The result
                                  is then stored in s 

 while s[2]:                      While there are more than 3 types of fruit 
                                  we can still make pies. As the list is                     
                                  sorted this will not be true when s[2] is 0. 
                                  This takes advantage of 0 being equivalent to False.

 s[2]-=1;s[3]-=1;s[4]-=1          Decrement in one unit the types of fruit 
                                  that we have the most

 s.sort()                         Sort the resulting list

 x+=1                             Add one to the pie counter

 print x                          Print the result

Lưu ý rằng biến xkhông bao giờ được xác định, nhưng chương trình có lợi thế của một số python rò rỉ 2.7 có. Khi xác định danh sách svới mức độ hiểu danh sách, giá trị cuối cùng trong iterable ( [0]*5trong trường hợp này) được lưu trữ trong biến được sử dụng để lặp lại.

Để làm cho mọi thứ rõ ràng hơn:

>>>[x for x in range(10)]
>>>x
9

Lấy danh sách làm đầu vào: 78 byte

Cảm ơn @xnor @xsot và @ThomasKwa đã đề xuất thay đổi đầu vào thành danh sách.

s=sorted(input());x=0
while s[2]:s[2]-=1;s[3]-=1;s[4]-=1;s.sort();x+=1
print x

Làm thế nào nó hoạt động

Nó hoạt động giống như mã trên, nhưng trong trường hợp này, đầu vào đã là một danh sách nên không cần tạo và biến x phải xác định biến.

Tuyên bố miễn trừ trách nhiệm: Đây là nỗ lực đầu tiên của tôi khi chơi gôn và cảm thấy nó vẫn có thể được đánh gôn, vì vậy hãy đề xuất mọi thay đổi có thể được thực hiện để giảm số byte.


1
Bạn được phép có đầu vào đã có trong danh sách; s[2]>0-> s[2], vì số trong cọc luôn không âm.
lirtosiast

Thomas Kwa chỉ ra rằng bạn có thể cho rằng đầu vào đã được đưa ra dưới dạng danh sách, vì vậy bạn chỉ có thể làm s=sorted(input()). Ngoài ra, số byte hiện tại của bạn là 89; dòng mới được tính là một char duy nhất.
xnor

@ThomasKwa đã chỉ ra rằng bạn có thể chấp nhận đầu vào dưới dạng danh sách, nhưng nếu bạn khăng khăng chấp nhận đầu vào nhiều dòng, hãy thay thế dòng đầu tiên bằng dòng sau để lưu byte : s=sorted(map(input,['']*5));x=0.
xsot

4

CJam, 23 byte

0l~{\)\$2/~+:(+_2=)}g;(

Dùng thử trực tuyến

Điều này lấy trái từ 3 cọc lớn nhất trong mỗi lần lặp và đếm số lần lặp.

Tôi không có bằng chứng toán học rằng điều này luôn cho kết quả chính xác. Nó làm cho các ví dụ thử nghiệm đã cho và tôi tin rằng nó hoạt động cho tất cả các trường hợp cho đến khi ai đó đưa cho tôi một ví dụ ngược lại.

Lời giải thích trực quan mà tôi đã sử dụng để thuyết phục bản thân: Để tối đa hóa số lượng bánh nướng, bạn cần giữ càng nhiều cọc càng trống càng tốt. Đó là bởi vì bạn mất khả năng tạo ra nhiều bánh ngay khi bạn có 3 cọc trống trở lên.

Điều này đạt được bằng cách luôn lấy trái cây từ những đống lớn nhất. Tôi không thể nghĩ đến trường hợp lấy trái cây từ một đống nhỏ hơn sẽ dẫn đến một tình huống tốt hơn là lấy trái cây từ một đống lớn hơn.

Tôi có lý luận chính thức hơn một chút trong đầu của tôi. Tôi sẽ cố gắng nghĩ cách đưa nó vào từ / công thức.


Tôi đã cố gắng sử dụng cảm ứng; có lẽ chúng ta có thể kết hợp các ý tưởng của mình để tìm ra một bằng chứng chính thức.
lirtosiast

@ThomasKwa Tôi chưa nghĩ ra thứ gì đủ rõ ràng nghe có vẻ thuyết phục nếu tôi viết nó ra. Tất cả đều xuất phát từ thực tế là tôi thấy hoàn toàn không có lý do tại sao sẽ tốt hơn nếu lấy từ một ngăn xếp nhỏ hơn một ngăn xếp lớn hơn. Trong khi có những tình huống rõ ràng khi lấy từ một ngăn xếp nhỏ hơn sẽ tồi tệ hơn. Tôi cũng đã nhập một số lượng lớn vừa phải ngẫu nhiên vào cả hai giải pháp của tôi và aditsu và chúng cho kết quả như nhau. Giải pháp của tôi cũng phù hợp với công thức của bạn cho các ví dụ tôi đã thử.
Reto Koradi

3

> <>, 76 byte

0&4\/~}&?!/
@:@<\!?:}$-1@@$!?&+&:)@:@
,:&:@(?$n;/++:&+::2%-2,:&:@(?$&~+:3%-3

Hóa ra việc sắp xếp trong> <> không dễ! Chương trình này dựa trên bằng chứng được đưa ra bởi Thomas Kwa là đúng, đây chắc chắn là trường hợp thử nghiệm.

5 số đầu vào dự kiến ​​sẽ có mặt trên ngăn xếp khi bắt đầu chương trình.

Hai dòng đầu tiên sắp xếp các số trên ngăn xếp và dòng thứ ba thực hiện phép tính floor(min((x1+x2+x3+x4+x5)/3,(x1+x2+x3+x4)/2,x1+x2+x3)), được lấy từ câu trả lời của Thomas.


Nó sẽ ngắn hơn nếu bạn tính tất cả các tổng của ba / bốn phần tử và min của các phần tử đó?
lirtosiast

@ThomasKwa Tôi có vẻ như sẽ liên quan đến việc tìm các hoán vị của tập hợp đầu vào, tổng hợp 3 và 4 phần tử trên cùng của mỗi phần tử và lấy phần tử nhỏ nhất trong số chúng? Tôi không nghĩ việc tìm kiếm hoán vị sẽ ngắn hơn phương pháp sắp xếp / tính toán mà tôi đã sử dụng, đặc biệt là trong ngôn ngữ dựa trên ngăn xếp. Nếu bí quyết của bất kỳ thuật toán tiện dụng để tạo ra hoán vị bằng một ngôn ngữ dựa trên stack Tôi muốn được quan tâm để xem: o)
Sok

2

Python 2, 59 byte

h=lambda l,k=3:k*'_'and min(h(sorted(l)[:-1],k-1),sum(l)/k)

Một phương pháp chung hoạt động cho bất kỳ nk. Việc k=3làm cho trái cây trên mỗi chiếc bánh mặc định là 3, nhưng bạn có thể chuyển qua một giá trị khác. Đệ quy sử dụng thực tế là các chuỗi lớn hơn các số trong Python 2, để cho chuỗi rỗng biểu thị trường hợp cơ sở là vô cùng.

Phương pháp này sử dụng thực tế là luôn lấy trái cây phổ biến nhất là tối ưu, vì vậy chúng tôi coi mỗi cấp bậc trái cây có thể là một yếu tố hạn chế. Tôi đã chế lại sự thật đó dưới đây.


Bằng chứng của Mego khiến tôi nghĩ về bằng chứng trực tiếp hơn này rằng việc liên tục dùng các loại trái cây phổ biến nhất là tối ưu. Điều này được nêu với bánh nướng củak trái cây.

Định lý: Liên tục lấyk loại trái cây phổ biến nhất sẽ cho số lượng bánh nướng tối ưu.

Bằng chứng: Chúng tôi sẽ chỉ ra rằng nếu Nbánh nướng là có thể, thì chiến lược trái cây phổ biến nhất tạo ra ít nhất là Nbánh nướng. Chúng tôi làm điều này bằng cách chuyển đổi trái cây giữa các Nbánh để làm cho chúng khớp với những cái được tạo ra bởi chiến lược này, trong khi vẫn giữ cho bánh có hiệu lực.

Chúng ta hãy làm cho nó để chiếc bánh đầu tiên (gọi nó p) có chứa các loại trái cây phổ biến nhất. Nếu chưa, nó phải chứa một loại trái cây i, nhưng không phải là một loại trái cây phổ biến hơn j. Sau đó, những chiếc bánh còn lại có nhiều trái cây jhơn trái cây i, và vì vậy một số bánh khác qphải chứa jnhưng không i. Sau đó, chúng ta có thể trao đổi trái cây itừ bánh pvới trái cây jtừ bánh q, giúp Nbánh nướng có trái cây khác biệt.

Lặp lại quá trình này cho đến khi pcó những kloại trái cây phổ biến nhất.

Sau đó, đặt chiếc bánh psang một bên và lặp lại quy trình này cho chiếc bánh tiếp theo để làm cho nó có những loại trái cây phổ biến nhất còn lại. Tiếp tục làm điều này cho đến khi những chiếc bánh là trình tự được tạo ra bởi danh mục trái cây phổ biến nhất.


1

PowerShell, 92 byte

$a=($args|sort)-ne0;while($a.count-ge3){$a[0]--;$a[-1]--;$a[-2]--;$a=($a-ne0;$c++}($c,0)[!$c]

Sử dụng thuật toán dựa trên tham lam tương tự như câu trả lời của FryAmTheEggman ... chỉ là rất nhiều từ trong PowerShell ....

$a=($args|sort)-ne0  # Take input arguments, sort them, remove any 0's
while($a.count-ge3){ # So long as we have 3 or more fruit piles
  $a[0]--            # Remove one from the first element...
  $a[-1]--           # ... the last element ...
  $a[-2]--           # ... and the second-to-last.
  $a=$a-ne0          # Remove any 0's from our piles
  $c++               # Increment how many pies we've made
}                    #
($c,0)[!$c]          # Equivalent to if($c){$c}else{0}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.