単純な溶岩ランプ


18

前書き:

私は誰もが溶岩ランプが何であるかを知っていると思いますが、彼らが知らない場合のために:

ここに画像の説明を入力してください
(画像ソース)

それらは基本的に半透明の液体にワックスを含むガラス管です。ランプをオンにすると、下部が加熱され、密度が変化し、ワックスが上部に浮き上がります。それが冷えると、再び落ちて、上記の効果を引き起こします。

通常、ランプのベースが固体ワックスを液体ワックスに変えるのに十分な温度に上昇するのに約45〜60分かかります(ランプが室温の場所にある場合)。

Wikipediaの詳細については、上記のテキストのソースとしても使用されています。

チャレンジ:

nLava Lampをオンにしてから経過した分数を示す正の整数を指定すると、5レベルの整数に基づいてLava Lampのランダムな状態を出力します。

この挑戦のために、溶岩ランプには合計で1000単位のワックスが含まれており、ワックスが存在できる5つのレベルがあると言います。

1)nが45未満の場合、Lavaランプはまだ加熱されているため、出力は1000下部に4つの空の行があります。





1000

2)nが範囲内に[45, 60)ある場合、Lava Lampはワックスが動き回るのに十分な温度に上昇していますが、まだそれほど高くはありません。ワックスは、第3レベルまで到達できます。
3)の場合がnある60以上、ワックスは、5つのレベルのいずれかであることができます。

したがってn、入力として正の整数を指定すると、上記の3つのルールを考慮してランダムな状態を出力します。

出力の例を次に示します。

任意のための可能な出力nです>= 45



523
106
371


913

87

任意のための可能な出力nです>= 60

73
113
312
5
497
284
55
637

24

nそのための一定の出力は<= 44(およびで可能な出力n)です:





1000

チャレンジルール:

  • 上のレベルが空でない場合でも、空の行がある場合があります。
  • ただ、0任意の行に許可されていません。代わりに空にする必要があります。
  • 出力は多少柔軟です。上記のように改行で区切られた結果の代わりに、文字列/オブジェクトのリスト/配列を出力できます。私が文字列/オブジェクトと言う理由は、上記のルールによるものです。空行があるべきである""null[]、等、しかしすることができない0、または負の整数(またそれができるfalse(IE)["", "", 913, "", 87]のためにn >= 45)。出力を逆にすることもできます(つまり、の代わり1000\n\n\n\nに、\n\n\n\n1000またはの[87, null, 913, null, null]代わりに[null, null, 913, null, 87])。
  • 数字はすべて整数でなければなりません。には小0数値としての小数を使用できますが、どの数値にも小数桁を含めることはできず、整数の合計は常に正確になり1000ます。
  • に基づくすべての可能なランダム出力nは、ゼロ以外の確率で発生するはずです。
  • 末尾の改行(つまり、6行の出力がある)が許可されます。

一般的なルール:

  • これはであるため、バイト単位の最短回答が優先されます。
    コードゴルフ言語では、非コードゴルフ言語で回答を投稿しないようにしてください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。
  • 回答には標準の規則が適用されるため、STDIN / STDOUT、適切なパラメーターと戻り値型、完全なプログラムを備えた関数/メソッドを使用できます。あなたの電話。
  • デフォルトの抜け穴は禁止されています。
  • 可能であれば、コードのテストへのリンクを追加してください。
  • また、回答の説明を追加することを強くお勧めします。


空のレベルを単一のスペースで表すことはできますか?
アーナルド

@Arnauld確かに。0、負の数、または以外の任意の値を指定できますfalse
ケビンクルーッセン

出力は常に5レベルn < 60ですか?
エミグナ

@Emignaはい、出力は常に5レベルです。以下のためにn < 45のみ1レベルである、(上または下に順序を出力することに依存する)が充填されています100045 <= n < 605の3、および持つn >= 60すべての5つ。ただし、出力には常に5つの「行」が含まれます。
ケビンクルーッセン

回答:


5

MathGolf21 20バイト

