プログラミングのお題スレ Part11

■ このスレッドは過去ログ倉庫に格納されています
2018/04/24(火) 20:45:14.49ID:ZY7R7Sru
プログラミングのお題スレです。

前スレ
プログラミングのお題スレ Part10
https://mevius.5ch.net/test/read.cgi/tech/1514772904/

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。
2018/05/15(火) 16:23:07.72ID:eMeQgyCY
SIPやアプリや5chがどういう文字コードを扱ってどういう変換をしてるかがわからん
これは調べたり実験しないと

教えたがりの書き込みは全く役に立ってないから
書かなくて良いよ
釈迦に説法
2018/05/15(火) 17:54:36.17ID:SykJSNjw
>>401
いちいち突っかかるお前も大概だがな
黙って見ているってこともできないのか
2018/05/15(火) 18:01:31.83ID:44/Iysj7
できますん
2018/05/15(火) 18:18:50.58ID:GoFwWa3N
5ch はシフトJISだから1バイトのバックスラッシュは基本書けないし読めない
(U+00A5に対応する文字コードがない)
実体参照の使用が許可されてる板なら実体参照でU+00A5の字も書ける
fcfc はわかんないな

ググるとfcfcはシフトjisのibm拡張文字領域で、
aixの修正された不具合の説明で文字コード変換の際に
意味のないコードfcfcになるのがどうのこうのというページがあったから
libicu(ibmの文字コード関係ライブラリ。割と広く使われている)で
そういう不具合のあるバージョンがあるんだろうな
2018/05/15(火) 18:28:51.68ID:KcubxIhK
テキストファイルっていっぱい種類あるね
2018/05/15(火) 18:34:45.23ID:GoFwWa3N
>>404の補足
5ch は投稿されたfcfcをそのまま出してるだけで、
誤変換しているのは投稿しているアプリ

それはそれとしてこの板ではバックスラッシュ使いたいよね
2018/05/15(火) 19:26:38.75ID:CiGj6Ypo
>>404
U+00A5がYen signじゃろ…
408デフォルトの名無しさん
垢版 |
2018/05/15(火) 19:52:19.95
この板ではバックスラッシュも円マークも両方書き込める

実例↓

文字コード総合スレ Part11
https://mevius.5ch.net/test/read.cgi/tech/1516629503/116
409デフォルトの名無しさん
垢版 |
2018/05/15(火) 20:10:00.78ID:r6+CqG6i
\\\\\\\\
できるかな?
410デフォルトの名無しさん
垢版 |
2018/05/15(火) 20:10:17.25ID:r6+CqG6i
お。できた。
411デフォルトの名無しさん
垢版 |
2018/05/15(火) 20:33:46.64ID:sy5AMFlu
日本人にも責任がある


【666の獣トランプ涙目w】 2000年ぶりにWあの漢″帰郷の噂… <再臨> イスラエル、また処刑する!?
http://rosie.5ch.net/test/read.cgi/liveplus/1526351394/l50
2018/05/15(火) 21:02:46.10ID:GoFwWa3N
>>407
そっかごめん訂正
u+00A5 はシフトjisの0x5c に変換されて書けるけど、
ユニコードの u+005c のバックスラッシュは書けない、が正解だった。
2018/05/15(火) 21:10:05.44ID:GoFwWa3N
バックスラッシュと言えば Visual Studio で c のソース編集時に
バックスラッシュが表示されてて、文字コードはshift jisなのに何故?

