長さNのランダムな英数字文字列の生成


30

与えられた長さで、英数字のみが許可されたランダムな文字列を生成する最短の方法は何ですか?

  • ランダムな文字列の例:N = 9の出力は aZua7I0Lk
  • 指定された長さNは、常に0より大きいと想定できます。
  • 必要に応じて、Nの最大値として256を想定できますが、Nの上限が高く、計算時間が速いソリューションが推奨されます
  • 許可される文字:0-9、azおよびAZ
  • 文字が出力文字列に複数回出現する可能性があります
  • 可能性のある各文字列は(言語の乱数ジェネレーターの精度に応じて)同様に発生する可能性があります。

1
Nの最大値を想定できますか?
-JAD

回答:


4

ゼリー、4バイト

ØBṗX

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

説明

ØBṗX
ØB     All letters (uppercase and lowercase) and digits
  ṗ    Cartesian power with {the input}
   X   Select a random possibility

デカルトの累乗は基本的に、要素の特定のセットから形成できる特定の長さのすべてのリストを生成します。それがまさにここで必要なものです。


UTF-8文字が含まれている場合、それは実際にはわずか4バイトでしょうか?1つのUTF-8文字は1バイト以上である可能性があります
...-m13r

M13Rゼリーは、これらはすべてシングルバイト文字である、独自のコードページ使用しています@
FlipTack

13

タクシー、2577バイト

Go to Post Office:w 1 l 1 r 1 l.Pickup a passenger going to The Babelfishery.Go to The Babelfishery:s 1 l 1 r.Pickup a passenger going to Sunny Skies Park.Go to Sunny Skies Park:n 1 l 1 l 1 r.[a]Go to Heisenberg's:n 1 r 1 r 3 r.Pickup a passenger going to Cyclone.Go to Go More:n 1 l 3 l 3 l.Go to Starchild Numerology:e 2 r.62 is waiting at Starchild Numerology.Pickup a passenger going to Cyclone.Go to Cyclone:e 1 l 2 r.Pickup a passenger going to What's The Difference.Pickup a passenger going to Divide and Conquer.Pickup a passenger going to Divide and Conquer.Go to Divide and Conquer:n 2 r 2 r 1 r.Pickup a passenger going to Trunkers.Go to Trunkers:e 1 r 3 r 1 l.Pickup a passenger going to Multiplication Station.Go to Cyclone:w 2 r.Pickup a passenger going to Multiplication Station.Go to Multiplication Station:s 1 l 2 r 4 l.Pickup a passenger going to What's The Difference.Go to What's The Difference:n 2 l 1 r 3 l.Pickup a passenger going to Addition Alley.Go to Starchild Numerology:e 1 r 3 l 2 r.1 is waiting at Starchild Numerology.63 is waiting at Starchild Numerology.Pickup a passenger going to Addition Alley.Pickup a passenger going to The Underground.Go to Addition Alley:e 1 l 2 r 3 r 1 r.Pickup a passenger going to Joyless Park.Go to Writer's Depot:n 1 l 1 l.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789- is waiting at Writer's Depot.Pickup a passenger going to Chop Suey.Go to Joyless Park:n 3 r 2 r 2 l.Go to Chop Suey:w 1 r 1 r 1 l.[b]Pickup a passenger going to Narrow Path Park.Go to Narrow Path Park:n 1 l 1 r 1 l.Go to The Underground:e 1 r.Switch to plan "c" if no one is waiting.Pickup a passenger going to The Underground.Go to Fueler Up:s.Go to Chop Suey:n 3 r 1 l.Switch to plan "b".[c]Go to Joyless Park:n 1 r.Pickup a passenger going to The Underground.Go to Narrow Path Park:w 1 r 3 l.[d]Pickup a passenger going to KonKat's.Go to KonKat's:e 1 r.Pickup a passenger going to KonKat's.Go to The Underground:s.Switch to plan "e" if no one is waiting.Pickup a passenger going to The Underground.Go to Fueler Up:s.Go to Narrow Path Park:n 4 l.Switch to plan "d".[e]Go to KonKat's:n.Pickup a passenger going to Riverview Bridge.Go to Riverview Bridge:n 1 l.Go to Narrow Path Park:e 1 l 1 r.Pickup a passenger going to Post Office.Go to Post Office:e 1 r 4 r 1 l.Go to Sunny Skies Park:s 1 r 1 l 1 r.Pickup a passenger going to The Underground.Go to The Underground:n 1 r 1 r 2 r.Switch to plan "f" if no one is waiting.Pickup a passenger going to Sunny Skies Park.Go to Sunny Skies Park:n 3 l 2 l 1 l.Switch to plan "a".[f]

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