5º*♪{k[K∞╟(]m<Σ∞wΦ}σ

オンラインでお試しください!

これが私の新しい言語での最初の答えです。私のソリューションはエミグナの05AB1Eソリューションに基づいていましたが、MathGolfのいくつかのすてきな機能を使用して、少し短くしました。

説明

5º*                   push 5, [0], multiply (yielding [0,0,0,0,0]
   ♪                  push 1000
    {                 start block
     k                push input as integer
      K∞              push 22 and double it, yielding 44
        ╟(            push 60 and decrease, yielding 59
          α           wrap last two elements in array, yielding [44,59]
           m<         map is less than, giving [0,0], [1,0] or [1,1]
             Σ        sum array, giving 0, 1 or 2
              ∞       double, giving 0, 2 or 4
               w      push random integer in range
                Φ     increase array element
                 }    execute for loop (loops 1000 times)
                  σ   convert to string and remove leading zeroes (implicit map)

機能自体がこの課題の組み込み機能ではない場合、非競合タグは必要ありません。昨年中旬以来、非競合はもはや問題ではありません。それは非常に新しいので、私はあなたの言語用のオンラインコンパイラはまだないと思いますか?代わりに、検証としていくつかのスクリーンショット(または、投稿が煩雑になる場合はスクリーンショットへのリンク)を追加できますか?そして、私は接触する@Dennisをあなたの言語をに加えることができるかどうか尋ねるために" TryItOnline
ケビンクルーッセン

2
@KevinCruijssenフィードバックありがとうございます!スクリーンショットをいくつか追加し、言語をTIOに追加する作業を行っています。新しい機能を絶えず追加していないと感じたら、デニスに連絡します。
maxb

あなたの言語のための部屋作ることを考えましたか?私はそれを学ぶことにとても興味があります!
ジョーキング

@JoKingはあなたが興味を持っていると聞いてうれしいです!私は今週末に部屋を作ろうとします。DennisのおかげでTIOで言語を取得したばかりで、誰でもアクセスできるように取り組んでいます!
maxb

@JoKing MathGolf 用の部屋を作成しました。私はできるだけ早く質問に答えようとします、ドキュメントが少し未完成であることを知っています。
maxb

8

パイソン2117の 113 108 107 106 105バイト

from random import*
def f(n):a=['']*5;exec"i=randint(0,(n>44)+(n>59)<<1);a[i]=(a[i]or 0)+1;"*1000;print a

オンラインでお試しください!

逆順にしたリストを返します(下から順に)


コメント内のstackoverflowの回答に触発されたバージョン(エッジケースの可能性が高い):

Python 2、129バイト

from random import*
def f(n):a=sorted([1000]*5+sample(range(1001)*5,(n>44)+(n>59)<<1));print[y-x or''for x,y in zip([0]+a,a)[:5]]

オンラインでお試しください!


あなたのコードがどのように機能するのか正確にはわかりませんが、すべての状態にゼロ以外の発生の可能性がありますか?すべての番号は、それぞれ3部または5部の近く333または200にあります。0またはへのスパイク/外れ値は表示されません1000。または、333およびに近い整数と比較して、天文学的に小さい(しかし、まだゼロでない)可能性はあり200ますか?
ケビンクルーッセン

1
@KevinCruijssen 1000個の溶岩ユニットのそれぞれがランダムなビン(0または0-2または0-4)に入れられ、カウントされます。どちらにも入らない可能性はありますが、非常に小さいです。
TFeld

ああ、それは理にかなっています。今、私はあなたのコードをすでによく理解しています。ありがとう!私から+1。
ケビンクルイッセン

7

JavaScript(ES6)、78バイト

空のレベルがスペースで埋められている逆配列を返します。

t=>(a=[...'     '],g=k=>k?g(k-1,a[Math.random()*(t>59?5:t<45||3)|0]++):a)(1e3)

オンラインでお試しください!

コメント済み

t => (                      // t = input
  a = [...'     '],         // a[] = output array, initially filled with 5 spaces
  g = k =>                  // g = recursive function taking an iteration counter k
    k ?                     //   if k is not equal to zero:
      g(                    //     do a recursive call:
        k - 1,              //       decrement k
        a[                  //       update a[]:
          Math.random() * ( //         pick a random slot:
            t > 59 ? 5 :    //           among all 5 slots if t > 59
            t < 45          //           force the 1st slot if t < 45
            || 3            //           among the 3 first slots otherwise
          ) | 0             //         round the above result to an integer
        ]++                 //       increment the wax amount on this slot
      )                     //     end of recursive call
    :                       //   else:
      a                     //     stop recursion and return a[]
)(1e3)                      // initial call to g() with k = 1000

私は実際にPythonの答えに対して行ったコメントと同じ質問があります:すべての状態が発生する可能性はゼロではありませんか?
ケビンクルイッセン

1
1090

Rofl、met石との素敵な類推。;)配列の3つまたは5つのスポットのいずれかに値を1000個まで入れるという点で、あなたのメソッドはPythonの答えに似ていることがわかりました。いい答えですから、+ 1してください。
ケビンクルーイッセン

6

R85 84バイト

function(n)write(ifelse(t<-table(cut(runif(1e3,2*(n<60)+3*(n<45),5),0:5)),t,""),1,1)

@Giuseppeのおかげで-1バイト

オンラインでお試しください!

説明(変更なし):

function(n){
      # Generate 1000 random uniform numbers in [5,5] (if n<45),
      # in [2,5] (if 45<=n<60) and in [0,5] (if n>=60).
    x = runif(1e3,2*(n<60)+3*(n<45),5) 
      # Code each by the number of the interval it falls in (0,1],(1,2]...(4,5]
    cx = cut(x,0:5)
      # Tabulate the intervals. Because cut() returns a factor,
      # zero counts are included 
    t = table(cx)
      # Vector-wise replace zero elements with "" and cat out, 1 per line.
    t1 = ifelse(t,t,"")
    write(t1,1,1)
}

場合はNA、空の行/要素として許可され、ここでは77バイト溶液(だ!オンラインそれを試してみてください)、または80バイト溶液(!オンラインそれを試してみては要素名が問題である場合)
duckmayr

6

C(GCC) 1311169089、87のバイト

L(l,a,v,A){for(A=5,v=1e3;A--;v-=a)printf("%d\n"+!a*2,a=l>59|A<3&l>44?rand()%-~v:!A*v);}

オンラインでお試しください!

更新:オリジナルのバグを修正しました。ヘルパー関数で融合し、追加の15バイトを削減します。

更新2:ErikFのおかげで-25バイト。

更新3:ceilingcatのおかげで-1バイト。

デゴルフ

L(l,a,v,A){
    for(A=5,v=1e3;A--;v-=a)
        printf("%d\n"+!a*2, // No clue how this works anymore, but it'll advance the pointer 
                            // to the string constant when a number shouldn't be printed.
        a=l>59|A<3&l>44?rand()%-~v // Random integer to print in [0, v]
        :!A*v); // If bottom layer, return remaining volume
}

puts()印刷を1つに結合しprintf()、減算をループの最後に置くことで、これを排除できます。また、srand()初期化を呼び出し元に入れることも許可されていると思います。オンラインでお試しください!
ErikF

「ゼロなし」の制限を逃したことに気付きました。修正版は次のとおりです。オンラインで試してください!
ErikF


すごい; 私は追加のバイトでそれをゴルファーしました。

1
また、やった!Pythonに勝ちました!

5

05AB1E27 26 25バイト

Adnanのおかげで1バイト節約できました。Kevin Cruijssenの
おかげでもう1バイト節約できました

5Å0₄FD„,;ÇI‹O·ÝΩ©è>®ǝ]ε0Û

オンラインでお試しください!

説明

5Å0                         # initialize with a list of 5 zeroes
   ₄F                       # 1000 times do:
     D                      # duplicate the list
      „,;ÇI‹                # check if the input is larger than 44 and/or 59
            O·              # sum and double, yielding (0,2 or 4)
             ÝΩ             # pick a random number between and 0 and the number above
               ©è           # get the count in that level
                 >          # increment it
                  ®ǝ        # insert it at the same position
                     ]      # end loop
                      ε0Û   # remove leading zeroes on each level

