ෆියු , 423 බයිට්
Fueue ධාවන වැඩසටහන වන පෝලිමේ මත පදනම් esolang වේ වේ පෝලිමේ.
)$$4255%%1(~):[)$$24%%0:<[~:)~)]~[$11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<]](H-):~:[)[):~[)~:~~([:~)*[):~[$1(+48]):~+]-:~~)10)~~]/]+:5):]~:](106328966328112328136317639696111819119696281563139628116326221310190661962811611211962861109696289611619628116111612896281115421063633063961111116163963011632811111819159628151213262722151522061361613096119619190661966311961128966130281807072220060611612811961019070723232022060611
එය මාර්ගගතව උත්සාහ කරන්න!
එය ක්රියාත්මක වන ආකාරය
මෙම පැහැදිලි කිරීම අතපසු වී හෝ නොතිබෙන්නට පුළුවන . අනෙක් අතට, මිනිසුන්ට අනුගමනය කළ හැකි යැයි මා සිතන ආකාරයට එය වඩා කෙටි ලෙස විස්තර කරන්නේ කෙසේදැයි මම නොදනිමි .
ෆියු චේට් ෂීට්
මෙම වැඩසටහනේ භාවිතා නොකරන ලද අංග කිහිපයක් ඇතුළුව විස්තර සඳහා esolang wiki ලිපිය බලන්න .
ආරම්භක වැඩසටහන යනු පහත දැක්වෙන අංග අඩංගු විය හැකි පෝලිමේ ආරම්භක තත්වයයි:
- පූර්ණ සංඛ්යා (ප්රභවයේ negative ණ නොවන නමුත් negative ණාත්මක ඒවා පමණක් ගණනය කළ හැකිය), ඒවා ක්රියාත්මක කිරීමෙන් අක්ෂරයක් මුද්රණය වේ.
- චතුරස්රාකාර වර්ගයෙන් වෙන් කරන ලද කැදැලි කුට්ටි, නිෂ්ක්රීය (සමහර ශ්රිත ඒවා මත ක්රියා නොකරන්නේ නම් නොවෙනස්ව සංරක්ෂණය කර ඇත).
- කාර්යයන්, ඔවුන්ගේ තර්ක පෝලිම්වල වහාම අනුගමනය කරන අංග වේ:
+*/-%
: නිඛිල අංක ගණිතය ( -
ඒකීය, %
තාර්කික නිෂේධනය). සංඛ්යා තර්ක ලබා නොදුනහොත් නිෂ්ක්රීය කරන්න.
()<
: වරහන් තුළ මූලද්රව්යය තබන්න, වාරණයෙන් වාරණ ඉවත් කරන්න, අවහිර කිරීමට අවසාන අංගය එක් කරන්න. බ්ලොක් එකක් අනුගමනය නොකරන්නේ නම් දෙවැන්න නිෂ්ක්රීය වේ.
~:
: හුවමාරු කරන්න, අනුපිටපත් කරන්න.
$
: පිටපත් කරන්න (අංක + මූලද්රව්යය ගනී). අංකයට පෙර නිෂ්ක්රීය කරන්න.
H
: වැඩසටහන නවත්වන්න.
[]
කූඩුව සිටියදී , ()
එසේ නොකරන්න - දෙවැන්න හුදෙක් වෙනම කාර්යයන් බව සලකන්න .
ක්රියාත්මක කිරීමේ හෝඩුවාව සින්ටැක්ස්
ඉලක්කම් අතර හැර, වයිට්ස්පේස් ෆියු හි අත්යවශ්ය නොවේ. පහත දැක්වෙන ක්රියාත්මක කිරීමේ හෝඩුවාවන්හිදී, විශේෂයෙන් වැඩසටහන් ව්යුහය යෝජනා කිරීමට එය භාවිතා කරනු ඇත:
- ශ්රිතයක් ක්රියාත්මක වන විට, එය සහ එහි තර්ක අවකාශයේ ඇති අවට මූලද්රව්ය වලින් ඉවත් වේ. සමහර තර්ක සංකීර්ණ නම්, ඒවා අතර අවකාශයක් ද තිබිය හැකිය.
- බොහෝ ution ාතන අංශු වම් පසින් “ප්රමාද පිපිරීමක්” ලෙස බෙදා ඇති අතර, සැලකිය යුතු දත්ත හැසිරවීමක් සිදු කරන කොටසක සිට දකුණට වෙන් කරනු ලැබේ. ඊළඟ කොටස බලන්න.
{}
ගණිතමය ප්රකාශනවල පූර්ණ සංඛ්යා ප්රති result ල නිරූපණය කිරීම සඳහා හෝඩුවාවන්හි කැරලි වරහන් (ෆියු හි භාවිතා නොවේ) භාවිතා වේ. මෙයට negative ණ සංඛ්යා ඇතුළත් වේ, ෆියු හි ඇත්තේ negative ණාත්මක නොවන වචනාර්ථයන් පමණි - -
එය නිෂේධන ශ්රිතයයි .
විවිධ වෙනස් කළ හැකි නම් සහ ...
ඒවා අගයන් සහ කෙටි යෙදුම් දැක්වීමට භාවිතා කරයි.
උපක්රම ප්රමාද කිරීම
බුද්ධිමත්ව, පෝලිම වටා ක්රියාත්මක කිරීමේ චක්ර, එය හරහා ගමන් කරන දේ අර්ධ වශයෙන් වෙනස් කිරීම. ශ්රිතයක ප්රති results ල ඊළඟ චක්රය තෙක් නැවත ක්රියාත්මක කළ නොහැක. වැඩසටහනේ විවිධ කොටස් එකිනෙකට සම්බන්ධ නොවන තාක් සමාන්තරව පරිණාමය වේ.
එහි ප්රති As ලයක් ලෙස, කේත බොහොමයක් සමමුහුර්තකරණය සඳහා වෙන් කර ඇත, විශේෂයෙන් වැඩසටහනේ කොටස් නියමිත වේලාවට ක්රියාත්මක කිරීම ප්රමාද කිරීම සඳහා. මෙය ගොල්ෆ් කිරීම සඳහා විකල්ප රාශියක් ඇත, එමඟින් එම කොටස් කියවිය නොහැකි බ්ලොබ් බවට පත් කිරීමට නැඹුරු වන අතර ඒවා තේරුම් ගත හැක්කේ ඒවායේ ක්රියාත්මක කිරීමේ චක්රය චක්රයෙන් සොයා ගැනීමෙන් පමණි.
මෙම උපක්රම සැමවිටම පහත සඳහන් පරිදි තනි තනිව සඳහන් නොවේ.
)[A]
A
චක්රයක් සඳහා ප්රමාදයි . (බොහෝ විට පහසුම හා වඩාත්ම කියවිය හැකි ක්රමයයි.)
~ef
මූලද්රව්ය මාරු කරයි e
සහf
වන ඔවුන්ගේ ක්රියාත්මක පමා කරයි. (බොහෝ විට කියවිය හැකි අවම, නමුත් බොහෝ විට සුළු ප්රමාදයන් සඳහා කෙටිම වේ.)
$1e
තනි මූලද්රව්යයක් ප්රමාද කරයි e
.
-
සහ %
සංඛ්යා ප්රමාද කිරීම සඳහා ප්රයෝජනවත් වේ (දෙවැන්න සඳහා 0
සහ 1
.)
- පේළියක සමාන මූලද්රව්ය කිහිපයක් ප්රමාද කිරීමේදී
:
හෝ $
තනි එකකින් ඒවා නිර්මාණය කිරීමට භාවිතා කළ හැකිය.
(n
හකුළා n
පසුව පහසුව ඉවත් කළ හැකි අල්ලු, දී. සංඛ්යාත්මක ගණනය කිරීම් සඳහා මෙය විශේෂයෙන් වැදගත් වේ, මන්දයත් සංඛ්යා මුලින් අස්ථායී බැවින් ඒවා පිටපත් කිරීමට පවා නොහැකි ය.
සමස්ත ව්යුහය
ඉතිරි පැහැදිලි කිරීම කොටස් හතකට බෙදා ඇත, එක් එක් ධාවන වැඩසටහනේ කොටසක් සඳහා. ඔවුන්ගෙන් බොහෝ දෙනෙක් පුනරාවර්තනය වන විශාල චක්රයන් මුළු පෝලිම හරහා තනි ගමන් මාර්ගවල “චක්ර” වලින් වෙන්කර හඳුනා ගැනීම සඳහා “පුනරාවර්තන” ලෙස හැඳින්වේ.
ආරම්භක වැඩසටහන ඔවුන් අතර බෙදී ඇති ආකාරය මෙන්න:
A: )$$4255%%1(~
B: ):[)$$24%%0:<[~:)~)]~[$11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<]]
C:
D: (H-
E:
F:
G: ):~:[)[):~[)~:~~([:~)*[):~[$1(+48]):~+]-:~~)10)~~]/]+:5):]~:](106328966328112328136317639696111819119696281563139628116326221310190661962811611211962861109696289611619628116111612896281115421063633063961111116163963011632811111819159628151213262722151522061361613096119619190661966311961128966130281807072220060611612811961019070723232022060611
වැඩසටහනේ අවසානයේ ඇති විශාල ඉලක්කම් ඉතිරි කොටස ප්රතිලෝමව සංකේතවත් කරයි, අක්ෂරයකට ඉලක්කම් දෙක බැගින් වන අතර එක් එක් ASCII අගයෙන් 30 ක් අඩු කරනු ලැබේ (උදා: 10
a (
.
ඉහළ මට්ටමක දී ඔබට මෙම වැඩසටහනේ දත්ත (බිග්නම් වලින් පටන් ගෙන) දකුණේ සිට වමට ගලා යන බවක් සිතිය හැකි නමුත් වමේ සිට දකුණට ගලායාම පාලනය කරන්න. කෙසේ වෙතත්, පහළ මට්ටමේ දී ෆියු විසින් සෑම විටම කේතය සහ දත්ත අතර වෙනස අවුල් කරයි.
- G කොටස මඟින් බිග්නම් ASCII ඉලක්කම් වලට විකේතනය කරයි (උදා:
0
පූර්ණ සංඛ්යා ලෙස ඉලක්කම් 48
), අවම වශයෙන් සැලකිය යුතු ඉලක්කම් පළමුව බෙදයි. එය සෑම චක්ර 15 කටම එක් ඉලක්කම් නිපදවයි.
- E කොටසේ ඒවා පරිභෝජනය කරන තෙක් නිෂ්පාදිත ඉලක්කම් ASCII අගයන් (එක් එක් කොටස තුළ) F කොටසේ අඩංගු වේ.
- E කොටස මඟින් නිෂ්පාදිත ඉලක්කම් වරකට දෙකක් හසුරුවමින් ඒවා පෝරමයේ කොටස් වලට සම්බන්ධ කරයි
[x[y]]
, තවද එක් එක් යුගලයේ කේතනය කළ අක්ෂරය මුද්රණය කරයි.
- D කොටස ක්රමානුකූලව ඉදිකරන ලද ගැඹුරින් කැදැලි කොටුවකින් සමන්විත වේ
[x[y]]
එය සියලු ඉලක්කම් අඩංගු වූ පසු ඒවා සියල්ලම මුද්රණය කර ධාවනය කර සම්පූර්ණ වැඩසටහනම නවතා දැමිය හැකිය.
- සී කොටසේ ඩී කොටස ඉදිකිරීම හසුරුවන අතර ඊ කොටස නැවත ප්රතිනිර්මාණය කරයි.
- B කොටස C කොටස මෙන්ම සෑම චක්ර 30 කටම ප්රතිනිර්මාණය කරයි.
- A කොටස අනෙක් කොටස්වල අවසාන ක්රියාකාරීත්වය තෙක් චක්ර ගණනය කරයි. ඉන්පසු එය B කොටස නවතා D කොටස ක්රියාත්මක කරයි.
A කොටස
කොටස A වැඩසටහනේ අවසානය උපලේඛනගත කිරීම හසුරුවයි. තනි හුවමාරු ශ්රිතයක් දක්වා අඩු කිරීමට චක්ර 4258 ක් ගත ~
වන අතර, එමඟින් B කොටසට ගැලපීමක් සිදු කරන අතර එහි ප්රධාන ලූපය නවතා D කොටස ක්රියාත්මක කිරීමට පටන් ගනී.
)$ $4255% %1 (~
)$%%%...%% %0 [~]
)$%%%...% %1 [~]
⋮
)$ %0 [~]
) $1[~]
)[~]
~
- ඒ
$
කාර්යය පහත පිටපත් 4255 නිර්මාණය %
වූ අතර (
තබා ඇත්තේය ~
වරහන්.
%
පහත දැක්වෙන අංකය 0
සහ අතර ටොගල් කිරීම සඳහා සෑම චක්රයක්ම අන්තිම භාවිතා 1
වේ.
- සියළුම
%
s භාවිතා කරන විට, (effectively ලදායී ලෙස NOP) $1
1 පිටපතක් සාදයි [~]
, ඊළඟ චක්රයේ )
වරහන් ඉවත් කරයි.
බී කොටස
B කොටස සෑම චක්ර 30 කටම නැවත ප්රතිනිර්මාණය කිරීම මෙන්ම C කොටසෙහි නව ක්රියාවක් සිදු කරයි.
) : [)$$24%%0:<[~:)~)]~[$11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<]]
) [)$$24%%0:<[~:)~)]~[$11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<]] [BkB]
)$ $24% %0 :< [~:)~)] ~ [$11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<] [BkB]
)$ %...%%% %1 < < [~:)~)] [BkB] [$11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<]
)$ %...%% %0 < [~:)~)[BkB]] [$11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<]
)$ %...% %1 [~:)~)[BkB][$11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<]]
⋮
) $1 [~:)~)[BkB][$11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<]]
) [~:)~)[BkB][$11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<]] (1)
~:) ~)[BkB] [$11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<]
) : [BkB] ) [$11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<] (2)
) [BkB] [BkB] $11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<
- ඒ
:
(ලෙස සංක්ෂිප්ත එක් පිටපතක් පහත ලොකු වාරණ අනුපිටපත් [BkB]
පසුව,) )
පළමු පිටපත සිට වරහන් ඉවත් කරයි.
$$24%%0
A කොටසේ ඇති අංකයට සමාන ගණන් කිරීමක් සකසයි.
- මෙය ගණන් කරන විට,
:<
හැරී <<
, ~
කුට්ටි දෙකක් මාරු කරමින් , නව කොටසක් සඳහා කේතය අවසන් වරට තබයි.
- මෙම
<
කාර්යයන් දෙක අවසාන කුට්ටි දෙක පළමු එකට ඇසුරුම් කරයි - මෙය සාමාන්ය පුනරාවර්තනවල අතිරික්ත වේ, නමුත් ~
A කොටසේ සිට අවසානයේ එහි කාර්යය කිරීමට ඉඩ දෙනු ඇත .
- (1) ගණන් කිරීම අවසන් වූ විට
)
, පිටත වරහන් ඉවත් කරයි. ඊළඟ ~:)
මාරුවෙන් මාරුවට බවට ):
හා ~)
හුවමාරු වූ)
කොටස සී කේතය ආරම්භයට.
- (2) බී කොටස දැන් එහි ආරම්භක චක්රයට පැමිණ ඇති අතර,
)
සී කොටසේ නව ක්රියාවලියක් ආරම්භ කිරීම සඳහා වරහන් ඉවත් කිරීමට ආසන්නව ඇත.
අවසාන පුනරාවර්තනයේදී, ~
A කොටසේ සිට ඉහත (1) ස්ථානයේ දිස්වේ:
~ ) [~:)~)[BkB][$11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<]] (1)
[~:)~)[BkB][$11~)~<[[+$4--498+*-:~-10)):])<~][)))~]<]] )
මෙම ~
හුවමාරු වන )
නැවත ක්රියාත්මක කරන සිට කොටස බී වැළැක්වීම, වාරණ හරහා කොටස සී බවට.
සී කොටස
සී කොටසේ නව ඉලක්කම් අක්ෂර යුගල ඩී කොටසට ඒකාබද්ධ කිරීම සහ ඊ කොටසේ නව පුනරාවර්තන නිර්මාණය කරයි.
දර්ශන සමඟ සාමාන්ය ප්රතිඵලයක්ම පහත x
හා y
ඉලක්කම් වෙනමත් 'ASCII කේත නියෝජනය. පළමු පුනරාවර්තනයේ දී, එන "ඩී" සහ "ඊ" මූලද්රව්ය ආරම්භක වන [H]
අතර -
ඒ වෙනුවට, පෙර කිසිදු අංශයක් ඉලක්කම් අක්ෂර යුගල නිපදවීමට ධාවනය කර නැත.
C D E
$11~ ) ~<[[+$4--498+*-:~-10)):])<~] [)))~] < [)))~[...]] [x[y]]
~~~ ~~~ ~~~ ~~) [[+$4--498+*-:~-10)):])<~] < [)))~] [)))~[...][x[y]]]
~~~ ~~~ ) ~ [[+$4--498+*-:~-10)):])<~] [)))~[)))~[...][x[y]]]]
~~~ ~ ) [)))~[....]] [[+$4--498+*-:~-10)):])<~]
~~[)))~[....]] )[[+$4--498+*-:~-10)):])<~]
[)))~[....]] ~[+$4--498+*-:~-10)):])<~
- මෙම පිළිතුර සඳහා මා විසින් සොයාගත් වෙනස් සමමුහුර්ත ක්රමයක් මෙය භාවිතා කරයි. ඔබ swap කාර්යයන් කිහිපයක් ඇති විට
~
පිට පිට, පේළිය 2/3 ක් පමණ එක් එක් චක්රයක් (එක් නිසා හැකිලීමක් ~
හුවමාරු දෙකක් පහත සඳහන්) නමුත් ඉඳහිට ක ඉතිරි සමග, ~
එම රටේ මත හානියක් ගෙන ප්රවේශමෙන් හසුරුවමින් පහත දේ.
$11~
එවැනි පේළියක් නිපදවයි. ඊළඟ ~
වූ හුවමාරු <
පහත සඳහන් වාරණ හරහා. තවත් එකක් <
අවසානයේ නව කොටසේ යුගල බ්ලොක් එකක් (ඉලක්කම් x සහ y ASCII කේත ලෙස) D කොටසට එකතු කරයි.
- ඊළඟ චක්රයේ,
~
පේළියේ ඉතිරියක් ඇති අතර ~~
, එය ~
පහත දැක්වෙන දේ ඉක්මවා යයි )
. අනෙක <
D කොටස කොටසකට එකතු කරයි [)))~]
.
- ඊළඟට හුවමාරු
~
වූ තැනැත්තා පහත කොටස බ්ලොක් කොටසේ නව කොටසේ ඊ කේතය සමඟ හුවමාරු කරයි. එවිට නව බයිනයක් ~
වූ හුවමාරු )
හරහා ද, සහ අවසාන පසුගිය ~~
තුළ ~
සාධාරණ ලෙස කොටස ඊ හරහා ඔවුන් පේළිය ස්වැප් එක් )
එහි වරහන් ඉවත් කර ඇත.
අවසාන පුනරාවර්තනයේ දී, A හි කොටස B කොටස හරහා සහ C කොටසට ~
මාරු කර )
ඇත. කෙසේ වෙතත්, C කොටස කෙටිකාලීන බැවින් එය දැනටමත් අතුරුදහන් වී ඇති අතර,)
D කොටස ආරම්භයේ දී අවසන් වේ.
ඩී කොටස
D කොටස අවසාන විශාල සංඛ්යා මුද්රණය කිරීම සහ වැඩසටහන නතර කිරීම හසුරුවයි. බොහෝ වැඩසටහන් ක්රියාත්මක වන විට, එය නිෂ්ක්රීය කොටසකි, B-G කොටස් ගොඩනැගීමට සහයෝගය දක්වයි.
(H -
[H]-
⋮
[)))~[H-]] After one iteration of section C
⋮
[)))~[)))~[H-][49[49]]]] Second iteration, after E has also run
⋮
) [)))~[...]] [49[48]] Final printing starts as ) is swapped in
))) ~[...][49[48]]
)) )[49[48]] [...]
)) 49 [48][...] Print first 1
) )[48] [...]
) 48 [...] Print 0
)[...] Recurse to inner block
...
⋮
)[H-] Innermost block reached
H - Program halts
- වැඩසටහනේ පළමු චක්රයේ දී, වරහන් තුළ
(
නතර කිරීමේ කාර්යය H
ඔතා. ඒ -
එය වෙනුවට ඉලක්කම් යුගල පළමු ප්රතිඵලයක්ම සඳහා ආදර්ශ අංගයක් ලෙස භාවිතා කරනු ඇත, පහත සඳහන්.
- සංස්ථාගත කරන ලද පළමු තාත්වික යුගලය, ඉලක්කම්වල
[49[49]]
අවසාන අගයට අනුරූප වේ 11
.
- අන්තිම ඉලක්කම් යුගල
[49[48]]
(මෙම අනුරූප 10
යන සංඛ ාංකය ආරම්භයේ දී) ඇත්තටම වාරණ ඇතුළත් නොවේ, නමුත් මේ ලෙස කිසිදු වෙනසක් )[A[B]]
සහ )[A][B]
දෙකම බවට හැරෙමින් සමාන වන අතර, A[B]
.
අවසාන පුනරාවර්තනයෙන් පසුව, )
B කොටසේ සිට දකුණට මාරුවීම පැමිණෙන අතර D කොටස අවහිර කරනු ලැබේ. මෙම )))~
එක් එක් උප-වාරණ ආරම්භයේ දී සියලු කොටස් අයිතිය සඳහා ක්රියාත්මක වන බවට වග බලා කරයි. අවසාන වශයෙන් අභ්යන්තරයේ ඇති කොටසෙහි H
වැඩසටහන නතර කිරීම අඩංගු වේ .
ඊ කොටස
E කොටස G කොටස මඟින් නිපදවන ASCII ඉලක්කම් යුගල ඒකාබද්ධ කරන අතර දෙකම අනුරූපී කේතනය කරන ලද අක්ෂරය මුද්රණය කරන අතර ඒකාබද්ධ යුගලය සමඟ වම්පස C සහ D කොටස් වෙත වාරණයක් යවයි.
නැවත වැඩසටහන් සමග සාමාන්ය ප්රතිඵලයක්ම පහත x
හා y
ඉලක්කම් වෙනමත් 'ASCII කේත නියෝජනය.
E F
~ [+$4--498+*-:~-10)):] ) < ~ [y] [x]
) [+$4--498+*-:~-10)):] < [x] [y]
+ $4- - 498 +*- :~ -10 ) ) : [x[y]]
+--- -{-498} +*- ~~{-10} ) ) [x[y]] [x[y]]
+-- - 498 +* -{-10} ~ ) x [y] [x[y]]
+- -{-498} + * 10 x )[y] [x[y]]
+ - 498 + {10*x} y [x[y]]
+ {-498} {10*x+y} [x[y]]
{10*x+y-498} [x[y]]
[x[y]]
- එන ඉලක්කම් කුට්ටි මාරු කර, පසුව y බ්ලොක් x බ්ලොක් එකට එකතු වන අතර, මුළු යුගල කොටසම පිටපත් කරනු ලැබේ. සී සහ ඩී කොටස් සඳහා එක් පිටපතක් අවසානය දක්වා ඉතිරි වේ.
- අනෙක් පිටපත යළිත් අවහිර කර ඇති අතර, ගණනය කිරීම සඳහා අංක ගණිත ශ්රිත අනුක්රමයක් යොදනු ලැබේ
10*x+y-498
, සංකේතාත්මක අක්ෂරයේ ASCII අගය. 498 = 10*48+48-30
මෙම 48
ගේ ASCII කේතනය නැති x
හා y
අතර 30
සිට සංකේතවත් මුර 00–99
කිරීමට 30–129
සියලු මුද්රිත ASCII ද ඇතුළත් වන,.
- එහි ප්රති number ලයක් ලෙස ඇති අංකය ක්රියාත්මක කිරීමට ඉතිරි වන අතර එමඟින් එහි අක්ෂරය මුද්රණය වේ.
එෆ් කොටස
F කොටස ASCII ඉලක්කම් සහිත නිෂ්ක්රීය කොටස් වලින් සමන්විත වේ. බොහෝ වැඩසටහන් ක්රියාත්මක වන විට මෙහි උපරිම වශයෙන් දෙකක් පවතිනු ඇත, මන්ද E කොටස ඒවා G නිපදවන වේගයෙන් පරිභෝජනය කරයි. කෙසේ වෙතත්, අවසාන මුද්රණ අදියරේදී අතිරික්ත 0
ඉලක්කම් කිහිපයක් මෙහි එකතු වේ.
[y] [x] ...
ජී කොටස
වැඩසටහනේ අවසානයේ විශාල සංඛ්යාවක් බෙදීම, අවම වශයෙන් සැලකිය යුතු ඉලක්කම් පළමුව, සහ ඔවුන්ගේ ASCII කේත සමඟ බ්ලොක් අනෙක් කොටස් වෙත යැවීම G කොටස මඟින් සිදු කරයි.
එය නැවැත්වීමේ චෙක්පතක් නොමැති බැවින්, 0
එම අංකය 0 දක්වා අඩු වූ විට සංඛ්යාංක නිපදවීම දිගටම කරගෙන යනු ඇත H
.
[BkG]
නව ආරම්භක ක්රියාවන් ආරම්භ කිරීම සඳහා ස්වයං අනුරූකරණය සඳහා භාවිතා කරන විශාල ආරම්භක කේත වාරණයේ පිටපතක් සංක්ෂිප්ත කරයි.
පළමු චක්රයේ ආරම්භ කිරීම:
) :~ : [)[):~[)~:~~([:~)*[):~[$1(+48]):~+]-:~~)10)~~]/]+:5):]~:] ( 106328966328112328136317639696111819119696281563139628116326221310190661962811611211962861109696289611619628116111612896281115421063633063961111116163963011632811111819159628151213262722151522061361613096119619190661966311961128966130281807072220060611612811961019070723232022060611
) ~ ~ [)[):~[)~:~~([:~)*[):~[$1(+48]):~+]-:~~)10)~~]/]+:5):]~:] [BkG] [10...11]
) [)[):~[)~:~~([:~)*[):~[$1(+48]):~+]-:~~)10)~~]/]+:5):]~:] ~ [BkG] [10...11]
) [):~[)~:~~([:~)*[):~[$1(+48]):~+]-:~~)10)~~]/]+:5):] ~ : [10...11] [BkG]
සාමාන්ය පුනරාවර්තනය, N
බෙදීමට අංකය දක්වයි:
) [):~[)~:~~([:~)*[):~[$1(+48]):~+]-:~~)10)~~]/]+:5):] ~ : [N] [BkG]
) :~ [)~:~~([:~)*[):~[$1(+48]):~+]-:~~)10)~~]/]+ :5 ) : [N] : [BkG]
) ~ ~ [)~:~~([:~)*[):~[$1(+48]):~+]-:~~)10)~~]/] +5 5 ) [N] [N] [BkG] [BkG]
) [)~:~~([:~)*[):~[$1(+48]):~+]-:~~)10)~~]/] ~ 10 N [N] [BkG] [BkG]
) ~:~ ~ ( [:~)*[):~[$1(+48]):~+]-:~~)10)~~] / N 10 [N] [BkG] [BkG]
) ~ : [:~)*[):~[$1(+48]):~+]-:~~)10)~~] ( {N/10} [N] [BkG] [BkG]
) [:~)*[):~[$1(+48]):~+]-:~~)10)~~] : [{N/10}] [N] [BkG] [BkG]
:~ )*[):~[$1(+48]):~+]- :~ ~)10 ) ~ ~ [{N/10}] [{N/10}] [N] [BkG] [BkG]
~~) *[):~[$1(+48]):~+]- ~~10 ) ) [{N/10}] ~ [{N/10}] [N] [BkG] [BkG]
) ~ * [):~[$1(+48]):~+] -10 ~ ) {N/10} [N] [{N/10}] [BkG] [BkG]
) [):~[$1(+48]):~+] * {-10} {N/10} ) [N] [{N/10}] [BkG] [BkG]
) :~ [$1(+48]) :~ + {-10*(N/10)} N [{N/10}] [BkG] [BkG]
) ~ ~ [$1(+48] ) ~ ~ {N%10} [{N/10}] [BkG] [BkG]
) [$1(+48] ~ ) {N%10} ~ [{N/10}] [BkG] [BkG]
$1( + 48 {N%10} ) [BkG] [{N/10}] [BkG]
( {48+N%10} BkG [{N/10}] [BkG] New iteration starts
[{48+N%10}] ....
- මෙහි ප්රමාද පිපිරීම විශේෂයෙන් කෙස් කළඹකි. කෙසේ වෙතත්, එකම නව ප්රමාද කිරීමේ උපක්රමය වන්නේ චක්ර දෙකක් ප්රමාද කිරීම
+:5
වෙනුවට භාවිතා කිරීමයි . අහෝ, මෙම වැඩසටහනේ එක් අයෙකු පමණි .--10
10
10
- මෙම
[N]
සහ [BkG]
කුට්ටි පසුව එක් පිටපතක්, දෙබිඩි ඇත N
විසින් වෙන් කර ඇත 10
.
[{N/10}]
අනුපිටපත් කර ඇති අතර, අවසාන අංකයේ ASCII කේතය ගණනය කිරීම සඳහා තවත් අංක ගණිත ශ්රිත භාවිතා N
කරයි 48+((-10)*(N/10)+N)
. මෙම ASCII කේතය සහිත කොටස F කොටස සඳහා ඉතිරිව ඇත.
- නව පිටපතක ආරම්භය සැකසීම සඳහා අනෙක් පිටපත කොටස්
[{N/10}]
අතර හුවමාරු [BkG]
වේ.
බෝනස් ක්වයින් (බයිට් 540)
)$$3371%%1[~!~~!)!]):[)$$20%%0[):]~)~~[)$$12%%0[<$$7%~~0):~[+----48+*-~~10))]<]<~!:~)~~[40~[:~))~:~[)~(~~/[+--48):]~10]+30])):]]][)[H]](11(06(06(21(21(25(19(07(07(19(61(96(03(96(96(03(11(03(63(11(28(61(11(06(06(20(18(07(07(18(61(11(28(63(96(11(96(96(61(11(06(06(19(20(07(07(18(61(30(06(06(25(07(96(96(18(11(28(96(61(13(15(15(15(15(22(26(13(12(15(96(96(19(18(11(11(63(30(63(30(96(03(28(96(11(96(96(61(22(18(96(61(28(96(11(11(96(28(96(61(11(96(10(96(96(17(61(13(15(15(22(26(11(28(63(96(19(18(63(13(21(18(63(11(11(28(63(63(63(61(11(61(42(63(63
එය මාර්ගගතව උත්සාහ කරන්න!
කුමන ක්රමය කෙටිම වේ දැයි මට නොතේරුණු හෙයින්, මම මුලින් උත්සාහ කළේ අක්ෂර අංක දෙකකින් වෙන් කොට සංඛ්යා කේතනය කිරීමට ය (
ය. මූලික කේතය ටිකක් කෙටි නමුත් 50% විශාල දත්ත නිරූපණය ඒ සඳහා සෑදී ඇත. අනෙකා තරම් ගොල්ෆ් ක්රීඩාවක් නොවේ, එය පරාජය නොවන බව මට වැටහුණු විට මම නතර කළෙමි. එයට එක් වාසියක් ඇත: එයට බිග්නම් ආධාරයෙන් ක්රියාත්මක කිරීම අවශ්ය නොවේ.
එහි සමස්ත ව්යුහය ප්රධාන ව්යුහයට තරමක් සමාන ය. දත්ත නිරූපණය F කොටසේ කෙලින්ම පුරවන බැවින් G කොටස අස්ථානගත වී ඇත. කෙසේ වෙතත්, ඉලක්කම් දෙකේ ඉලක්කම්වල ඉලක්කම් ප්රතිනිර්මාණය කිරීම සඳහා E කොටස සමාන ද්විමාන ගණනය කිරීමක් කළ යුතුය.