と思ってたが Visual Studio では0x5Cがどっちで表示されるかはフォント任せなんだな
shift jis (cp932) では円マークと規定されてるのに。
2018/05/15(火) 21:31:34.51ID:K0qtXPJ7
>>396
何事も、ニワカな奴ほど語りたがるからしゃーない
2018/05/15(火) 23:45:05.24ID:1bAdW6Zs
数学コンプだけじゃなくて文字コードコンプまで発症したのかw
2018/05/16(水) 00:37:59.02ID:G4b5C/G+
頭がおかしいんだから仕方ないね
精神科のお薬飲んで寝ろ
2018/05/16(水) 00:41:48.15ID:Ncn1UiZB
>>378
Kotlin
(1)のみ
https://paiza.io/projects/XTGPpBdI1JBYNmglXvOEOw
2018/05/16(水) 00:54:59.23ID:tDn46mBr
禁煙の立て札の前でタバコを吸う数学奴文字コード奴であった。
419デフォルトの名無しさん
垢版 |
2018/05/16(水) 01:24:47.67
>>378
C言語 (1)(2)のみ
https://ideone.com/8l7ZKv
2018/05/16(水) 08:04:36.25ID:PomcYnKY
そんなに数学挑みたいならこれでもどうぞ
お題
2つ以上の正の整数が与えられる
この時、最後を除く自然数に対し四則演算及び括弧を使い数式を作ることで、最後の自然数と同値にせよ
複数の数式が考えられる場合、どれか1個を出力すれば良い

入力例1: 5 2 3 3 10
出力例1: -5+(2+3)*3=10
入力例2: 0 1
出力例2: Impossible
421デフォルトの名無しさん
垢版 |
2018/05/16(水) 09:13:18.66ID:hkrElRSY
だから数学問題は新スレ作ってそっちでやれって。
2018/05/16(水) 09:43:42.04ID:L2yt4rd4
飲食禁止の貼り紙の前でクチャクチャと音を立ててキムチを食す数学奴
2018/05/16(水) 09:51:29.86ID:9Q3+56hM
極度の数学コンプとそれを煽る人達のせいで訳わからなくなってるな
数学コンプの人らは数学に関するすべてを禁止したスレを立ててそっちに移住したほうが平和なんじゃないの
2018/05/16(水) 09:54:01.27ID:+2MSwW5R
スレが荒れるなら分岐したほうがいいのかね
プログラミングのお題スレ(数学)
みたいに
あんまり人がいないなら別にこのスレでも良いと思うがな(俺は)
2018/05/16(水) 09:55:32.06ID:+2MSwW5R
>>423
なるほど、禁止するなら
プログラミングのお題スレ(数学禁止 )
こうだな
こっちでもいいな
426デフォルトの名無しさん
垢版 |
2018/05/16(水) 09:57:33.06ID:OColoMR4
プログラミングのお題には数学要素のあるもの多いな
2018/05/16(水) 10:38:31.46ID:wFCVkaLn
>>420と同じようなのをやった気がするなとログ探したらやっぱりやってた…3年以上前やw

プログラミングのお題スレ Part6(c)2ch.net
https://peace.5ch.net/test/read.cgi/tech/1418278634/148,703
2018/05/16(水) 11:00:45.42ID:ZRgXOqOF
>>426
数学要素があること自体はいいんだけど、数学的に解いたら後は手計算の代わりに入出力と演算をプログラムにやらせるだけっていうお題は興醒めというか面白味がないね。
2018/05/16(水) 11:20:13.71ID:+GN46IIl
でもO(1)かどうか確かめられない人がほとんどなんでしょう
430デフォルトの名無しさん
垢版 |
2018/05/16(水) 11:37:48.24ID:OColoMR4
お題スレ Part9 では、
tan() の値が有理数になる場合についての
数学的証明が活発に議論されていたな
431デフォルトの名無しさん
垢版 |
2018/05/16(水) 12:03:53.05
数学者がプログラミングの領域にしゃしゃり出てくんなや

