▶ 実 行
▶ 実行
クリア
Hah圧縮
by ヨッシー
単語=「単語をいれてください」を尋ねる くぎり=「くぎり数をいれてください」を尋ねる 母音=[「a」,「e」,「i」,「o」,「u」,「y」] 「元の単語:」&単語を表示 くぎりで単語をHah圧縮して、Aに代入して、表示 母音とくぎりで単語をHah圧縮2して、Bに代入して、表示 くぎりで単語をソートHah圧縮して、Cに代入して、表示 母音とくぎりで単語をソートHah圧縮2して、Dに代入して、表示 くぎりで単語をランダムソートHah圧縮して、Eに代入して、表示 くぎりで単語をランダムソートHah圧縮して、Fに代入して、表示 AとBとCとDとEとFでランダム単語化して、表示 くぎりで単語を逆Hah圧縮して、表示 ●(母音で文字を)母音判定 母音を反復 もし、文字が対象なら、1を戻す ここまで 0を戻す ここまで ●Hah圧縮(くぎりで単語を) 「全て」の実行速度優先 I=0 K=0 tango=[「」] L=0 もし、(くぎりの変数型確認)が「string」ならば、 (単語の文字数)回、繰り返す もし、!Lならば、 tango@K=(tango@K)&(単語@I) I=I+1 もし、単語@(I)=くぎりならば K=K+1 I=I+1 L=1 tango@K=「」 ここまで 違えば、 L=0 ここまで ここまで 違えば、 F=0 N=0 (単語の文字数)回、繰り返す tango@K=(tango@K)&(単語@I) I=I+1 N=N+1 もし、(!(I%くぎり))||(!F&&((3)=(((単語の文字数)-(I)))))&&(N>2)&&(2<(単語の文字数)-(I))ならば、 もし、くぎり>((単語の文字数)-(I))なら、F=1 K=K+1 N=0 tango@K=「」 ここまで ここまで ここまで できた=「」 K=0 (tangoの配列要素数)回、繰り返す できた=(できた)&(tango@Kで1文字左部分)&(tango@Kで1文字右部分) K=K+1 ここまで それ=できた ここまで ここまで ●逆Hah圧縮(くぎりで単語を) I=0 K=0 tango=[「」] L=0 もし、(くぎりの変数型確認)が「string」ならば、 (単語の文字数)回、繰り返す もし、!Lならば、 tango@K=(tango@K)&(単語@I) I=I+1 もし、単語@(I)=くぎりならば K=K+1 I=I+1 L=1 tango@K=「」 ここまで 違えば、 L=0 ここまで ここまで 違えば、 F=0 N=0 (単語の文字数)回、繰り返す tango@K=(tango@K)&(単語@I) I=I+1 N=N+1 もし、(!(I%くぎり))||(!F&&((3)=(単語の文字数)-(I)))&&(N>2)&&(2<(単語の文字数)-(I))ならば、 もし、くぎり>((単語の文字数)-(I))なら、F=1 K=K+1 N=0 tango@K=「」 ここまで ここまで ここまで できた=「」 K=0 (tangoの配列要素数)回、繰り返す tango@Kの1から1だけ文字削除。それをtango@Kに代入 tango@Kの((tango@K)の文字数)から1だけ文字削除して、それをtango@Kに代入 できた=(できた)&(tango@K) K=K+1 ここまで それ=できた ここまで #母音と子音のかたまりを1文字とみなします #母音は配列で表記 ●Hah圧縮2(母音とくぎりで単語を) 「全て」の実行速度優先 I=0 II=1 C=0 V=0 T=0 K=0 M=0 L=0 tango=[「」] tango2=[0] nagasa1=[0] nagasa2=[0] (単語の文字数)回、繰り返す もし、くぎり=(単語@I)なら、続ける tango@K=(tango@K)&(単語@I) もし、((母音で(単語@I)を母音判定)!=T)ならば、 T=!T II=II+1 M=M+1 tango2[M]=1 もし、((母音で(単語@(I+1))を母音判定)!=T)||(((母音で(単語@(I+1))を母音判定)=0)&&(T=0)&&(単語@I!=単語@(I+1)))ならば、 C=!(II%くぎり) #もし、V!=0ならば、 # C=V # V=0 #ここまで 違えば C=0 #V=!(II%くぎり) ここまで もし、(!L)&&(tango@Kの文字数)>1ならば、 nagasa1@(K)=tango2[M-1] L=1 ここまで 違えば C=!(II%くぎり) tango2[M]=tango2[M]+1 ここまで I=I+1 もし、(C&&!((I+くぎり)>(単語の文字数)))ならば nagasa2@K=tango2[M] K=K+1 tango@K=「」 L=0 ここまで ここまで nagasa2@K=tango2[M] できた=「」 K=0 (tangoの配列要素数)回、繰り返す できた=(できた)&(tango@Kで(nagasa1[K])文字左部分)&(tango@Kで(nagasa2[K])文字右部分) K=K+1 ここまで それ=できた ここまで ここまで ●ソートHah圧縮(くぎりで単語を) 「全て」の実行速度優先 I=0 K=0 t=[] tango=[「」] (単語の文字数)回、繰り返す tango@K=単語@K&「,」&K K=K+1 ここまで tangoを配列ソート できた=「」 K=0 F=0 (tangoの配列要素数)回、繰り返す もし、(F=0)&&(!(I%くぎり)||((I%くぎり)=(くぎり-1)))ならば、 t@K=(tango@I)で3から((tango@Iの文字数)-2)文字抜出 K=K+1 ここまで もし、(!F)&&(I>=((tangoの配列要素数)-くぎり))ならば、 F=1 t@K=(tango@((tangoの配列要素数)-1))で3から((tango@((tangoの配列要素数)-1)の文字数)-2)文字抜出 ここまで I=I+1 ここまで tを配列数値ソート できた=「」 tを反復 できた=できた&((単語@対象)で1文字左部分) ここまで それ=できた ここまで ここまで ●ソートHah圧縮2(母音とくぎりで単語を) I=0 K=0 t=[] tango=[「」] boin=[「」] siin=[「」] (単語の文字数)回、繰り返す tango@K=単語@K&「,」&K K=K+1 ここまで K=0 F=0 tangoを反復 もし、(母音で(tango@Fで1文字左部分)を母音判定)=1ならば、 boin@K=tango@F K=K+1 違えば、 siin@I=tango@F I=I+1 ここまで F=F+1 ここまで できた=「」 K=0 F=0 I=0 boinを反復 もし、(F=0)&&(!(I%くぎり)||((I%くぎり)=(くぎり-1)))ならば、 t@K=(boin@I)で3から((boin@Iの文字数)-2)文字抜出 K=K+1 ここまで もし、(!F)&&(I>=((boinの配列要素数)-くぎり))ならば、 F=1 t@K=(boin@((boinの配列要素数)-1))で3から((boin@((boinの配列要素数)-1)の文字数)-2)文字抜出 K=K+1 ここまで I=I+1 ここまで F=0 I=0 siinを反復 もし、(F=0)&&(!(I%くぎり)||((I%くぎり)=(くぎり-1)))ならば、 t@K=(siin@I)で3から((siin@Iの文字数)-2)文字抜出 K=K+1 ここまで もし、(!F)&&(I>=((siinの配列要素数)-くぎり))ならば、 F=1 t@K=(siin@((siinの配列要素数)-1))で3から((siin@((siinの配列要素数)-1)の文字数)-2)文字抜出 ここまで I=I+1 ここまで tを配列数値ソート できた=「」 tを反復 できた=できた&((単語@対象)で1文字左部分) ここまで それ=できた ここまで ●ランダムソートHah圧縮(くぎりで単語を) 「全て」の実行速度優先 I=0 K=0 t=[] tango=[「」] (単語の文字数)回、繰り返す tango@K=単語@K&「,」&K K=K+1 ここまで tangoを配列シャッフル できた=「」 K=0 F=0 (tangoの配列要素数)回、繰り返す もし、(F=0)&&(!(I%くぎり)||((I%くぎり)=(くぎり-1)))ならば、 t@K=(tango@I)で3から((tango@Iの文字数)-2)文字抜出 K=K+1 ここまで もし、(!F)&&(I>=((tangoの配列要素数)-くぎり))ならば、 F=1 t@K=(tango@((tangoの配列要素数)-1))で3から((tango@((tangoの配列要素数)-1)の文字数)-2)文字抜出 ここまで I=I+1 ここまで tを配列数値ソート できた=「」 tを反復 できた=できた&((単語@対象)で1文字左部分) ここまで それ=できた ここまで ここまで ●(AとBとCとDとEとFで)ランダム単語化 Am=Aの文字数 Bm=Bの文字数 Cm=Cの文字数 Dm=Dの文字数 Em=Dの文字数 Fm=Dの文字数 H=[Am,Bm,Cm,Dm,Em,Fm] Hを配列数値ソートして、Hに代入 基本単語=A もし、H@0=Amならば、 基本単語=A 違えば、もし、H@0=Bmならば、 基本単語=B 違えば、もし、H@0=Cmならば、 基本単語=C 違えば、もし、H@0=Dmならば、 基本単語=D 違えば、もし、H@0=Emならば、 基本単語=E 違えば、もし、H@0=Fmならば、 基本単語=F ここまで ランダム単語=「」 I=0 (基本単語の文字数)回、繰り返す Z=乱数(6) もし、!Zならば、 ランダム単語=ランダム単語&A@I 違えば、もし、Z=1ならば、 ランダム単語=ランダム単語&B@I 違えば、もし、Z=2ならば、 ランダム単語=ランダム単語&C@I 違えば、もし、Z=3ならば、 ランダム単語=ランダム単語&D@I 違えば、もし、Z=4ならば、 ランダム単語=ランダム単語&E@I 違えば、もし、Z=5ならば、 ランダム単語=ランダム単語&F@I ここまで I=I+1 ここまで ランダム単語を戻す ここまで