タクシーがされ、スーパー、このために作られていないが、あなたはそれを行うことができます!ゴルフをしていないバージョンの下で何が起こっているのか説明しようと思います。

Go to Post Office: west 1st left 1st right 1st left.
Pickup a passenger going to The Babelfishery.
Go to The Babelfishery: south 1st left 1st right.
Pickup a passenger going to Sunny Skies Park.
Go to Sunny Skies Park: north 1st left 1st left 1st right.
[a]
Go to Heisenberg's: north 1st right 1st right 3rd right.
Pickup a passenger going to Cyclone.
Go to Go More: north 1st left 3rd left 3rd left.
Go to Starchild Numerology: east 2nd right.
62 is waiting at Starchild Numerology.
Pickup a passenger going to Cyclone.
Go to Cyclone: east 1st left 2nd right.
Pickup a passenger going to What's The Difference.
Pickup a passenger going to Divide and Conquer.
Pickup a passenger going to Divide and Conquer.
Go to Divide and Conquer: north 2nd right 2nd right 1st right.
Pickup a passenger going to Trunkers.
Go to Trunkers: east 1st right 3rd right 1st left.
Pickup a passenger going to Multiplication Station.
Go to Cyclone: west 2nd right.
Pickup a passenger going to Multiplication Station.
Go to Multiplication Station: south 1st left 2nd right 4th left.
Pickup a passenger going to What's The Difference.
Go to What's The Difference: north 2nd left 1st right 3rd left.
Pickup a passenger going to Addition Alley.
Go to Starchild Numerology: east 1st right 3rd left 2nd right.
1 is waiting at Starchild Numerology.
63 is waiting at Starchild Numerology.
Pickup a passenger going to Addition Alley.
Pickup a passenger going to The Underground.
Go to Addition Alley: east 1st left 2nd right 3rd right 1st right.
Pickup a passenger going to Joyless Park.
Go to Writer's Depot: north 1st left 1st left.
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789- is waiting at Writer's Depot.
Pickup a passenger going to Chop Suey.
Go to Joyless Park: north 3rd right 2nd right 2nd left.
Go to Chop Suey: west 1st right 1st right 1st left.
[b]
Pickup a passenger going to Narrow Path Park.
Go to Narrow Path Park: north 1st left 1st right 1st left.
Go to The Underground: east 1st right.
Switch to plan "c" if no one is waiting.
Pickup a passenger going to The Underground.
Go to Fueler Up: south.
Go to Chop Suey: north 3rd right 1st left.
Switch to plan "b".
[c]
Go to Joyless Park: north 1st right.
Pickup a passenger going to The Underground.
Go to Narrow Path Park: west 1st right 3rd left.
[d]
Pickup a passenger going to KonKat's.
Go to KonKat's: east 1st right.
Pickup a passenger going to KonKat's.
Go to The Underground: south.
Switch to plan "e" if no one is waiting.
Pickup a passenger going to The Underground.
Go to Fueler Up: south.
Go to Narrow Path Park: north 4th left.
Switch to plan "d".
[e]
Go to KonKat's: north.
Pickup a passenger going to Riverview Bridge.
Go to Riverview Bridge: north 1st left.
Go to Narrow Path Park: east 1st left 1st right.
Pickup a passenger going to Post Office.
Go to Post Office: east 1st right 4th right 1st left.
Go to Sunny Skies Park: south 1st right 1st left 1st right.
Pickup a passenger going to The Underground.
Go to The Underground: north 1st right 1st right 2nd right.
Switch to plan "f" if no one is waiting.
Pickup a passenger going to Sunny Skies Park.
Go to Sunny Skies Park: north 3rd left 2nd left 1st left.
Switch to plan "a".
[f]