プログラミングはExcel方眼紙を操る文系の神聖不可侵領域なんや
432デフォルトの名無しさん
垢版 |
2018/05/16(水) 12:05:10.39ID:OGup9rVZ
ディープラーニングとかAIとかモロ数学(知識)では?
433KAC
垢版 |
2018/05/16(水) 12:46:11.09ID:2T+9VrOe
>>425
電子計算機に数学禁止て。。。
434デフォルトの名無しさん
垢版 |
2018/05/16(水) 13:00:55.70ID:danjk40Q
プログラミングも一応数学の一部ではあるけどな。計算手順だし。
しかしプログラミングのお題として数学問題そのまま出されると数学的に頭で考えるだけで解けてしまってあまり意味がないだろう。
コンピュータに計算をさせるという要素がなくなりプログラミングのお題にならない。それは数学のお題だ。
435デフォルトの名無しさん
垢版 |
2018/05/16(水) 13:15:33.84ID:sHhzsQ4l
>>430 の過去スレの有理数・無理数の問題が数学問題で、

このスレの>>420 は、プログラミング問題だな。
2018/05/16(水) 13:38:52.63ID:qWxCSmvP
>>420
「同値」の意味くらいは知っておいた方が良いかと
2018/05/16(水) 13:41:34.46ID:qWxCSmvP
>>428
プログラムってのはそういうもんだろ
人間が考えたアルゴリズムを言語という形にするだけ
438デフォルトの名無しさん
垢版 |
2018/05/16(水) 13:50:27.54ID:danjk40Q
数学ってアルゴリズム考える所までで終わりじゃない?算数や物理じゃないから式に値を入れて計算して答えを出す所までやる必要がなくて、式そのものを求めて終わり。
2018/05/16(水) 16:05:28.01ID:VFom9laO
このスレで数学って言ってるのは
式だけじゃなくアルゴリズムまで含んでる気がするけど

アルゴリズムは数学じゃないっていうなら
>>420なんか数学的要素ゼロになっちゃう
2018/05/16(水) 16:31:09.13ID:+2MSwW5R
プログラミング的な試行錯誤のあるお題を考えるのって難しくない?
まぁ俺には数学的なお題を考えるのも難しいが
2018/05/16(水) 16:45:00.22ID:FMmnnu2E
あらら、やっぱ>>420はもう出てたか
よくある設定だし既出かもなーとは思ったが
2018/05/16(水) 17:39:15.65ID:o2zART+W
キムチ臭いアホが粘着しとるの〜
443デフォルトの名無しさん
垢版 |
2018/05/16(水) 17:57:39.97ID:GCTrNDIc
>>439
まあ、式を複雑にしたのがアルゴリズムみたいなものかな。
で、コンピュータを使う理由は普通はプログラムを作るためではなくて、実際にプログラムを動かして計算させて結果を得るためだ。
正解となるプログラムを作った段階で終わりにはしない。
2018/05/16(水) 20:43:44.00ID:EIfldPOx
式とアルゴリズムは別物
計算アルゴリズムが存在しない式もある
2018/05/16(水) 21:02:26.88ID:IfIzhtS9
>>443はネタでしょ?さすがにw
2018/05/16(水) 21:57:47.05ID:+GN46IIl
やっぱり不気味だよ
例えば>>275なんて最終盤面がU・D・L・R(上下左右)とUR・UL・DR・DL(左上・右上・左下・右下)の8つしか無いだろ
2回計算して終わりじゃん
2018/05/16(水) 22:02:29.19ID:9Q3+56hM
>>446
2回で終わらないでしょ
頭冷やせ
448デフォルトの名無しさん
垢版 |
2018/05/16(水) 22:18:33.87
2回かどうかは知らんが、最後に2パターンのうちの一つを作って回転もしくは反転させるだけだわな
入力ごとに馬鹿正直に駒を動かすようなプログラムを組む奴は壊滅的にセンスが欠けている
449デフォルトの名無しさん
垢版 |
2018/05/16(水) 22:20:40.95ID:RliGnokV
数学禁止
2018/05/16(水) 22:21:06.29ID:9Q3+56hM
>>448
題意を正しく理解していないね
2018/05/16(水) 23:06:35.35ID:wFCVkaLn
ごちゃごちゃ言う前にプログラム書けばええねん
452デフォルトの名無しさん
垢版 |
2018/05/16(水) 23:40:38.01ID:7XX9JZjA
お題:
以下のように操作を繰り返して単一リストになったらその要素を返す