1
いい答え!私はあなたが使った方法が好き5Å0ǝ、そしてε0Û最後に。私はもっ​​と短いものを考え出そうとしましたが、できません。私はそれが何とかまだゴルフをすることができるという感覚を持っていますが、私は現在それを見ていません(多分それは見えないし、それはただのランダムな感じです)。短いので•A–•60в44 59‚なく、1バイト長くなります。またε0Û0sを空の文字列で置き換えることも0K、0アイテムを完全に削除し0、すべての数字の数字を削除するだけなので、最短時間のようです。
ケビンクルーイッセン

1
@KevinCruijssen:ええ、もっと短い方法を探して探しましたが、見つけ44 59‚られません(•H|•2ô同じ数です)。私の以前のソリューション(また、27バイト)を使用45して60いるさまざまな方法で発生しやすくなりますが、私はそれが出力として無効だったと思う13または5の入力とは限らないに応じて、レベル5
エミグナ

ああ、•H|•2ô確かに賢い方法でもあり、それについては考えていませんでした。そして、実際に5行を出力するはずです。私はあなたの前の答えを確かに見て、それを1行だけ出力したとコメントしようとしていましたがn < 45、それを削除しました。別の27バイトのソリューションを見つけてよかったです。:)
ケビンクルーイッセン