開始:stdinの取得stdin
値をテキストとして取得し、数値に変換して、待機する場所に貼り付けます。

プランAパート1:ランダムな整数を
取得1〜62ランダムな整数を取得し62てから、数値として取得します。ランダムな整数と62後で必要になるため、両方を複製します。一度に3人の乗客しか運ぶことができないためrand、最終的に、、randおよびになり62ます。(もう一方62は、戻るまで待機します。)除算を実行rand62、結果を切り捨てて整数を取得します。に戻り、他のコピーを取得62し、除算から切り捨てられた整数を乗算します。最後に、の最初のコピーから製品を減算しますrand。これにより、0〜61の数字が得られます。ここで、ピックアップaに戻って1結果に追加し、1-62を取得する必要があります。はい、これらの多くのテキスト行はすべて単なるmod(rand(),62)+1です。

計画Aパート2:
すべての有効な文字と不要な最後の文字を含む文字列を選択するために選択する文字の配列を作成します(詳細は後ほど)。63私たちは、この文字列の長さは、以前のマッチを拾いました。それをChop Sueyに引き渡して、個々の乗客に分割します。

プランB:文字を
1つずつ選択し、すべての文字をNarrow Path Parkに移動できるように配列を移動します。それは利用可能な唯一のスタックであり、残りの乗客が邪魔にならないようにする唯一の方法です。タウンズバーグの他のすべてはFIFOであるため、ループ全体を繰り返すたびに戻ってすべての乗客を片付ける必要があります。この方法で、私は彼らを公園に置いておくことができ、毎回63人の新しいキャラクターによって邪魔にならないようにします。最初のものA決して逃げられないでしょ

プランC:キャラクターを選択する準備
これは、実際にはプランDにいる必要のないほんの数駅です。準備中のタクシーの位置を変更します。

プランD:私たちはすべての文字を取得いけない欲しい
逆に「アレイ」の最初の文字から開始します(これは、我々が望んでいない第63文字です)、私たちはその結果からカウントダウンとして拾うと文字を連結しておくmod機能プランAで。ゼロをヒットすると、次のキャラクターが希望のキャラクターになります。

計画E:不要なものをDrれ、選択したものを返します。
「[P] Riverview Bridgeで降りた乗客は、常に横から川に落ちているように見えます...」それは、連なる敗者の列を取り除きます。次のキャラクターを選択して、標準出力に送信します。最後に、これまでに印刷した文字数を確認しましょう。Sunny Skiesに戻って、ずっと前に残したstdin値を取得します。1を減算し、結果がゼロより大きい場合は、それを返送して待機し、プランAからやり直します。


これはチューリング完全言語ですか?聞いたことない?もしそうなら、これは史上最長のゴルフの答えとなるかもしれません!
maple_shaft

4
@maple_shaftタクシーはちょっとおもしろいですが、これが最長のゴルフの答えではないことを保証できます。真剣にそれを破るいくつかの単項回答があります。
エンジニアトースト

1
@maple_shaft掘りました。PPCGで見つけられる最大の回答は、@ Dennis♦からのこの回答の元のバージョンです(もちろんDennis♦です)が、それcode-bowlingは修正されたものです。code-golf私が見つけることができた最も長い答えは、基本的なクインチャレンジに関するオリジナルのBrain-Flak提出です。9.5 * 10 ^ 580バイトで送信されます。私が見つけた最も長い現在の答えは、単項の素数テスター:1.65 * 10 ^ 56バイトでした。
エンジニアトースト


6

ゼリー、5 バイト

トリックを逃した-ais523の4バイターを参照

ØBX$€

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

どうやって?

ØBX$€ - Main link: n
    € - for each in range(n):
   $  -   last two links as a monad:
ØB    -     "base digits" - yields list of chars "01..9AB...Zab...z"
  X   -     random choice

UTF-8文字が1バイトの長さであるとは考えませんか?
m13r

@ m13r Jellyには独自のコードページがあります-回答のヘッダーにあるバイトをクリックして表示します。
ジョナサンアラン

5

シェル+ pwgen、13バイト

pwgen -s $1 1

-s、-secure

完全にランダムな、覚えにくいパスワードを生成します。

サンプル出力