[1,2,3,4,5,6,7,8,9]
-> [5,1,13,2,21,3,29,4]
-> [16,16,41,1,66,38,91]
-> [8,8,124,69,33,19]
(中略)
-> [4,216]
-> [2]

テスト例:
[1,2,3,4,5,6,7,8,9] -> 2
[9,8,7,6,5,4,3,2,1] -> 2496
[3,1,4,1,5,9,2,6,5,3,5,8,9,7,9,3,2,3,8,4,6] -> ?
2018/05/16(水) 23:47:47.04ID:BkqCgF0J
操作がわからん
2018/05/17(木) 00:33:16.76ID:AhjFsLsi
操作を考える問題
と思う
2018/05/17(木) 00:49:29.06ID:ZPdPUxd5
>>452 Java
https://ideone.com/QcHstO
456デフォルトの名無しさん
垢版 |
2018/05/17(木) 00:59:40.10
>>455
要素が1個になるまで繰り返す
奇数の場合3で掛けて右の数値を足す
配列の右端を切り捨てる

とか、どこ情報なの?

こんなの読み取らなきゃいけないのなんて「プログラミングのお題」ではない
こんな糞問題出すなや >>452
2018/05/17(木) 01:17:23.95ID:AhjFsLsi
誰でも簡単に出来るお題じゃあつまらんから
数学だったりパズルだったりの要素があってもいいかと
2018/05/17(木) 01:18:03.17ID:AhjFsLsi
答えが出ちゃうとツマランな
2018/05/17(木) 01:21:37.58ID:gNx9x5kd
自演じゃなくても疑われるぞ
460デフォルトの名無しさん
垢版 |
2018/05/17(木) 01:25:32.48
>>456
1行目間違えた

偶数の場合2で割る
2018/05/17(木) 01:37:26.94ID:wTjk4UUR
なぜ朝鮮人はプログラムを書かないのか
それは書かないからではなくて「書けない」からである
462デフォルトの名無しさん
垢版 |
2018/05/17(木) 02:42:47.50ID:OtjvMXsk
>>456
算数クイズだな
2018/05/17(木) 03:16:08.71ID:W4Rt98V+
>>450
題意はわかってるけど頭の中でコマを動かせないんだと思うぞ
2018/05/17(木) 03:38:37.62ID:W4Rt98V+
>>488
例えばこんな風に動くとかわかる?
よく考えてみて

元のボード
abcdefghi.
12345678..
..........

'DRUL' 適用
1abcdefgh.
2345678i..
..........

もう一度'DRUL' 適用
21abcdefg.
345678ih..
..........

さらに'DRUL' 適用
321abcdef.
45678ihg..
..........
2018/05/17(木) 06:04:53.73ID:w9FSok0P
ああ>>446, >>448は勝手に駒の区別をしないことにしたうえで難癖付けてたのか
プログラミング以前に日本語のセンスが「壊滅的に欠けている」なw
2018/05/17(木) 09:34:22.60ID:rKf91ggF
日本語の問題なんだろうなとは俺も思った。それにしてもちょっとでもコーディングしてみれば勘違いに気づきそうなものだが…
コーディングしない系プログラマなのか
2018/05/17(木) 09:59:33.05ID:hUdRfKOZ
×コーディングしない系プログラマ
◎コーディングはできない、プログラマでもない、人にいちゃもんつけるのが得意なだけの嫌われ者
2018/05/17(木) 10:56:01.19ID:rKf91ggF
ボコボコに突っ込まれてて得意でもなさそうだけどw
469デフォルトの名無しさん
垢版 |
2018/05/17(木) 12:19:48.40
>>465
俺はIQ高いから頭ん中でシミュレーションしてみたんだわ
ただ、駒が全部真っ黒で見分けが付かなかった
すまんな
2018/05/17(木) 18:14:45.68ID:vz9Ov7AZ
このスレもう4年以上経つのか
時の流れって怖すぎだよな
471デフォルトの名無しさん
垢版 |
2018/05/17(木) 20:04:17.63ID:6aDUZAbl
>>464
それってそんなにコマ沢山使わなくてもわかるよね。
3つのコマを2*2の4枠の中に入れれば傾けるだけでくるくる回せるから。
2018/05/17(木) 20:12:27.33ID:3vBIE/+x
>>471
>>446で本人が言っている8種
>>448で反転だの言ってるからその倍にして16種