2
私が思うにŽH|2ô、あなたが探しているものでしょうか?
アドナン

2
@KevinCruijssenそれはまさにそのように機能します。05AB1Eを使用して以前の回答を使用していくつかの研究を行いましたが、これは書き直しで追加したものの1つでした。現在、他のユースケースはありません。
アドナン

4

JavaScript(Node.js)87 86バイト

f=(n,w=1e3,s=5,r=n<45|n<60&s<4|s<2?w:Math.random()*w|0)=>s?`${r||""}
`+f(n,w-r,s-1):""

オンラインでお試しください!

83バイトのソリューション((n/15-2|0)*s<4)は、より大きなをチェックする必要があるため、最初に予約されていますn

UPDATE:うん、(n/15-2|0)*s<4大きなためので、うまくいきませんでしたnので、n十分な大きさは、合計が1000に到達するために失敗します。



3

クリーン、215バイト

import StdEnv,Math.Random,Text
? ::!Int->Int
?_=code{ccall time "I:I"
}
$n#l=take(max(2*min(n/15-2)2)0+1)(genRandReal(?0))
#l=map toInt[1E3*e/sum l\\e<-l]
|sum l==1000=map(\v|v>0=v<+"\n"="\n")(l++repeat 0)%(0,4)= $n

オンラインでお試しください!

だから私は最終的に、インポートSystem._UnsafeSystem.Timeて使用するよりもランダムなシードを取得するためのより短い方法を見つけましたtoInt(accUnsafe time)...
そして、男の子は本当にcodegolfの精神です-Cへの呼び出しを埋め込み、評価を保証するために通常使用されるワールドステートタイプを無視しますそのようなものの順序。


3

JAVA(JDK 10) 121の 117 113 111バイト

m->{for(int w=1000,j,i=5;i-->0;w-=j=i>0?j*=Math.random():w,System.out.println(j<1?"":j))j=m>59|m>44&i<3?w+1:0;}

オンラインでお試しください!

より多くのワックスを上部に寄せる方向に偏っていますが、理論的にはワックスの法的配置が現れる可能性があります。

編集:4バイトは@KevinCruijssenによって保存されました

人間が読めるJavaの場合:

(int minutes /* golfed variable m */) -> {
  int waxRemaining = 1000; // golfed variable w

  // golfed version goes from index 4 to 0 in a bit of a roundabout way
  // starting at 5 but decrementing right away
  for (int level = 4 /* golfed variable i */; level <= 0; level--) {
    // golfed variable j
    // the golfed version initializes this to (waxRemaining + 1)
    // in order to juice out some extra bytes during the Math.random() call
    int waxAtLevel = 0;

    // the golfed version does all of these ifs as ternary operations
    // and avoids using 2-character operators wherever possible
    // so e.g. "a == 0" becomes "a<1" and "a && b" becomes "a&b"
    // since here we are certain things can't be negative,
    // and took a good look at the Java operator precedence cheat-sheet
    // to make sure "&" and "|" would work properly to give a truthy value
    if (level == 0) {
      // if we are at the bottom level, just put the rest of the wax there
      waxAtLevel = waxRemaining;
    } else if (minutes >= 60 || (minutes >= 45 && level < 3)) {
      // otherwise if we are at a legal level put a random portion of the remaining wax there
      // note: the random portion can be between 0 and waxRemaining inclusive
      waxAtLevel = (int) (Math.random() * (waxRemaining + 1));
    }

    if (waxAtLevel > 0) {
      // only print the amount of way at this level if its greater than 0
      System.out.print(waxAtLevel);
    }
    System.out.println();

    waxRemaining -= waxAtLevel;
  }
}