%pwgen -s 10 1
2cyhLovbfT

5

Java 8、183 149 97 88バイト

n->{for(int t;n-->0;t*=Math.random(),System.out.printf("%c",t+=t>9?t>35?61:55:48))t=62;}

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

@ 2501のC回答を移植して-9バイトなので、必ず彼も賛成してください!

古い回答、97バイト

n->{for(int t;n-->0;t*=Math.random(),System.out.printf("%c",t>9?(t<36?65:97)+t%26:48+t%10))t=62;}

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

説明:

n->{                           // Method with integer parameter and String return-type
  for(int t;                   //  Temp integer
      n-->0                    //  Loop the input amount of times:
      ;                        //    After every iteration:
       t*=Math.random(),       //     Set `t` to a random integer in the range [0,62)
       System.out.printf("%c", //     Print as character:
         t+=                   //      The random integer, after we've added:
            t>9?               //       If the random integer is larger than 9:
             t>35?             //        If the random integer is larger than 35:
              61               //         Add 61
             :                 //        Else:
              55               //         Add 55
            :                  //       Else:
             48))              //        Add 48
    t=62;}                     //   (Re)set `t` to 62 for the random

n->{for(int t;n-->0;t*=Math.random(),System.out.printf("%c",...))t=62;}
                               // Similar as above
         t>9?                  //      If the random integer is larger than 9:
          (t<36?               //       If the random integer is smaller than 36:
            65                 //        Start with 65 ('A')
           :                   //       Else:
            97)                //        Start with 97 ('a')
               +t%26           //       And add the random integer modulo-26
         :                     //      Else:
          48                   //       Start with 48 ('0')
            +t%10)             //       And add the random integer modulo-10


4

雪だるま、58バイト

((}#`""*:48vn58nR|65vn91nR,aC|97vn123nR,aCAsH1AaL#aC*;bR))

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

これは、整数を入力として受け取り、ランダムな文字列を返すサブルーチンです。

((             subroutine
  }            make b, e, g active
  #`           e = input (from +)
  ""*          store an empty string in +
  :            what follows is the block to prepend a random char to +
    48vn58nR|  generate range(48..58) and place in g (need b and e for next step)
    65vn91nR   generate range(65..91) in b
    ,aC|       move g to e, concatenate b and e, and move the result to g
    97vn123nR  generate range(97..123) in b
    ,aC        move g to e, concatenate b and e, keeping the result in b
    AsH        shuffle the array of candidate ASCII codes stored in b
    1AaL       equivalent to 0aAwR - get the first element wrapped in an array
    #aC        retrieve + and prepend the randomly generated character
    *          store back into +
  ;bR          repeat this block e times, where e has been set to the input
))             output is given via +

