TI-Basic(83シリーズ)、137バイト
For(I,1,length(Ans
Ans+sub(sub(Ans,I,1)+"ABCDEFGHIJKLMNOPQRSTUVWXYZ",1+int(2rand)inString("abcdefghijklmnopqrstuvwxyz",sub(Ans,I,1)),1
End
sub(Ans,I,I-1
Ans
以下のスクリーンショットに示すように、入力を受け取ります。
(スクリーンショットがスクランブルされているように見える場合は、時々そうですが、新しいタブで開いてみてください?)
TI-Basic(少なくともTI-83バージョン...たぶんTI-89ゴルフに分岐する必要があります)は、このチャレンジをゴルフに挑戦するためのひどい言語です。
- 文字を使用した算術演算、大文字バージョンの小文字の認識、さらにはアルファベットの認識もまったくサポートしていません。
- すべての小文字は、保存に2バイトかかります。(実際、小文字を入力するためだけにアセンブリスクリプトを使用する必要がありました。)
結果は、このプログラムの78バイト(半分以上)がアルファベットを2回だけ格納していることです。
とにかく、アイデアは、文字列をループして、小文字を大文字に変換し、結果を文字列の最後に追加して、入力と出力の両方がに格納されるようにすることAns
です。私たちが去るときにFor(
ループを、I
そう取って、元の文字列の長さより1つ多いですI-1
から始まる文字をI
出力を提供します。