2
Math.random()*(w+1)Math.random()*-~w-2バイトにすることができます。ここに関連するヒントを参照理由として示します。。いい答え!私から+1。編集:実際には、j一時的に変数として使用することでさらに2バイトを保存することができますw+1(とにかく印刷後すぐに上書きされるj*=Math.random()ため)、代わりに使用して、キャストを必要としません(int)117バイト)。
ケビンクルーッセン

よろしくお願いします!また、私は&i>2条件が必要ないことに気づいた
-SamYonnou

3

Powershell188 162バイト

param($m);$t=0;$a=,0*5;$s=if($m-lt45){4}elseif($m-lt60){2}else{0};$s..4|%{$t+=$a[$_]=if($_-eq4){1e3-$t}elseif($t-ne1e3){Random(1000-$t)}}$a|%{if($_){$_}else{''}}

オンラインでお試しください!

-Kevin Cruijssenによる-2バイト
オプションのGet- verbの削除による-4バイト
ループの短縮とスペースの削除による-20バイト


こんにちは、PPCGへようこそ!素晴らしい最初の答え!基本的なテストをいくつか行いましたが、すべてがうまくいくようです。私はPowershellについてほとんど何も知りませんが、に変更else{if($t-ne 1e3){Get-Random(1000-$t)}}することは可能elseif($t-ne 1e3){Get-Random(1000-$t)}ですか?elseifコードで以前に使用したことがあるので、2バイト節約できます。また、Powershell でのゴルフのヒント<すべての言語>でのゴルフのヒントは、さらに多くのインスピレーションを与えるかもしれません。滞在を楽しんで!:)
ケビンクルーイッセン

1
ifelseについて完全に正しい。プロセスの早い段階で他の対応物を削除しました。リンクもインスピレーションを与えてくれました!
エドウィン

2

パスカル(FPC)192 190バイト

var n,a:word;z:array[0..4]of word;begin read(n);if n>44then a:=a+3;if n>59then a:=a+2;Randomize;for n:=0to 999do inc(z[random(a)]);for n:=0to 4do if z[n]>0then writeln(z[n])else writeln end.

オンラインでお試しください!

TFeldによるビンへのパッキング方法の使用。一番下の行を最後に改行を付けて最初に印刷します。

FPCには問題がないようですrandom(0)ので、そこにいくつかの異常な追加があります。


私のオリジナルの提出物は、209バイトまでゴルフをしました。

var n,i,a,r:int32;begin read(n);if n>44then a:=a-2;if n>59then a:=a-2;r:=1000;Randomize;for i:=-3to-0do begin if i>a then begin n:=random(r+1);if n>0then write(n);r:=r-n;end;writeln;end;if r>0then write(r)end.

オンラインでお試しください!


2

、37バイト

F²F²⊞υ∧‹³⁺ι÷Iθ¹⁵‽⊕⁻φΣ∨υω⊞υ⁻φΣυEυ⎇ιIιω

オンラインでお試しください!リンクは、コードの詳細バージョンです。説明:

F²F²

2回、2回ループします。または、同じバイトカウントに対して、ループインデックスを2で除算した整数を使用することもできます。

‹³⁺ι÷Iθ¹⁵

外側の指数と温度の15分の1が3より大きい場合...

⊞υ∧...‽⊕⁻φΣ∨υω

...次に、これまでの合計である1000までのランダムな整数をプッシュします。残念ながら、Charcoalは空のリストの合計を計算できないため、代わりに空の文字列を置き換える必要があります。

⊞υ⁻φΣυ

残りの金額をリストにプッシュします。

Eυ⎇ιIιω

リストを文字列に変換しますが、ゼロではなく空の文字列を使用します。


2

ゼリー、28バイト

>“,;‘SḤ‘µȷŻṗS⁼¥ƇȷX;0ẋ5¤ḣ5Yḟ0

結果を印刷する完全なプログラム(許可されているように、逆さま)。

7ȷn>591015

どうやって?

>“,;‘SḤ‘µȷŻṗS⁼¥ƇȷX;0ẋ5¤ḣ5Yḟ0 - Main Link: integer, n
 “,;‘                        - list of code-page indices = [44,59]