結果の盤面がそれ以下のバリエーションだと
「やっぱり8種類以下しかないじゃないか!」とかになるだけだろ
2018/05/17(木) 20:17:32.90ID:3vBIE/+x
もちろんもっと少ないコマでも結果が16種より多くなる盤面はあるけど、
幾らでも多くなるよというのをイメージしやすいように大きめにした
474デフォルトの名無しさん
垢版 |
2018/05/17(木) 23:21:27.20ID:R4VP18xe
>>358
勉強をかねてこれやってるが、ある程度、できたところでアップしてみる。
考えてる方針が速いとはおもうが・・・
2018/05/18(金) 00:07:34.10ID:c9tlPD2i
>>378 HTML5 + Web Audio API
(1) を音声出力
https://ideone.com/9aOhLO
2018/05/18(金) 00:12:59.38ID:sQiKCRHm
>>475
これ面白いな
477デフォルトの名無しさん
垢版 |
2018/05/18(金) 00:27:29.87
お題

スペース区切りで入力された文字列をすべて含むリング状の文字列を出力し、
その後に、各入力文字列に対応するインデックスと長さを出力せよ

出力文字列の構成・格納順に関しては特に制約は設けない
インデックスと長さは出力文字列の先頭からの最短マッチで求める

[制約] (なくしてもいい)
文字列の構成文字は0と1の二種類とする
入力の各文字列長は最大9文字とする
入力要素数は最大255個とする

[入力例1]
0 1 01 10 111 1001
[出力例1]
01110
(0,1) (1,1) (0,2) (3,2) (1,3) (3,4)

[入力例2]
01 1000 1010 100 0 0010 110 0000 00 0111 101 0100 11 10 111 0110 1101 010 000 1 001 0001 011 1001 1011 1100
[出力例2]
010100001101110
(0,2) (3,4) (1,4) (3,3) (0,1) (14,4) (8,3) (4,4) (4,2) (10,4) (1,3) (2,4) (8,2) (1,2) (11,3) (7,4) (8,4) (0,3) (4,3) (1,1) (6,3) (5,4) (7,3) (13,4) (9,4) (12,4)

関連 >>378 >>419
2018/05/18(金) 07:59:42.69ID:C1d8hfuw
>>474
じゃあ競争しよう

私はこれからスタートであまり時間もないので
ちょっと時間がかかるかも知れないけど
2018/05/18(金) 08:04:09.35ID:C1d8hfuw
>>477
入力文字列を単純につなげば解の1個だが...

求める文字リングが短いほど良い解っていう条件?
480デフォルトの名無しさん
垢版 |
2018/05/18(金) 08:20:20.07
>>479
そんな感じです
ほどほどに圧縮できてれば必ずしも最短でなくても
2018/05/19(土) 01:06:44.60ID:YJKUc9vG
>>478 です
とりあえずこれだけ出来ました
4770でシングルスレッドのC++で15分くらい
半径を倍にすると16倍くらいは時間がかかりそうなので
マルチスレッド&アセンブラ&AVXでガシガシに最適化したくらいじゃ
大して検索範囲は増えなそう
何かアイデアがないか考え中
----
3 : r=1.178511
4 : r=0.707107
5 : r=5.892557
6 : r=2.500000
7 : r=23.890677
8 : r=1.581139
9 : r=15.320647
10 : r=12.500000
11 : r=57.536370
12 : r=3.535534
13 : r=111.621856
14 : r=62.500000
15 : r=76.603235
16 : r=5.700877
18 : r=32.500000
20 : r=17.677670
24 : r=12.747549
28 : r=88.388348
32 : r=23.505319
36 : r=45.961941
40 : r=63.737744
48 : r=52.559490
64 : r=117.526593
482デフォルトの名無しさん
垢版 |
2018/05/19(土) 01:35:39.77ID:/t1Y5z0r
ピタゴラス素数(4n+1型の素数、5、13など)は2乗和で表わせて。
逆に、2乗和(X^2+Y^2)は、2とピタゴラス素数の積の表わせる、もしくはこの問題を考える上でそれだけに限定していいとおもってる。