次のようになります((}#`""*:48vn58nR|65vn91nR,aC|97vn123nR,aCAsH1AaL#aC*;bR))
2501

@ 2501ああ、あなたは正しい。修正済み、ありがとう。
ドアノブ

4

PowerShell、58 54バイト

-4 Andrei Odegovに感謝-ループを使用してchar配列を作成する代わりにchar配列にキャストします。

-join[char[]](65..90+97..122+48..57|random -C "$args")

1..2+4..5 = 1,2,4,5許容されるすべての文字コードの範囲を生成し、$args使用してランダムに要素の数を選択しますrandom -Count-結果の要素はループ処理|%{}されて[char]s に変換され、使用してcharの配列にキャストされます[char[]]-その後、全体が括弧でカプセル化され、-join一緒に編集されます

PS C:\users\sweeneyc\Desktop> .\grstr.ps1 5
oaCE5
PS C:\users\sweeneyc\Desktop> .\grstr.ps1 10
UReh6McG7D
PS C:\users\sweeneyc\Desktop> .\grstr.ps1 30
t1YrhZf5egyzqnPlWUKV3cEoIudMTs

パラメーターにGet-Random1より大きい数値のみを受け入れるため、0の入力では機能しません-Count


取得したバイトの配列を単一の整数としてcharの配列にキャストできます。:これは、4バイト節約するのに役立ちます-join[char[]](65..90+97..122+48..57|random -C "$args")
アンドレイOdegov



2

Perl 5、41バイト

40バイトのコード+ -pフラグ。

$\.=(a..z,A..Z,0..9)[rand 62]for 1..$_}{

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

(a..z,A..Z,0..9)すべての文字と数字を含む配列を作成し、[rand 62]この配列のランダム要素を返します。これは、にappend(.=$\され、-pflagのおかげで暗黙的に最後に印刷され}{ます。


または、同じバイトカウントに対して、標準入力ではなくパラメーターを使用する場合:

print+(a..z,A..Z,0..9)[rand 62]for 1..pop

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


2

R、51バイト

他のR回答と同じ長さですが、アプローチが異なります。

cat(sample(c(letters,LETTERS,0:9),scan(),T),sep="")

lettersそしてLETTERS両方が内蔵されているすべての下限と大文字を含む変数それぞれ。それに加え0:9て、英数字のセット全体があります。


2

R、54 52 51 49バイト

intToUtf8(sample(c(65:90,97:122,48:57),scan(),T))

説明:

  1. 入力整数nを読み取ります。scan()
  2. ASCII値を持つベクトル: c(65:90,97:122,48:57)
  3. 置換を伴うn個の ASCII値のサンプル:sample(c(65:90,97:122,48:57),scan(),T)
  4. ASCII値を文字列に変換します intToUtf8

同じ長さの別のアプローチを見つけました。
JAD

これは2バイト保存する私を助け@JarkoDubbeldamグッドアイデア、
スヴェン・ホー

ど!良い仕事:)
JAD

2

JavaScript(ES6)、61 54 39 52 64バイト

これはほとんど逆ゴルフのようなものです!3つのグループすべての文字がすべて使用されるように、バイトカウントが大幅に増加しました。

f=n=>n--?btoa(String.fromCharCode(Math.random()*248))[0]+f(n):""
  • 再帰関数を使用するというArnauldの提案のおかげで、(1段階で)15バイト節約されました。

それを試してみてください

f=n=>n--?btoa(String.fromCharCode(Math.random()*248))[0]+f(n):""
i.addEventListener("input",_=>o.innerText=f(+i.value))
<input id=i type=number><pre id=o>


@Arnauldという3つの文字グループすべてが含まれるように更新しました。私はそれらを2つ以上含むことができるインデックスを見つけようとしています。再帰的なオプションを提案してくれてありがとう。
シャギー

私はこのアイデアが好きですが、あなたは今だけでキャラクターを生成していると思います[0-5w-z]
アーナルド

btoa(String.fromCharCode(Math.random()*248))[0]範囲全体を均一にカバーすることをお勧めします。
アーナウド

気づいたのは、自分自身、@ Arnauld。toString3つのグループすべてからの全範囲の文字が返されることを保証するために、両方の方法(変換してからエンコード)を組み合わせる必要があるようです。
シャギー

それは良いですが、まだ不完全です:(014589ABEFIJMNQRUVYZcdghklopstwxそして均一ではありません)。
アーナルド

2

アリス、24バイト

/w9u"Uz;r
\0.rdao"ki@/t&

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

このレイアウトは、私が最初に持っていたもの(32バイト)よりも既にはるかに優れていますが、まだ最適ではないはずです...

説明

/      Reflect to SE. Switch to Ordinal.
       The IP now bounces diagonally up and down through the code.
09     Append 0 and 9 to an (implicit) empty string to create "09".
r      Range expansion, turns the string into "0123456789".
"az"   Push this string.
r      Range expansion, turns it into the lower-case alphabet.
i      Read all input as a string.
/      Reflect to E. Switch to Cardinal.
t      Implicitly convert the input string to the integer value N it
       contains and decrement it.
&      Run the next command N-1 times.
       The IP wraps around to the first column.
\      Reflect to NE. Switch to Ordinal. (This is not a command.)
w      Push the current IP address to the return address stack N-1
       times. This starts a loop whose body will run N times.
  .      Duplicate the lower-case alphabet.
  u      Convert it to upper case.
  d      Push the concatenation of all values on the stack. This pushes
         a single string with digits, lower-case and upper-case alphabet.
  U      Random choice. Pick a character from this string uniformly at random.
  o      Print it.
  ;      Discard the upper-case alphabet, because it will be regenerated
         in the next loop iteration (and if we leave it, then upper-case
         letters will become more and more likely as the output grows).
k      As long as there is still an address on the return address stack,
       jump back to that address (i.e. to the w). Once the return address
       stack has been depleted, this does nothing and the loop is exited.
@      Terminate the program.


2

Python 2、79 83 79バイト

import random as r,string as s;lambda x:''.join(r.sample(s.printable[:62]*x,x))

+4バイト(繰り返しを考慮していません)

-4バイト(を使用するための提案について@Rodに感謝printable[:62]


1
動作しません。繰り返しを含む必要があります。(s.letters+s.digits)*x代わりに修正することができますs.letters+s.digits
ロッド

@Rod修正、ありがとう!
ワンダークリケット

また、使用することができます`r.sample(...)`[2::5]代わりに''.join(r.sample(...))バイト(のpython 2のみ)を保存することと(s.letters+s.digits)*xして切り替えることができるs.printable[:62]*x4バイト救うために
ロッド

@Rod提案をありがとう。実装しましたがprintable、機能しませんでした[2::5](おそらく間違っていましたか?)
Wondercricket

あなたは、リストを囲む必要がありr.sample()、バッククォートで`` それについていくつかの情報
ロッド



1

バッチ、175バイト

@set s=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
@for /l %%i in (1,1,%1)do @call :c
@echo %s:~62%
:c
@set/an=%random%%%62
@call set s=%s%%%s:~%n%,1%%

s英数字リストとランダムに選択された文字の両方が含まれているため、ここで二重の義務を果たします。結果を出力した後、コードは、結果が無視されるサブルーチンに進みます。


1

Pyke、4バイト

~JfH

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

~J   -   "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
  f  -  cominbations(^, length=input)
   H - random.choice(^)

これは3を超える入力では機能しないようで、同じ文字を複数回生成できるかどうかはわかりません。
アタコ

これは3を超える入力では機能しません。ここで試してみました:pyke.catbus.co.uk
m13r

1 GBのRAMについては、このニーズわずか4つの文字の英数字の文字列を作成するには...プログラムがクラッシュしたと10の入力のための仕事にそれを取得できませんでしたMemoryError
M13R

1

Pyth、7 11バイト

O^s++rG1GUT

オンラインで試す

説明

O^s++rG1GUT
    +rG1G      Take the uppercase and lowercase alphabets.
   +     UT    Add it to the list [0, ..., 9].
  s            Concatenate to get a string.
 ^         Q   Get all strings of length N.
O              Choose one at random.

これには、小文字のアルファベットと数字のみが含まれ、大文字は含まれません
-Blue

@muddyfish良いキャッチ。一定。

1

C#-121バイト

void g(int n){Console.Write(Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(new Random().Next().ToString())).Substring(0,n));}

1

APL(Dyalog)AGL、17のバイト

(⎕A,∆a,⎕D)[?⎕⍴62]

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

(... )[... ] インデックスへ

⎕A,∆a,⎕D 大文字のアルファベットとそれに続く小文字のアルファベットと数字

を使用して

62 (可能なシンボルの数

形を変えた

 評価された入力(n

? 各62を1〜62の範囲の乱数に変更します

APL(APLX)、17バイト

(⎕A,⎕a,⎕D)[?⎕⍴62]


1

ピップ、13バイト

LaORCz.AZ.J,t

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

説明

               a is cmdline arg; t is 10; z is lcase alphabet; AZ is ucase (implicit)
La             Do the following, a times:
  O             Output (without newline)
   RC           random choice from:
     z           Lowercase letters
      .AZ        concatenated with uppercase letters
         .J,t    concatenated with range(10) joined into a string

1

Sinclair ZX81 / Timex TS1000 / 1500 BASIC、最大63トークン化されたBASICバイト

 1 INPUT N
 2 IF NOT N THEN STOP
 3 FOR N=SGN PI TO N
 4 PRINT CHR$ (CODE "A"+RND*26);
 5 NEXT N

ZX81には、アセンブリを使用したり、UDG ROMなどを持たない小文字はなく、当分の間は出力のみA-Zです。ゼロを入力すると、プログラムは停止し、ダイレクトモードに戻ります。



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