>                            - greater than? (vectorises)
     S                       - sum (i.e. 0, 1 or 2)
      Ḥ                      - double (i.e 0, 2 or 4)
       ‘                     - increment (i.e. 1, 3 or 5)
        µ                    - start a new monadic link, call that x (i.e. f(x))
         ȷ                   - literal 1000
          Ż                  - zero-range = [0,1,2,...,1000]
           ṗ                 - Cartesian power (all tuples of length x using those numbers)
               Ƈ             - filter keep if:
              ¥              -   last two links as a dyad:
            S                -     sum
             ⁼  ȷ            -     equals 1000? (i.e. only valid tuples)
                 X           - random choice (get one of these tuples)
                      ¤      - nilad followed by link(s) as a nilad:
                   0         -   zero
                    ẋ5       -   repeat five times = [0,0,0,0,0]
                  ;          - concatenate     (e.g. [354,388,258,0,0,0,0,0])
                       ḣ5    - head to index 5 (e.g. [354,388,258,0,0])
                         Y   - join with newlines
                          ḟ0 - filter out zeros
                             - implicit print

1
出力を逆にすることもできます(つまり、の代わり1000\n\n\n\nに、\n\n\n\n1000またはの[87, null, 913, null, null]代わりに[null, null, 913, null, 87])。」ですから、はい、。なしで28バイトバージョンを使用できます。
ケビンクルーイッセン

2

小枝、126バイト

これは実際に楽しい挑戦でした!

このコードは、インポートする必要があるマクロを作成します。

{%macro a(s,z=1000)%}{%for _ in 4..1%}{%set t=s>59or(s>44and _<3)?random(z):''%}{%set z=z-t%}{{t}}
{%endfor%}{{z}}{%endmacro%}

インポートするには、次のようにします。

{%- import 'macro.twig' as a -%}
{{- a.a(50) -}}

これでうまくいくはずです。

https://twigfiddle.com/t4dfgyでそれを試すことができます。
注意:ページが空白を削除-したため、正しい行数を出力していることを証明するために、行の最後にを追加する必要がありました。

通常のインストールでは、問題なく改行が表示されます。


2

Perl 6、62バイト

{($!=1e3)||@,|((+$!-($!-=$!.rand+|0)||@)xx($_/15+|0)*2-4)[^4]}

オンラインでお試しください!

文字列を取り、sの代わりにNil空のリスト([])を含む整数のリストを返す匿名コードブロック0

説明:

{($!=1e3)||@,|((+$!-($!-=$!.rand+|0)||@)xx($_/15+|0)*2-4)[^4]}
{                                                            }  # Anonymous code block
 ($!=1e3)  # Initialise $! to 1000
                +$!-($!-=$!.rand+|0)     # Pick a random value from 0 to $!
                                    ||@  # Or an empty array if it is zero
            ,  (                       )xx  # Repeat this
                                          ($_/15+|0)*2-4  # The given value mapped to 0,2,4
             |(                                         )[^4] # Get the first four values
 ($!    )||@  # Where the first value is the leftover number in $! or an empty array


2

J56 55 54 48 43 40バイト

5{.1e3(2<@-/\[,0,~[:\:~?@$~)2*1#.>&44 59

オンラインでお試しください!

FrownyFrogのおかげで-3バイト


少し長くなりますが、ここでの方法ごとにすべての可能性にわたって完全に均一な分布を保証する別の概念的に素晴らしい方法:

J、53バ​​イト

5$!.a:[:<@(+/);._1 0:,(1e3#1)({~#?#)@,0$~2*1#.>&44 59

オンラインでお試しください!


ではない$!.a:だけ{.
FrownyFrog

@FrownyFrogありがとう。利用可能な要素よりも多くの要素を取得すると、「ゼロ」フィルになることを忘れていました。
ジョナ


1

ルビー62 55バイト

->n{w=1000;[4,4,3,3].map{|r|r*15>n||w-=q=rand(w);q}<<w}

オンラインでお試しください!

溶岩ランプは高温になると危険になるため、テストは0〜99度に制限されています。


こんにちは。あなたの答えは無効だと思います。現在0、空の行に対して持っています。配列内の空の行は、以外の任意の行0falseまたは負の数にすることができます。それができるようにnull""[]、などではなく0。Rubyにオブジェクト配列/リストがあるかどうかわからないので、0sを別のものに変換できますが、そうでない場合は、配列/リストを返す代わりにそれらを印刷する必要があります。
ケビンクルーイッセン

修正されましたが、少しarbitrary意的すぎると思います。
GB
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.