2^i * 5^j * 13^k * ・・・・をピタゴラス合成数と名付けると。
X^2 + Y^2 = ピタゴラス合成数、の解とその個数は比較的カンタンに求まる。

それを利用して、拡大(縮小)と並行させたやつで、最小半径を与えるのは全て表せるはず。

具体的には、上の解が求まっていれば、
(mx + a)^2 + (my +b)^2 = ピタゴラス合成数、の解と個数もそれなりの低コストでもとまる。
mの剰余を考えれば、解があるaとbの範囲も限定できる。
2018/05/19(土) 01:54:04.51ID:YJKUc9vG
ノーヒント、全て自力で求めようと思ってたんだけど
だから競争って

まあいいや
使えそうなら使わせていただきます
484デフォルトの名無しさん
垢版 |
2018/05/19(土) 03:42:04.50ID:/t1Y5z0r
ピタゴラス素数は2乗和であらわせて。
(a^2 + b^2) (x^2 + y^2) = (ax + by)^2 + (bx - ay)^2 が常に成立するので、

ピタゴラス素数と 2 = 1^2 + 1^2 の積で、新たな2乗和の式が作り出せる。
この式から、解とその個数も求まるはず。

しかし、これがわかっても最小値を求めるのは簡単ではないとおもう。かなりの計算量がいるはず。
485デフォルトの名無しさん
垢版 |
2018/05/19(土) 03:53:23.91ID:/t1Y5z0r
z = x + yiという複素数でいうと、このノルムは|
486デフォルトの名無しさん
垢版 |
2018/05/19(土) 03:56:11.86ID:/t1Y5z0r
z = x + yiという複素数でいうと、ノルムは|z|^2 = x^2 + y^2 であって
|z||w| = |zw|を満たすので、
>>484の式は、新たな複素数 zwを作り出すことと一緒。
487デフォルトの名無しさん
垢版 |
2018/05/19(土) 07:41:40.76ID:b7x1I7X/
お題

ケブンリッジジェネレータ

知らない人のために解説すると、人間の認識力の問題で単語の最初と最後が正しいと途中の文字順序が違っていても正しい単語と見間違えるというのがある。
例えば「よこうそ」は「ようこそ」と見間違える。「およはう」は「おはよう」と見間違える。(これは違うと分かっていても見えてしまうという、空耳アワーの歌みたいでもある)。

以前2chでこのことについてケブンリッジで発見されたというような内容の文章がコピペされて広まり一時期有名になりそれ用の変換をするケブンリッジジェネレータのページ(JavaScriptで作られてたと思う)が作られたりもしていた。
今はもうないようだが今回のお題はこれである。つまり、入力された単語の最初と最後はそのままで途中の文字順序をランダムに入れ替えた結果を出力する。
日本語の文章は普通は単語と単語の間にスペースがないが、これについては処理を簡単にするためにスペースありで入力された文章しか正常に処理しないということにして良い。
2018/05/19(土) 08:22:43.57ID:VUe7Kazw
>>487 Ruby
str = <<~EOT
Alice was beginning to get very tired of sitting by her sister on the bank,
and of having nothing to do: once or twice she had peeped into the book
her sister was reading, but it had no pictures or conversations in it,
'and what is the use of a book,' thought Alice 'without pictures or
conversations?'
EOT

puts str.gsub(/(?<=\b\w)\w*(?=\w\b)/){|m| m.chars.shuffle.join}
#=>
Aclie was bngneniig to get very terid of sntitig by her seistr on the bnak,
and of hnvaig nnthoig to do: ocne or twcie she had ppeeed into the book
her sitser was rniadeg, but it had no piteucrs or cinsoentravos in it,
'and waht is the use of a book,' tohught Aclie 'wtihuot pricetus or
coenrovanstis?'
2018/05/20(日) 12:39:54.67ID:fjnXxBFP
>>477
これってその条件内なら普通に最適解(圧縮度)出せる方法とか存在する?
2018/05/20(日) 12:52:52.72ID:+POqszb4
全通りやれば良い
2018/05/21(月) 12:42:55.71ID:DBB0b89i
>>487 Squeak/Pharo Smalltalk

| input nonLetters |

input := 'Alice was beginning to get very tired of sitting by her sister on the bank,
and of having nothing to do: once or twice she had peeped into the book
her sister was reading, but it had no pictures or conversations in it,
''and what is the use of a book,'' thought Alice ''without pictures or
conversations?'''.

nonLetters := input reject: #isLetter.
(input findTokens: nonLetters keep: nonLetters) inject: '' into: [:acc :token |
(token first isLetter and: [token size > 1])
ifTrue: [acc, (token first: 1), token allButFirst allButLast shuffled, (token last: 1)]
ifFalse: [acc, token]
]

"=> Ailce was beingnnig to get vrey tierd of sttinig by her seitsr on the bank,
and of hvanig nohintg to do: once or twice she had peeepd into the book
her seitsr was riaendg, but it had no piercuts or coitnevnarsos in it,
'and what is the use of a book,' thuoght Alice 'wtiohut ptriecus or
ctnaseinroovs?' "
2018/05/21(月) 18:51:56.06ID:VDVE1q4f
みんな日本語スルーしててワロタw
2018/05/21(月) 20:02:50.47ID:I0TPptnw
>>482
やってみたけど、
馬鹿正直に検索するのと大して変わらんね
半径1000以下を全て検索するのは厳しそう

円周を検索するする昔ながらのアルゴリズムは優秀だ
494デフォルトの名無しさん
垢版 |
2018/05/21(月) 21:16:17.93ID:FH7zIseK
円周を検索するする昔ながらのアルゴリズムとは?
2018/05/21(月) 21:24:09.15ID:dve0ZlFL
>>487 Squeak/Pharo Smalltalk 日本語文章処理例

| input nonLetters |

input := '以前2ch で このこと に ついて ケブンリッジ で はっけん された と いうような ないよう の ぶんしょう が コピペ されて ひろまり
いちじき ゆうめい になり それよう の へんかん を する ケブンリッジ ジェネレータ の ページ(Java Script で つくられ てたと 思う)が つくられ たりも していた。
今 は もうない ようだが こんかい の お題 は これ である。つまり、にゅうりょく された 単語 の さいしょ と 最後 は そのまま で とちゅう の もじじゅんじょ を ランダム に いれかえ た 結果 を しゅつりょく する。
にほんご の ぶんしょう は 普通 は 単語 と 単語 の 間 に スペース が ないが、これ に ついては 処理 を かんたん に するため に スペース あり で にゅうりょく された ぶんしょう しか せいじょう に 処理 しない ということ に してよい。'.

nonLetters := input reject: #isLetter.
(input findTokens: nonLetters keep: nonLetters) inject: '' into: [:acc :token |
(token first isLetter and: [token size > 1])
ifTrue: [acc, (token first: 1), token allButFirst allButLast shuffled, (token last: 1)]
ifFalse: [acc, token]
]

"=> 以前2ch で このこと に ついて ケブリンッジ で はっけん された と いうような なよいう の ぶんょしう が コピペ されて ひろまり
いちじき ゆうめい になり そよれう の へかんん を する ケンブッリジ ジレェーネタ の ページ(Jvaa Spcirt で つくられ てたと 思う)が つくられ たりも しいてた。
今 は もうない ようだが こんかい の お題 は これ である。つまり、にりゅうょく された 単語 の さしいょ と 最後 は そのまま で とちゅう の もゅんじじじょ を ラダンム に いかれえ た 結果 を しょゅつりく する。
にほんご の ぶんしょう は 普通 は 単語 と 単語 の 間 に スペース が ないが、これ に ついては 処理 を かんたん に すたるめ に スーペス あり で にゅうりょく された ぶしんょう しか せょじいう に 処理 しない といこうと に してよい。"
496デフォルトの名無しさん
垢版 |
2018/05/21(月) 21:36:05.44
>>495
ランダムに入れ替えるのはいいけど、元の単語と同じ並びは排除しないと期待外れの出力になるね
2018/05/21(月) 22:08:38.80ID:GTjH0Q6M
完全にランダムなんだから、結果が同じ並びでもそのまま出力するのが筋だろ
変更するなら日本語の文章の方だ
2018/05/21(月) 22:24:50.52ID:dve0ZlFL
>>487 Squeak/Pharo Smalltalk 同じ並びは排除

| input nonLetters |

input := '以前2ch で このこと に ついて ケブンリッジ で はっけん された と いうような ないよう の ぶんしょう が コピペ されて ひろまり
いちじき ゆうめい になり それよう の へんかん を する ケブンリッジ ジェネレータ の ページ(Java Script で つくられ てたと 思う)が つくられ たりも していた。
今 は もうない ようだが こんかい の お題 は これ である。つまり、にゅうりょく された 単語 の さいしょ と 最後 は そのまま で とちゅう の もじじゅんじょ を ランダム に いれかえ た 結果 を しゅつりょく する。
にほんご の ぶんしょう は 普通 は 単語 と 単語 の 間 に スペース が ないが、これ に ついては 処理 を かんたん に するため に スペース あり で にゅうりょく された ぶんしょう'.

nonLetters := input reject: #isLetter.
(input findTokens: nonLetters keep: nonLetters)
inject: ''
into: [:acc :token |
| middle |
(token first isLetter and: [token size > 3
and: [(middle := token copyFrom: 2 to: token size - 1) asSet size > 1]])
ifTrue: [
| shuffled |
[(shuffled := middle shuffled) = middle] whileTrue.
acc, (token first: 1), shuffled, (token last: 1)]
ifFalse: [acc, token]]

"=> 以前2ch で ここのと に ついて ケンブッリジ で はけっん された と いううよな なよいう の ぶしょんう が コピペ されて ひまろり
いじちき ゆめうい になり そよれう の へかんん を する ケリンッブジ ジネレェータ の ページ(Jvaa Srcpit で つらくれ てたと 思う)が つらくれ たりも しいてた。
今 は もなうい よだうが こかんい の お題 は これ である。つまり、にりょうゅく された 単語 の さしいょ と 最後 は そまのま で とゅちう の もじじんゅじょ を ラダンム に いかれえ た 結果 を しょつゅりく する。
にんほご の ぶしんょう は 普通 は 単語 と 単語 の 間 に スーペス が ないが、これ に つていは 処理 を かたんん に すたるめ に スーペス あり で にうりょゅく された ぶょんしう"
2018/05/21(月) 22:46:17.95ID:ivTUanMr
単語の最初と最後が正しいと途中の文字順序が違っていても正しい単語と見間違える
というのは無いこともないが、やっぱりおかしな単語はおかしく見えるな
2018/05/22(火) 02:04:34.13ID:IBCwJBRn
>>487
Kotlin
https://paiza.io/projects/vW2LiM_sGEYAb_l7QfaA_g

paiza.io の Kotlin はちょっとバージョンが古いようで shuffle() がなかったので自作した。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況