1 名前:デフォルトの名無しさん mailto:sage [2019/07/28(日) 19:39:57.54 ID:832c/ukY.net] プログラミングのお題スレです。 【出題と回答例】 1 名前:デフォルトの名無しさん お題:お題本文 2 名前:デフォルトの名無しさん >>1 使用言語 回答本文 結果がある場合はそれも 【ソースコードが長くなったら】 (オンラインでコードを実行できる) https://ideone.com/ codepad.org/ compileonline.com/ rextester.com/runcode https://runnable.com/ https://code.hackerearth.com/ melpon.org/wandbox https://paiza.io/ 宿題は宿題スレがあるのでそちらへ。 ※前スレ プログラミングのお題スレ Part14 mevius.5ch.net/test/read.cgi/tech/1558168409/
757 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 00:08:49.38 ID:1+VMU1fD.net] >>690 ここの↓にすごい悩んだ。 https://regexcrossword.com/playerpuzzles/5d705a4fbf679 Ambiguousの意味を知らずに・・・・・
758 名前:デフォルトの名無しさん [2019/10/11(金) 01:56:11.32 ID:H4pwkZny.net] いや総当たりでも出来たなら貼ってくれや。 別に総当たりでも恥ずかしくもなんともないと思うが…
759 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 08:53:45.55 ID:MNDgolhS.net] 貼りたくねえ 総当たり出できたものを他人のために見せる必要性もないし
760 名前:デフォルトの名無しさん [2019/10/11(金) 09:03:11.12 ID:Cra8acMD.net] できた! みせて。 見せたくない! うーん…
761 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 09:08:21.86 ID:pcktkYLP.net] ;フェルマーの最終定理
762 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 21:55:54.61 ID:zKaC3xv0.net] お題:0〜9999の整数について数字和を求め、数字和の頻度を集計せよ ocaml https://ideone.com/AjcGgp c https://ideone.com/38nYGS octave https://ideone.com/g7FrVu ruby https://ideone.com/YyFXWh
763 名前: mailto:sage [2019/10/11(Fri) 22:38:20 ID:hqLUiXPo.net] >>744 https://ideone.com/pEdgoA C++。最初サンプルと違う答えになってビビったけど、俺のコードがバグっていた・・・。Orz
764 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 22:44:43.53 ID:poa9EnRO.net] すんごく二項定理っぽい数字の並び方をしてる
765 名前: mailto:sage [2019/10/11(Fri) 23:16:02 ID:GtQsvrI7.net] >>744 Java https://ideone.com/U99ZM3 プログラミングのお題スレ Part9 [無断転載禁止](c)2ch.net https://mevius.5ch.net/test/read.cgi/tech/1480579110/134-136 昔書いたこれ(上の136)を流用
766 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 23:53:28.54 ID:jSXBX1w1.net] >>744 これって0~9999じゃなくて任意の2つの数字入力させてとかだと愚直に計算するしかない?
767 名前:デフォルトの名無しさん mailto:sage [2019/10/12(土) 00:32:58.46 ID:Cxdg6QkN.net] >>748 うまくやれば出来そうだがまだ思いつかん
768 名前: mailto:sage [2019/10/12(Sat) 11:04:47 ID:ewC1g8Dg.net] >>744 Pharo/Squeak Smalltalk | bag | bag := Bag new. (0 to: 9) asDigitsToPower: 4 do: [:digits | bag add: digits sum]. ^ bag sortedElements "=> {0->1 . 1->4 . 2->10 . 3->20 . 4->35 . 5->56 . 6->84 . 7->120 . 8->165 . 9->220 . 10->282 . 11->348 . 12->415 . 13->480 . 14->540 . 15->592 . 16->633 . 17->660 . 18->670 . 19->660 . 20->633 . 21->592 . 22->540 . 23->480 . 24->415 . 25->348 . 26->282 . 27->220 . 28->165 . 29->120 . 30->84 . 31->56 . 32->35 . 33->20 . 34->10 . 35->4 . 36->1} "
769 名前: mailto:sage [2019/10/12(Sat) 11:07:06 ID:ewC1g8Dg.net] いかん。すまん。出力が安価になってしまった。
770 名前:デフォルトの名無しさん mailto:sage [2019/10/12(土) 11:31:04.69 ID:zNYc1jm8.net] lol
771 名前:デフォルトの名無しさん mailto:sage [2019/10/12(土) 11:52:28.41 ID:msiQ/n9S.net] >>750 @Mathematica Range[0, 9999] // Map[IntegerDigits, #] & // Map[Total, #] & // Tally {{0, 1}, {1, 4}, {2, 10}, {3, 20}, {4, 35}, {5, 56}, {6, 84}, {7, 120}, {8, 165}, {9, 220}, {10, 282}, {11, 348}, {12, 415}, {13, 480}, {14, 540}, {15, 592}, {16, 633}, {17, 660}, {18, 670}, {19, 660}, {20, 633}, {21, 592}, {22, 540}, {23, 480}, {24, 415}, {25, 348}, {26, 282}, {27, 220}, {28, 165}, {29, 120}, {30, 84}, {31, 56}, {32, 35}, {33, 20}, {34, 10}, {35, 4}, {36, 1}}
772 名前: mailto:sage [2019/10/12(Sat) 13:09:50 ID:Nq/Z/R6A.net] >>744 perl use List::Util qw(sum); $h{sum(split"")}++ for(0..9999); map{print"$_ $h{$_}\n"}sort{$a<=>$b}keys%h;
773 名前:デフォルトの名無しさん mailto:sage [2019/10/12(土) 13:25:43.66 ID:VvSWBOR5.net] >>748 言われた通りの改定問題 X,Yが与えられる。 X以上Y以下の連続する整数で、数字和の頻度。 もっとも大きい頻度はいくつか。 制約 0 <= X < Y <= 5000億 1) 0 9999 --> 670 合計18が、670ある。>>744 の入力値 2) 1234567 9876543 --> 459034 3) 1 500000000000 --> 20406732610 4) 12345678909 498765432123 --> 20000965162 ※Y-Xが MAX5000億なので愚直(力技)はきつい。 ※頻度表は"桁数*9"程度あるので、最高値出力のみに変更
774 名前: mailto:sage [2019/10/12(Sat) 17:47:36 ID:Nq/Z/R6A.net] 頻度の階差を取った 0~9999だと三角数 0~99999だと三角錐数 になる
775 名前: mailto:sage [2019/10/12(Sat) 18:44:18 ID:I5ZWyiFj.net] >>740 >>741じゃねーけど総当りもどきで解いてみた https://ideone.com/nZqnpN https://i.imgur.com/3esPPr0.jpg さすがにフルに総当りするととても終わりそうにないのでちょっとズルして各マスに入る文字を正規表現に使われている"ABCDEFGHMNORXYZ"に限定した (ソースの217行目) Celeron 1005M 1.9GHzのしょぼいノートPCで1,386秒(23分)程度だった
776 名前:デフォルトの名無しさん [2019/10/12(土) 19:36:00.00 ID:vBnCHMzu.net] >>757 すんごい 実行時間もすんごい…
777 名前: mailto:sage [2019/10/12(Sat) 19:59:28 ID:hTj/2FIT.net] >>754 Perl5、計算量を減らしたアルゴリズム sub f { @s = @_; for $l (1..9) { $s[$_ + $l] += $_[$_] for 0..$#_; } @s } @b = f f f f 1; print "$_,$b[$_] " for 0..$#b; 実行結果 ~ $ perl 15_774_digit_sum_1.pl 0,1 1,4 2,10 3,20 4,35 5,56 6,84 7,120 8,165 9,220 10,282 11,348 12,415 13,480 14,540 15,592 16,633 17,660 18,670 19,660 20,633 21,592 22,540 23,480 24,415 25,348 26,282 27,220 28,165 29,120 30,84 31,56 32,35 33,20 34,10 35,4 36,1 もっと減らしたアルゴリズムを考えたい気もするけど、 これで一回投稿
778 名前: mailto:sage [2019/10/12(Sat) 20:06:37 ID:hTj/2FIT.net] >>759 アンカーしくった、>>744 だった…ゴメンね
779 名前: mailto:sage [2019/10/12(Sat) 20:24:43 ID:1DgZSjUc.net] 白状すると単にrubyで書きたいだけのお題だったんだけど (Array#repeated_permutationを使いたいだけ) みんな色々面白いこと考えるもんだね
780 名前:蟻人間 mailto:sage [2019/10/13(日) 14:56:19.23 ID:w8oKE2gz.net] お題: ストップウォッチを作れ。 最初にEnterキーを押すとスタート。 次にEnterキーを押すとストップ。 経過した時間を表示する。
781 名前: mailto:sage [2019/10/13(Sun) 15:28:31 ID:XFDKT5kN.net] >>744 Python https://ideone.com/v1nrdn ―――- import pandas as pd array = [] for i in range(0,10000): array.append(sum(list(map(int,str(i))))) srv =pd.Series(array).value_counts().sort_index() print(srv)
782 名前: mailto:sage [2019/10/13(Sun) 17:38:11 ID:qg/TNtNV.net] >>762 https://ideone.com/B1ShSB C++。ストップウオッチ自体は大分前にC#をパクって作ってあったありあわせだ。
783 名前:デフォルトの名無しさん [2019/10/13(Sun) 21:07:01 ID:w512EwKm.net] >>755 C ideone.com/qdx79j 一応Y = LLONG_MAXまでできる、あってるか知らんが ただのスパゲッティになってしもた
784 名前:デフォルトの名無しさん [2019/10/14(Mon) 01:02:32 ID:Ws6GlsT+.net] >>744 Kotlin https://paiza.io/projects/ci9PwSmxQWwMM4iWRolsyw
785 名前:デフォルトの名無しさん [2019/10/14(月) 02:00:45.97 ID:Ws6GlsT+.net] >>762 Kotlin まずは仕様通りのもの。 fun main() { val br = System.`in`.bufferedReader() br.readLine() val t0 = System.nanoTime() br.readLine() val t1 = System.nanoTime() val t = t1 - t0 println("%d.%09d".format(t / 1000000000L, t % 1000000000)) } しかしこれでは途中経過が出てこなくて
786 名前:ツまらない。ということでこれ。 fun main() { val br = System.`in`.bufferedReader() br.readLine() val t0 = System.nanoTime() while (true) { if (br.ready()) { val c = br.read() if (c == '\n'.toInt()) break } val t1 = System.nanoTime() val t = t1 - t0 print("%d.%09d\r".format(t / 1000000000L, t % 1000000000)) } println() } [] [ここ壊れてます]
787 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 07:53:19.70 ID:kizbcx2j.net] お題 2^511-1の真約数をひとつ求める https://mainichi.jp/articles/20191013/k00/00m/040/245000c
788 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 08:39:26.54 ID:6P2fe30E.net] >>768 そのニュース関係なくね?
789 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 08:53:29.04 ID:z/6QW2Tk.net] 実は素数でした とかいう形?
790 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 09:34:48.23 ID:6P2fe30E.net] >>770 511 = 7 * 73 だから 2^511 - 1 は素数ではない
791 名前: mailto:sage [2019/10/14(Mon) 09:38:05 ID:6P2fe30E.net] というか2^73-1で割り切れる
792 名前: mailto:sage [2019/10/14(Mon) 15:57:50 ID:eo8SsHS2.net] >>771-772 それは 2^511-1 は 2^7-1 でも割り切れることを主張しているのですか?
793 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 16:21:24.99 ID:CCU+9UFO.net] >>773 それ以外にどう読めるんだよアホか
794 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 20:26:24.40 ID:ead7I0ur.net] >>773 2^511-1 = 2進数で1が511個 = 2進数で1111111が73個並んだ形 2^511-1を2^7-1で割ったら2進数で0000001が73個並んだ形 ってことじゃろ
795 名前:蟻人間 mailto:sage [2019/10/14(月) 20:53:54.75 ID:O0QR+doO.net] プログラミングから一気に整数論へダイブ
796 名前: mailto:sage [2019/10/14(Mon) 21:23:44 ID:eo8SsHS2.net] >>774-775 2^{ab}-1 = (2^a-1)(1 + 2a + 2^2a + 2^3a + ... + 2^(b-1)a) と因数分解できるんですね… thx a lot.
797 名前: mailto:sage [2019/10/14(Mon) 22:14:18 ID:hXRtCJE+.net] 必死に5時間検索しまくったのか・・・
798 名前: mailto:sage [2019/10/15(Tue) 01:03:22 ID:LXkkA+L3.net] もう何処かのチャレンジ問題を議論するスレでも良いのでは?
799 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 01:28:25.21 ID:4KtvCQDg.net] お題: お題スレの過去スレからお題をランダムに選択し出力するプログラムを作成せよ
800 名前: mailto:sage [2019/10/15(Tue) 15:09:04 ID:WmSwVXlW.net] QZの醜態を全部晒すプログラムを作成せよ
801 名前: mailto:sage [2019/10/15(Tue) 15:25:10 ID:YTs2ZIZB.net] >>781 w3m https://mevius.5ch.net/test/read.cgi/tech/1564310397/ | ~/bin/select_word_and_ancher.pl QZaw55cn4c https://pastebin.com/MPWNXYG5 https://i.imgur.com/fJi3S6W.png
802 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 16:06:38.33 ID:Ogt2CAsV.net] >>782 くそわろた
803 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 01:16:39.26 ID:bAHdrVWX.net] >>755 python ideone.com/caxm7I ほぼ典型っぽいので、桁DPで解く。 遊びで (X,Y)=(0, 10^100)を実行してみる
804 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 01:58:29.60 ID:OEkTBx4G.net] あらら仕事にかまけてほったらかしていたら 先こされちゃったな感
805 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 02:04:49.25 ID:5tDJE0Z9.net] QZは自分がキチガイということは全然自覚してないんだろうな
806 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 08:36:01.98 ID:Mi1dGaVf.net] >>786 自覚はあるらしいよ。
807 名前: mailto:sage [2019/10/16(Wed) 16:11:48 ID:EcYqpM5S.net] QZが自身をキチガイだと認識しているのならば、QZはキチガイという言葉の正しい意味を理解していない
808 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 16:58:30.92 ID:NsS1/fO1.net] 誰が見てもQZは頭がおかしいよ
809 名前: mailto:sage [2019/10/16(Wed) 20:10:11 ID:JF94p0Fe.net] >>789 どういうところが「頭がおかしい」と思ったのですか?
810 名前: mailto:sage [2019/10/17(Thu) 01:44:31 ID:QhHbr34y.net] >>790 周囲が迷惑している行為や的外れで頓珍漢な言動をした際にそれを指摘しても、分からないから具体的に言えという。普通の人からすれば明らかな場合であろうと。 そして具体的に説明しても、自分はそう感じないから理解しない、納得しないと言い、言動を改めない。 本人の中では論理的整合性がとれた言動なのかも知れないが、周囲からすれば会話ができない困った奴に見える。
811 名前: mailto:sage [2019/10/17(Thu) 02:01:41 ID:Wp46MCu9.net] 朝鮮人に特有な行為だね
812 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 02:18:55.29 ID:E+5qu981.net] 他人の迷惑考えずこんなの貼っちゃう奴だしな 848 ◆QZaw55cn4c sage 2019/07/20(土) 08:18:17.29 ID:jbjCUWIF お題と回答 5 : 6 10 32 36 44 9 : 15 34 35 79 まんま>>791 に該当するわ
813 名前: mailto:sage [2019/10/17(Thu) 09:29:19 ID:yTQXhZUg.net] 複素数の多価関数を何度説明しても理解してなかったし脳に欠陥があるのだろう
814 名前: mailto:sage [2019/10/17(Thu) 12:35:29 ID:MLKesy/P.net] 多価関数を理解できなかったのかwww じゃあリーマン面も分からないだろうな そんな状態で一丁前に「留数定理」とのたまうから頭おかしい
815 名前:デフォルトの名無しさん [2019/10/17(Thu) 16:53:38 ID:H8l94EK2.net] >>744 Kotlin >>766をほんのちょっと改造 https://paiza.io/projects/K_ZOTIieO38ysksk8P8-sw
816 名前: mailto:sage [2019/10/17(Thu) 19:46:20 ID:LNHzPSkK.net] >>795 >そんな状態で一丁前に「留数定理」とのたまう 多分、それは「留数定理は忘れた」という文脈以外ではいったことがないと思いますよ >>794 「何度も」説明を受けた覚えはありませんよ、むしろ意図的に答えを隠されたような隔靴掻痒的なほのめかししかなかったと記憶しています >>793 問題を明確に指摘された後は、その貼り付けは実施していないのですが >>794 今はすべてを実数に限定した線形微分方程式ですらとても苦しんでいるので、複素解析/j関数論とかは当分無理だと思います、関数論のいい教科書があれば教えてください
817 名前: mailto:sage [2019/10/17(Thu) 20:10:25 ID:Fo0iAhjp.net] >>797 あれだけ明瞭な説明を受けて理解できないどころかはぐらかされたと感じるならばお前は脳の病気だな
818 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 22:10:55.40 ID:lFPJOlZz.net] 5chなんて無駄にマウント取るやつばっかりだから、コテつけてごちゃごちゃ言っても時間の無駄だぞ 袋叩きにあうだけ
819 名前:デフォルトの名無しさん [2019/10/18(Fri) 01:24:53 ID:RRRrLQ0r.net] 自演擁護乙。
820 名前:蟻人間 mailto:sage [2019/10/18(金) 23:48:51.61 ID:981JMrNY.net] 気を取り直していくぞ。 お題: 現在時刻のアナログ時計のSVG画像を出力せよ。丸い外枠と短針と長針だけでいいが、可能なら秒針と文字盤も表示せよ。
821 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 02:49:07.69 ID:PZMkyc4n.net] 暇な人向けのお題:なるべく公正な多数決システムを考案せよ。 サンプル:https://ideone.com/Ayr1Az 上記は多数決して、3人サンプルして、じゃんけんする。というプロセスで導き出される。
822 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 18:44:38.13 ID:PZMkyc4n.net] 暇な人向けのお題II! 9x9のセルが与えられる。そのセルは磁石である。 真空状態での磁気シミュレーションをして量子コンピュータに近似せよ。 一つの万能ではない方針。 1パス目で相互作用を足し込む。 2パス目で相互作用の蓄積を作用素数で割る。 ライフゲームがヒントになるかもしれない。
823 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 18:45:19.24 ID:PZMkyc4n.net] >>803 なお、自分は物理学も数学も素人である。。。Orz
824 名前:デフォルトの名無しさん [2019/10/21(月) 08:37:49 ID:HKPBZHRe.net] お題 入力された正整数を漢数字表記にして出力せよ 10の何乗まで対応するかは任せる 514 -> 五百十四 131072 -> 十三万千七十二 90010 -> 九万十
825 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 09:41:08 ID:5iZNWaQ2.net] >>805 python %pip install kanjize from kanjize import in
826 名前:t2kanji, kanji2int print(int2kanji(123456789)) # 一億二千三百四十五万六千七百八十九 [] [ここ壊れてます]
827 名前:デフォルトの名無しさん [2019/10/21(月) 09:45:18 ID:HKPBZHRe.net] >>806 そんなのあるのか…
828 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 13:26:32 ID:Yxovtd3S.net] perlの時代には既に存在した
829 名前:デフォルトの名無しさん [2019/10/21(月) 13:31:36 ID:W7vxtZcq.net] じゃあunicodeにシュメル文字が収録されたので、それで。 フフフ、ライブラリなんてあるまい
830 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 13:35:10 ID:ZDMJHUdn.net] >>809 Python %pip install sumerianize from fumerianize import int2sumerian, sumerian2int print(int2sumerian(123456789)) # ????????????????????????
831 名前:デフォルトの名無しさん [2019/10/21(月) 13:39:33 ID:n9VxwF2L.net] あんのかよワロタw
832 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 13:45:48 ID:qqa/WroJ.net] 逆も欲しいな 漢数字を入れるとアラビア数字に変換するプログラム
833 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 13:49:33 ID:BDK5iYLM.net] 表示できてなくて笑う
834 名前:デフォルトの名無しさん [2019/10/21(月) 13:50:52 ID:hy8thByE.net] >>805 それと同じお題を以前出した覚えがある。 まあいいか。スレ見に来てる人も変わってるだろうし。
835 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 16:23:33 ID:5iZNWaQ2.net] >>813 表示できていないのは見る人がフォントを入れていないからだろ。 不思議でも何でもない。
836 名前:デフォルトの名無しさん [2019/10/21(月) 16:37:23.10 ID:lI38JOob.net] >>812 それと同じお題も過去にあったような。双方向で変換ってやつかな。 まだやったことない人なら頭の体操(またはボケ防止)にはなるからやってみると良いと思う。
837 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 17:22:20.45 ID:Yxovtd3S.net] >>812 漢数字変換 - Perl表技集 www2u.biglobe.ne.jp/~MAS/perl/waza/kansuji.html これですな
838 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 20:27:05.91 ID:niRnsl0k.net] 実はcpanからお題を決めてるんじゃないかなというのがしばらく続いてたと思う
839 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 22:35:38 ID:9OcWZn69.net] ローマ数字との変換、は簡単か
840 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 22:41:08 ID:tcnN+Hr+.net] 何回か出てる。
841 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 23:57:16.86 ID:PlH6WJHg.net] 適当な整数を入力してそれが円周率の何桁目で出てくるか出力せよ。 何桁まで対応するかは任せる。
842 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 00:08:15 ID:TSqT/b7n.net] perl だと m/digit/p からの $^{prematch} とかだな
843 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 12:07:39.33 ID:rZX4V0+4.net] >>821 Perl5、小数点以下10000桁まで一番最初に見つかった桁を出力 $d = 893; # 適当な整数 use Math::BigFloat try => 'GMP,Pari'; $pi = Math::BigFloat->bpi(10000); #print "$pi\n"; $pi =~ s/\.//; # 小数点「.」を除去 $i = index $pi, $d; print $i < 0 ? "無し\n" : "小数点以下 $i 桁目\n"; 実行結果 ~ $ perl 15_821.pl 小数点以下 999 桁目
844 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 12:11:07.49 ID:wZUXcjF6.net] あきらかにNP問題だから解く気がしねえ
845 名前:デフォルトの名無しさん [2019/10/22(火) 12:40:06.09 ID:E1qN728j.net] じゃあNP問題だと証明しろよ
846 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 13:54:00.39 ID:rZX4V0+4.net] >>823 一度にある桁まで求めておいてから検索するよりも、 ガウス=ルジャンドルのアルゴリズムまたはラマヌジャンの式を使うなどして 下の桁まで収束を進めながら検索してゆく方が面白かったかな
847 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 16:09:06.09 ID:0ZM3PvBa.net] >>825 キチガイすぎて草
848 名前:デフォルトの名無しさん [2019/10/22(火) 19:15:47.41 ID:/ue0mcGS.net] ぬるぽ問題
849 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 19:35:05.18 ID:JpCkwFny.net] じゃあそれにしよう。 適当な文章を入力して縦横斜めにぬるぽの3文字が入っていればガッと出力す
850 名前:る。 ひらがなだけにするかそれ以上の対応をするかは任せる。 [] [ここ壊れてます]
851 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 23:37:52.31 ID:0ZM3PvBa.net] >>829 Python %pip install nurupo from nurupo import nurupofield if nurupofield("ぬるぽ") print("ガッ") # ガッ
852 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 00:32:58.65 ID:65oBAktI.net] pythonなんでも揃ってんな・・・
853 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 20:25:56.13 ID:LcbXQT4h.net] お題:整数配列の奇数要素のみをソートした配列を返す処理を書いてください 入力例:[6, 5, 4, 3, 2, 1] 出力例:[6, 1, 4, 3, 2, 5]
854 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 20:53:09.53 ID:oBmkNBH8.net] >>832 octave https://ideone.com/W2Q4NP
855 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 20:53:23.91 ID:65oBAktI.net] 奇数だけ抜き出した配列作成→ソート→元の配列の奇数の位置にソートした配列の要素を入れてくだけで良さそう
856 名前:デフォルトの名無しさん mailto:833 [2019/10/23(水) 20:54:52.29 ID:oBmkNBH8.net] あ、ダメだこれw 失礼しました
857 名前:833 mailto:sage [2019/10/23(水) 21:05:23.34 ID:oBmkNBH8.net] >>832 octave https://ideone.com/F0JmMT
858 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 22:37:14.26 ID:PSSarBFK.net] >>832 Perl5 @s = (6, 5, 4, 3, 2, 1); @ix = grep{$s[$_] & 1} keys @s; @iy = sort{$s[$a] <=> $s[$b]} @ix; @s[@ix] = @s[@iy]; use Data::Dump 'dump'; print dump @s; 実行結果 ~ $ perl 15_832_sort_odd_elem.pl (6, 1, 4, 3, 2, 5)
859 名前:デフォルトの名無しさん [2019/10/24(木) 08:28:31.82 ID:5RTZY+Zo.net] >>832 J f =: 3 : 0 a =. I. 2 | y b =. /:~ a { y b (a) } y ) f 6 5 4 3 2 1 6 1 4 3 2 5
860 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 09:51:33.40 ID:76TAYxNw.net] >>832 p [6, 5, 4, 3, 2, 1].partition.with_index{|_, i| i.even?}.then{|e, o| e.zip(o.sort).flatten} # => [6, 1, 4, 3, 2, 5]
861 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 09:51:53.30 ID:76TAYxNw.net] >>839 Ruby 2.6.0
862 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 12:04:34.69 ID:yRKIAYVV.net] >>839 [6, 5, 3, 2, 1] とかだと結果が間違っている上、nilとか足されてひどいことになるyo? p [6, 5, 3, 2, 1].partition.with_index{|_, i| i.even?}.then{|e, o| e.zip(o.sort).flatten} # => [6, 2, 3, 5, 1, nil] 正しくは => [6, 1, 3, 2, 5]
863 名前:デフォルトの名無しさん [2019/10/24(木) 15:41:34.92 ID:gElHX+jG.net] >>832 Kotlin https://paiza.io/projects/RXWCx9-WsZvakBKGgIo1UA やり方は >>834 に書かれている通り。 しかし、もっとスマートな方法はないものか? ありそうだが思い浮かばない。
864 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 16:54:57.81 ID:ZpMPcQ0n.net] >>842 配列コピーしない場合奇数が出たらその後の要素を見て一番小さい奇数と要素の交換でもどう? 配列のコピー不要や。
865 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 21:24:20.41 ID:YtgvOVKx.net] >>832 ruby https://ideone.com/EUWgwy >>832 ocaml https://ideone.com/6SktpO
866 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 23:20:25.74 ID:33G0+sWg.net] >>838 さすがJニキ、さっぱりわからん…
867 名前:デフォルトの名無しさん [2019/10/25(金) 00:26:52.21 ID:GgLEjF73.net] アプリ作成したいのですが、素人なのでどなたか相談に乗ってください。 飲み物が入ったコップを定期的に重量を量り、 そのデータを無線で受信してサーバーで記録し プロットするアプリを作りたいです。 またRaspiなどのPCはなしで作りたいのですが 組み込みPC?を使わないとできませんか? またこういったアプリに適した言語などありますでしょうか?
868 名前:デフォルトの名無しさん [2019/10/25(金) 00:32:12.57 ID:D+sRag4r.net] プログラム部分はたいしたことがないとおもうのだが 装置、ハードのほうが大事だろ そもそもプログラムもハード依存するかもしれないし
869 名前:チに既成品なら [] [ここ壊れてます]
870 名前:デフォルトの名無しさん [2019/10/25(金) 00:48:27.50 ID:GgLEjF73.net] ありがとうございます。 ハードウェアの知識が全く無いため困っています。 飼い猫のために水の量を管理してあげたいんです。 下記のような組み合わせで出来そうでしょうか? ADコンバータ KKHMF HX711モジュール 秤量センサー 24位精度ADモジュール 圧力センサーモジュール 重量センサー uxcell 計量ロードセル アルミ合金材質 500g計量 電子天秤 有線 計量センサー
871 名前:デフォルトの名無しさん [2019/10/25(金) 03:57:48.67 ID:uJcHRouN.net] やり方わからないんだけど、カメラで撮影して映像解析して量が分かるのであればスマホやタブレット用のアプリでできそうだよね。 (PCに小さいカメラ付けても良いが)。
872 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 04:08:18.02 ID:rztx2iSz.net] >>848 適切なスレに移動した方がいいぞ
873 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 09:43:45.15 ID:C/odSq3f.net] センサーの話題などは、Linux 板のラズパイのスレで聞けば?
874 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 09:56:31.28 ID:VVjeWd6A.net] >>848 適当なIoTの計り買えば解決 実装はCだろうな
875 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 11:49:06.01 ID:C/odSq3f.net] >>832 Ruby で、 input_ary = [ 6, 5, 4, 3, 2, 1 ] odd_ary = [ ]; index_ary = [ ] input_ary.each_with_index do |num, idx| if num.odd? odd_ary.push num index_ary.push idx end end odd_ary.sort! # ソート # 同時に、複数の配列をループする index_ary.zip( odd_ary ).each { |idx, num| input_ary[ idx ] = num } p input_ary
876 名前:デフォルトの名無しさん [2019/10/25(金) 12:30:51.02 ID:GgLEjF73.net] >> 849 , 850, 851, 852 情報ありがとうございます。 スレチだったみたいで申し訳ないです。 センサーありきなので、Raspiは使わないと思うのですが 板覗いてみます。
877 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 14:59:52.83 ID:ylwTeYJx.net] >>832 https://ideone.com/FKifBY C++。クイックソート書けないので謎のソートでお茶を濁す。
878 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 01:38:30 ID:o5w2ifn2.net] お題: 端末上で(´・ω・`)を端から端まで移動し、往復させよ ただし、端についたら(´・ω・`)は増幅し(´・ω・`)(´・ω・`)になる 同様に再び端についたら(´・ω・`)(´・ω・`)は増幅し(´・ω・`)(´・ω・`)(´・ω・`)になる 左右に移動できなくなる又ははみ出す場合は逆に(´・ω・`)を減らしていき、最終的に(´・ω・`)を消滅させよ
879 名前:デフォルトの名無しさん [2019/10/26(土) 06:24:17 ID:2eoY+VbT.net] お題: Unicode 1 文字を与えると East Asian Width に従った属性値を返す関数を作成し、その関数に対して任意の文字を与えてテストするプログラムを作れ。 返す属性値の F, H, W, Na, A, N は文字列でも良いし対応する数値でも良いし enum のような(またはCなら #define されている)名前でも良い。 East Asian Width の一覧は下記URLのテキストの内容を使用する。これを最初に読んで初期化するように作っても良いし、最初からプログラムに適した形式で埋め込まれていても良い。 www.unicode.org/Public/UCD/latest/ucd/EastAsianWidth.txt 参考: 東アジアの文字幅 https://ja.wikipedia.org/wiki/%E6%9D%B1%E3%82%A2%E3%82%B8%E3%82%A2%E3%81%AE%E6%96%87%E5%AD%97%E5%B9%85
880 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 07:11:59 ID:I0XoRu/q.net] お題:>>832 に「偶数要素は2で割って降順ソート」という要件を追加してください すでに回答済
881 名前:みの場合は最少限の変更でのご対応で腕(もしくは言語のポテンシャル)を見せてください [] [ここ壊れてます]
882 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 07:27:04.95 ID:I0XoRu/q.net] >>858 入力例:[0, 9, 8, 4, 6, 5, 1, 2, 7, 3] 出力例:[4, 1, 3, 2, 1, 3, 5, 0, 7, 9]
883 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:01:29.07 ID:/Rj6VhaF.net] >>832 Pharo/Squeak Smalltalk | fn | fn := [:arr | | sortedOdds | sortedOdds := (arr select: #odd) sort readStream. arr collect: [:x | x odd ifTrue: [sortedOdds next] ifFalse: [x]] ]. fn value: #(6 5 4 3 2 1) "=> #(6 1 4 3 2 5) " >>835 | fn | fn := [:arr | | sortedOdds sortedHalfEvens | sortedOdds := (arr select: #odd) sort readStream. sortedHalfEvens := ((arr select: #even) sort reversed / 2) readStream. arr collect: [:x | x odd ifTrue: [sortedOdds next] ifFalse: [sortedHalfEvens next]] ]. fn value: #(0 9 8 4 6 5 1 2 7 3) "=> #(4 1 3 2 1 3 5 0 7 9) "
884 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:03:35.88 ID:/Rj6VhaF.net] >>860 ×835 → ○>>858
885 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:45:52.80 ID:4aRwI3hq.net] >>859 Perl5、最小限でか… @s = (0, 9, 8, 4, 6, 5, 1, 2, 7, 3); @ix = grep{$s[$_] & 1} keys @s; @iy = sort{$s[$a] <=> $s[$b]} @ix; @s[@ix] = @s[@iy]; @iz = grep{~$s[$_] & 1} keys @s; @s[@iz] = map{$_ / 2} reverse sort{$a <=> $b} @s[@iz]; use Data::Dump 'dump'; print dump @s; 実行結果 ~ $ perl 15_859.pl (4, 1, 3, 2, 1, 3, 5, 0, 7, 9)
886 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 12:12:03.02 ID:Zgyrlv2c.net] >>832 ,858 @Mathematica https://ideone.com/0UFN7o
887 名前:デフォルトの名無しさん [2019/10/26(土) 12:22:15.14 ID:GFiKSQ9h.net] >>856 Porwershell。バージョンによってはプロンプト画面に直接貼り付けると$sの文字列が 化けるので、その場合はファイルに保存して実行。 $s = "('・ω・``)" $w = $Host.UI.RawUI.WindowSize.Width - 1 $m = [Math]::Floor($w / 10) foreach ($n in 1..$m + ($m - 1)..0) { $d = $w - 10 * $n foreach ($x in (($d..1), (1..$d))[$n % 2]) { $l = "`r" + " " * $x + $s * $n + " " * ($d - $x) Write-Host $l -NoNewline if (!$n) {Write-Host; break} Sleep -m 20 } }
888 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 13:49:47.32 ID:f6JeNzn+.net] Mathematica12 定義 f1[a_]:=SubsetMap[Sort,a,Position[a,_?OddQ,1]] f2[a_]:=SubsetMap[ReverseSort[#]/2&,f1[a],Position[a,_?EvenQ,1]] 実行結果 f1[{6,5,4,3,2,1}] {6,1,4,3,2,5} f2[{0,9,8,4,6,5,1,2,7,3}] {4,1,3,2,1,3,5,0,7,9}
889 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 17:08:24.41 ID:kYj2w42l.net] >>832 , >>858 Ruby f = -> ary { e, o = ary.partition(&:even?).map(&:sort) ary.map{|v| v.even? ? v : o.shift} } g = -> ary { e, o = ary.partition(&:even?).map(&:sort) ary.map{|v| v.even? ? e.pop >> 1 : o.shift} } p f[[6, 5, 4, 3, 2, 1]] # => [6, 1, 4, 3, 2, 5] p g[[0, 9, 8, 4, 6, 5, 1, 2, 7, 3]] # => [4, 1, 3, 2, 1, 3, 5, 0, 7, 9]
890 名前:デフォルトの名無しさん [2019/10/26(土) 20:25:43.01 ID:XXeS+kK0.net] >>858 c https://ideone.com/g7IC5E
891 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 22:02:49.24 ID:+YWUVQNg.net] >>856 https://ideone.com/lw7uIj C++。なんか表示位置ずれるなーと思ったら、「()」これ半角じゃねーか。 そのせいで、プログラムが持ってる長さと表示の長さが合わなかった。 しかし、汚くなった無し、思ったより時間がかかってしまった。
892 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 22:16:30.14 ID:FFSD3o8O.net] >>858 octave https://ideone.com/d5NTlm >>858 ruby https://ideone.com/R93NWY >>858 ocaml https://ideone.com/RTlP5X
893 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 22:21:47.70 ID:+YWUVQNg.net] >>858 https://ideone.com/7vsaej C++。前のヤツに関数足した。 オーダーが倍になったが改修だとこんなもんだ。
894 名前:蟻人間 mailto:age [2019/10/26(土) 22:38:02.04 ID:Q5f3
] [ここ壊れてます]
895 名前:+aYX.net mailto: お題: あるフォルダ(例えばC:\Windows)についてフォルダの階層構造を木構造(tree)を表すテキストとして出力せよ。 インデントでもいい。罫線を使ってもいい。 [] [ここ壊れてます]
896 名前:デフォルトの名無しさん [2019/10/26(土) 22:38:38.76 ID:T/HAOzs9.net] tree
897 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 22:46:14.97 ID:a/Ne+y1n.net] 完
898 名前:蟻人間 mailto:age [2019/10/26(土) 23:33:25.57 ID:0HLEEd3+.net] 熟
899 名前:デフォルトの名無しさん [2019/10/26(土) 23:36:46.58 ID:Up+ppHZL.net] ト
900 名前:デフォルトの名無しさん [2019/10/26(土) 23:56:14.95 ID:mT+r0MIT.net] マ
901 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 01:42:02 ID:98GTxTrH.net] ホ
902 名前:デフォルトの名無しさん [2019/10/27(日) 01:48:49 ID:hTxWtEZY.net] ー
903 名前:デフォルトの名無しさん [2019/10/27(日) 02:14:55 ID:qZK0Jir5.net] ク
904 名前:デフォルトの名無しさん [2019/10/27(日) 12:00:30.73 ID:czi1K5eV.net] >>858-859 PowerShell $a = 0, 9, 8, 4, 6, 5, 1, 2, 7, 3 $b = 0, 0 $i = 0, 0 $odd = {$_ % 2} $b[0] = @($a |? {!(&$odd)} |% {$_ / 2} | sort -descending) $b[1] = @($a |? {&$odd} | sort) $c = $a |% {$b[(&$odd)][$i[(&$odd)]++]} "入力: [" + ($a -join ", ") + "]" "出力: [" + ($c -join ", ") + "]"
905 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 21:46:52.77 ID:JAeIkS65.net] >>858 c https://ideone.com/SwF6Zp
906 名前:デフォルトの名無しさん [2019/10/28(月) 14:33:15.95 ID:kjzN6NI8.net] >>858-859 Haxe で、 https://try.haxe.org/#Bb813
907 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 21:54:57.80 ID:UPe4TNxT.net] Common Lisp >>832 (let* ((l '(6 5 4 3 2 1)) (odds (sort (remove-if-not #'oddp l) #'<))) (mapcar (lambda (x) (if (oddp x) (pop odds) x)) l)) >>858-859 (let* ((l '(0 9 8 4 6 5 1 2 7 3)) (odds (sort (remove-if-not #'oddp l) #'<)) (evens (sort (remove-if-not #'evenp l) #'>))) (mapcar (lambda (x) (if (oddp x) (pop odds) (/ (pop evens) 2))) l))
908 名前:蟻人間 mailto:sage [2019/10/28(月) 22:20:53.11 ID:9dus/Ppg.net] Linuxにこんなコマンドあんのかよお? https://www.adminweb.jp/command/file/index2.html
909 名前:デフォルトの名無しさん [2019/10/28(月) 22:33:53.27 ID:cHOU2eIF.net] >>871 Powershell。標準のtreeコマンドと違い、システム/隠しフォルダも表示する。 バージョンによってはプロンプト画面に貼り付けると罫線文字が消えてしまうので、 その場合はps1ファイルに保存して実行するか、PowerShell ISEに貼り付ける。 function MyTree($path, $branch) { if (!$branch) {$path} $dir = @(ls -Force -PSPath $path -EV e -EA SilentlyContinue |? {$_.PSIsContainer}) if ($e) {$branch + "::アクセス不可"} if (!$dir) {return} 0..($last = $dir.Count - 1) |% { $branch + ("├─", "└─")[$_ -eq $last] + $dir[$_].Name MyTree $dir[$_].FullName ($branch + ("│ ", " ")[$_ -eq $last]) } } MyTree "C:\Windows"
910 名前:デフォルトの名無しさん mailto:age [2019/10/28(月) 23:08:40.85 ID:F/Wh8ChL.net] >>884 100年前からあるよ
911 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 23:13:15.22 ID:uBs49FGp.net] 色わけもされているのが良くあり、たいへん見やすい
912 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2019/10/29(火) 01:01:17 ID:CdNgVa0z.net] お題: 平面(0, 0)-(100,100)上に点を100個、配置する。k-means法を用いて点の集合を3つのグループに分け、それらを図示せよ。
913 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 08:42:30.06 ID:CowX2GWO.net] >>858-859 Ruby で、 input_ary = [ 0, 9, 8, 4, 6, 5, 1, 2, 7, 3 ] even_ary, odd_ary = input_ary.partition( &:even? ) # 偶数・奇数配列 odd_ary.sort! # 奇数要素をソート # 偶数要素は、2で割って降順ソート even_ary.map! { |num| num / 2 } even_ary.sort! even_ary.reverse! p results = input_ary.map { |num| num.even? ? e
914 名前:ven_ary.shift : odd_ary.shift } # 偶数・奇数 [] [ここ壊れてます]
915 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 11:11:57.21 ID:8fHMSau6.net] やっぱり初心者にはまず黒い画面のCUIからやらせたほうがいいな
916 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 18:19:47.29 ID:BWleRN1J.net] 設定で白い画面にすると心が和らぐかも知れない
917 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 18:42:27.40 ID:plxF2L4V.net] 目がクラッシュ
918 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 21:04:32.22 ID:OodB9NB8.net] 日本標準時2100に起動し、Web上から文字列「惣流・アスカ・ラングレー」を含む.jpgファイルもしくは.jpegあるいは.pingファイルをC:秘蔵に1GB分保存するコードを教えてください
919 名前:デフォルトの名無しさん [2019/10/29(火) 21:19:03.11 ID:zdS42c06.net] 式波だろオッサン
920 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 22:05:19.10 ID:xXVEd4hK.net] >>893 0 21 * * * sudo less BigWeb | grep アスラン・ザラ > home/C/H_file limit 1GB
921 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 22:18:10.10 ID:VtVeF5OO.net] >>893 firebird -t0:21:0:0 --everyday --query 惣流・アスカ・ラングレー --suffix "jpg|jpeg|ping" --dst "C:\secret" --limit 1GB
922 名前:デフォルトの名無しさん mailto:sage [2019/10/30(水) 00:58:38.18 ID:VQ6oDJg7.net] pingファイルわらた
923 名前:デフォルトの名無しさん mailto:sage [2019/10/30(水) 04:42:26 ID:LML0ucqT.net] アイが隠っている
924 名前:デフォルトの名無しさん [2019/11/01(金) 22:31:20.50 ID:5BPqTvCN.net] お題: 3^3^3^... のような反復指数を10の反復指数に近似するプログラムを作成しなさい。 入力されるそれぞれの指数は1より大きい実数とします。 計算後の最も右の指数xは 1<x≦10 としてください。 例: 3^3^3^3^3^3 = 10^10^10^10^10^1.099 2.718^2.718^2.718^2.718^7.705 = 10^10^10^10^2.983 (5.0e+50)^(6.0e+60)^(7.0e+70)^(8.0e+80)^(9.0e+90) = 10^10^10^10^10^10^1.968 1.1^1.1^1.1^1.1^1.1 = 1.112
925 名前:デフォルトの名無しさん [2019/11/01(金) 23:58:48.16 ID:Yq8XY12s.net] a^n = b^x を解く問題でいいじゃん
926 名前:蟻人間 mailto:sage [2019/11/02(土) 13:25:33.62 ID:OyXmLdGY.net] >>899 演算子^は、左結合、それとも右結合?
927 名前:デフォルトの名無しさん mailto:sage [2019/11/02(土) 14:21:37.47 ID:ZDjpW1U6.net] >>901 右結合です a^b^c => a^(b^c) 無論 ^はべき乗の演算子です。
928 名前:蟻人間 mailto:sage [2019/11/02(土) 16:24:06.83 ID:3ZL9CX49.net] 10^1〜10^10で二分探索を繰り返しかな?
929 名前:デフォルトの名無しさん mailto:sage [2019/11/02(土) 17:38:05.70 ID:q/Mbih9P.net] >>899 https://ideone.com/0Xqylu C++。あってるか知らんけど、知識を動員して解いてみたんだけど、あってる? 三の3乗を6回やったら、doubleでinfになるので解けねーわ。うわわーん。
930 名前:デフォルトの名無しさん mailto:sage [2019/11/02(土) 18:12:47.84 ID:41WzS7Cc.net] >>904 コード一切読んでないけどお前のは間違ってると思うよ
931 名前:デフォルトの名無しさん mailto:sage [2019/11/02(土) 18:39:57.30 ID:q/Mbih9P.net] >>905 意味が解らん。 まぁ、いいけど。
932 名前:デフォルトの名無しさん [2019/11/02(土) 19:40:47.26 ID:0iFQzt0L.net] >>899 PowerShellで最初の2例だけ。 function lg($x) {[Math]::log10($x)} function pow($x, $y) {[Math]::pow($x, $y)} function tetrconv($a) { $k = lg ((pow $a[-2] $a[-1]) * (lg $a[-3]) + (lg (lg $a[-4]))) $b = @(10) * ($a.count - 1) + [Math]::round($k, 3) ($a -join "^") + " = " + ($b -join "^") } tetrconv (@(3) * 6) tetrconv (@(2.718) * 4 + 7.705)
933 名前:デフォルトの名無しさん [2019/11/02(土) 21:32:51.49 ID:0iFQzt0L.net] >>899 最後の2例にも対応した。 function lg($x) {[Math]::log10($x)} function pow($x, $y) {[Math]::pow($x, $y)} function tetrconv($a) { $k = $a[-1] foreach ($i in -2..-$a.count) { if ($k -gt 10) {break} $k = pow $a[$i] $k } if ($i - 1 -ge -$a.count) {$k *= lg $a[$i - 1]} if ($i - 2 -ge -$a.count) {$k += lg (lg $a[$i - 2])} while ($k -gt 10) { $k = lg $k $i++ } if ($i += $a.count) {$i++} $b = @(10) * $i + [Math]::round($k, 3) ($a -join "^") + " = " + ($b -join "^") } tetrconv (@(3) * 6) tetrconv (@(2.718) * 4 + 7.705) tetrconv (5.0e50, 6.0e60, 7.0e70, 8.0e80, 9.0e90) tetrconv (@(1.1) * 5)
934 名前:デフォルトの名無しさん mailto:sage [2019/11/03(日) 00:32:05.95 ID:ORedds2P.net] 偶数の場合は半分に、奇数の場合は3倍して1加算して結果が1になるまでその数値を出力してください。 1まで出力して完了です。 単純だけど、どこまで短く書ける?
935 名前:デフォルトの名無しさん mailto:sage [2019/11/03(日) 00:36:48.03 ID:ZBjdhNSI.net] >>909 コラッツ予想はもうおなかいっぱいだわ
936 名前:デフォルトの名無しさん [2019/11/03(日) 12:57:12.82 ID:ax9Okew1.net] コラッて怒れば良いんじゃないかな
937 名前:デフォルトの名無しさん mailto:sage [2019/11/03(日) 13:57:01.56 ID:mZU6qafh.net] >>909 https://ideone.com/JsckiH C++。ショートコーダじゃないから短めに書いて、24行。
938 名前:デフォルトの名無しさん mailto:sage [2019/11/03(日) 15:49:54.73 ID:kVBOYkVG.net] >>909 C# https://ideone.com/unj3KD 短く書こうとする気すらないw
939 名前:デフォルトの名無しさん [2019/11/03(日) 18:50:15.71 ID:6KV8hNPc.net] 縦と横のサイズが与えられるのでアスペクト比を求めよ
940 名前:デフォルトの名無しさん mailto:sage [2019/11/03(日) 20:03:15.96 ID:PuBKYFzC.net] 比は整数のみ?
941 名前:デフォルトの名無しさん [2019/11/03(日) 21:50:08.17 ID:rJL4Vpjg.net] >>899 別の入力値 (例えば@(1.7) * 5や@(1.5) * 14) を試してみたら出力値がおかしかったので修正。 function lg($x) {[Math]::log10($x)} function pow($x, $y) {[Math]::pow($x, $y)} function tetrconv($a) { $k = 1 foreach ($i in ($a.count - 1)..0) { $k = pow $a[$i] $k if ($k -gt 20) {break} } if ($i -ge 1) {$k *= lg $a[$i - 1]} if ($i -ge 2) {$k += lg (lg $a[$i - 2])} while ($k -gt 10) { $k = lg $k $i++ } $b = @(10) * $i + [Math]::round($k, 3) ($a -join "^") + " = " + ($b -join "^") } tetrconv (@(3) * 6) tetrconv (@(2.718) * 4 + 7.705) tetrconv (5.0e+50, 6.0e+60, 7.0e+70, 8.0e+80, 9.0e+90) tetrconv (@(1.1) * 5)
942 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 07:30:04.95 ID:T8mOMaiU.net] お題: m から n までの整数のうち、桁数字の和が s になるものをすべて列挙する 関数を書け。 具体的に: 1 から 100 までの整数のうち、桁数字の和が 12 になるものは、 39、48、57、66、75、84、93 である。 関数の実行例: f(1, 100, 12) → [39, 48, 57, 66, 75, 84, 93]
943 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 10:20:33.30 ID:xKwnPcPn.net] 数列和好きだね これで何回目だ? 数列和求めて何か嬉しいのか? 簡易計算ミスを防げるとか
944 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 10:51:39.60 ID:FzGFhotx.net] >>917 perl なんの捻りもない use List::Util qw(sum); print join",",(grep{sum(split//)==12}(1..100));
945 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 12:37:41.26 ID:7wrIz40y.net] >>918 数列和? いきなりオレオレ用語で語られても困るw
946 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 14:30:03.94 ID:obVJwnOe.net] >>917 https://ideone.com/pWqVPQ C++。割といつも通りという感じ。
947 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 19:33:38.63 ID:xKwnPcPn.net] タイポ 数字和 >744 などにでてくるやつ
948 名前:デフォルトの名無しさん [2019/11/04(月) 19:35:11.53 ID:6jo2x8my.net] >>917 PowerShellで単純に書けば function f($a, $b, $s) {$a..$b |? {(iex ([char[]]"$_" -join "+")) -eq $s}} f 1 100 12 だが、桁が増えると遅すぎるので、少し工夫すると、 $M = [Math] function g($s, $n) { if ($n -eq 1) {return $s} $d = $M::pow(10, $n - 1) for ($i = $M::max(0, $s - 9 * ($n - 1)); $i -le $M::min(9, $s); $i++) { g ($s - $i) ($n - 1) |% {$d * $i + $_} } } function f($a, $b, $s) { g $s ($M::ceiling($M::log10($b))) |? {$_ -ge $a -and $_ -le $b} } f 1 10000000 12
949 名前:デフォルトの名無しさん [2019/11/04(月) 19:36:29.94 ID:6jo2x8my.net] 7桁まではまあまあだが8桁以上だと遅いので、Cで書き換えると9桁でも瞬時に終わった。 (出力をファイルにリダイレクトした場合)。Visual Studioでは動作するが、 ideone.comでは変なコンパイラエラーが発生する。 #include <stdio.h> #include <stdlib.h> #include <math.h> void g(int a, int b, int s, int n, int t, int x) { int d, i; if (n == 0) { if (t == s && x >= a && x <= b) printf("%d\n", x); } else { for (d = i = 1; i < n; i++) d *= 10; for (i = max(0, (s - t) - 9 * (n - 1)); i <= min(9, s - t); i++) { g(a, b, s, n - 1, t + i, d * i + x); } } } void f(int a, int b, int s) { g(a, b, s, ceil(log10(b)), 0, 0); } int main(void) { f(1, 1000000000, 12); return 0; }
950 名前:デフォルトの名無しさん [2019/11/05(火) 01:53:14.53 ID:gnRgB6kn.net] >>909 Kotlin https://paiza.io/projects/P-_x81NFh0Pq-Fu6FgHHQg 肝心な部分は短いよな・・・
951 名前:デフォルトの名無しさん [2019/11/05(火) 20:14:32.31 ID:e+hxAdfR.net] お題:グラフの最長距離探索プログラムを作りなさい。分からなければダイクストラの最短距離探索プログラムを改造して作りなさい。
952 名前:デフォルトの名無しさん mailto:sage [2019/11/05(火) 20:40:24.45 ID:3L71zPwH.net] >>926 全探索になるから辛い。 X以上になったら打ち切りとかできないし、枝がX個以上なら切るとかもできない。
953 名前:デフォルトの名無しさん mailto:sage [2019/11/05(火) 21:02:19.16 ID:3L71zPwH.net] 枝じゃなかった。支点だった。
954 名前:デフォルトの名無しさん mailto:sage [2019/11/05(火) 22:48:36.11 ID:4YhU7TUN.net] >>917 Common Lisp (defun f (m n s) (print (loop for i from m to n if (= s (loop for (j k) = (multiple-value-list (floor i 10)) then (multiple-value-list (floor j 10)) sum k until (zerop j))) collect i))) (f 1 100 12)
955 名前:デフォルトの名無しさん [2019/11/07(木) 19:42:24.48 ID:wJeAdMrJ.net] >>917 Kotlin https://paiza.io/projects/sCUo-pxCCvYRSj_y9LA9Qg ひねりなし。
956 名前:デフォルトの名無しさん [2019/11/07(木) 22:47:28.91 ID:Iq2Mem9/.net] >>924 を読み返してみたら、1変数減らしてすっきりさせられることに気付いた。 #include <stdio.h> #include <stdlib.h> #include <math.h> void g(int a, int b, int r, int n, int x) { int d, i; if (n == 0) { if (r == 0 && x >= a && x <= b) printf("%d\n", x); } else { d = pow(10, n - 1); for (i = max(0, r - 9 * (n - 1)); i <= min(9, r); i++) { g(a, b, r - i, n - 1, d * i + x); } } } void f(int a, int b, int s) { g(a, b, s, ceil(log10(b)), 0); } int main(void) { f(1, 1000000000, 12); return 0; }
957 名前:デフォルトの名無しさん [2019/11/10(日) 21:37:46.78 ID:OK7x/7YO.net] 文字コードがシフトJISでもUnicodeでも3つ以上の連番となる文字列(最長一致)を、 コード範囲とともにすべて表示せよ。例えば、それらのうちの1つに関する表示は、 824F..8258 FF10..FF19 01234566789 となる。なお、シフトJISには機種依存文字を含んで構わない。
958 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 21:57:20.43 ID:uvNl/
] [ここ壊れてます]
959 名前:eaa.net mailto: >>932 何を以って同じ文字とみなすのか定義しろ [] [ここ壊れてます]
960 名前:デフォルトの名無しさん [2019/11/10(日) 22:09:53.56 ID:OK7x/7YO.net] >>933 それも機種依存で構わない。規格上の厳密さにこだわる必要はない。
961 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 23:26:27.72 ID:EkgZPBq1.net] >>932 Java https://ideone.com/GLDM9a これでいいのけ?
962 名前:デフォルトの名無しさん mailto:sage [2019/11/11(月) 00:44:57.23 ID:VmjibYtT.net] バイナリファイルの高速コンペア
963 名前:デフォルトの名無しさん mailto:sage [2019/11/11(月) 18:33:43.09 ID:KK646YuM.net] >>936 メモリに二つとも呼んでfor回す。意外は難しい気がする。
964 名前:デフォルトの名無しさん mailto:sage [2019/11/11(月) 19:03:14.97 ID:KK646YuM.net] >>917 https://ideone.com/eVgFHk C++。一回解いたけど再考して配列一個潰した。 5秒で5000万位解けそう??
965 名前:デフォルトの名無しさん mailto:sage [2019/11/11(月) 22:23:08.18 ID:ySONYK72.net] >>936 単に一致不一致だけわかればいいのか? とか コンペアするファイルは2つだけなのか? とか 単に2つのファイルの一致不一致を見るだけなら基本>>937 の言う通りだと思う
966 名前:デフォルトの名無しさん [2019/11/11(月) 22:37:18.90 ID:hxYpUSvR.net] >>935 正解。Windowsには機種依存文字 8754..875D 2160..2169 TUVWXYZ[\] などもあるが、機種依存文字を含んでも構わないという出題だったので、 含まなくてもOK。
967 名前:デフォルトの名無しさん [2019/11/12(火) 05:31:26.51 ID:oeG9wEYf.net] お題 スレ立てるまでもない質問はここで 152匹目 https://mevius.5ch.net/test/read.cgi/tech/1573214616/ の3番の問題を勝手に解く
968 名前:デフォルトの名無しさん mailto:sage [2019/11/12(火) 12:11:13.05 ID:BJKXTHw+.net] >>940 Java https://ideone.com/611DD5 >>935 からCharasetをShift-JISからx-SJIS_0213に変えただけ (Windowsだとx-MS932_0213のほう?) Shift-JISだと古いやつなんやな
969 名前:デフォルトの名無しさん [2019/11/12(火) 21:37:48.42 ID:+gLjUv3x.net] >>941 処理データ量が少なく計算効率を考慮しなくて良いなら、Rで簡潔に書ける。 https://ideone.com/cRvth9 効率が求められるなら、Cで二分探索の変形版だな。 https://ideone.com/FXQQjq
970 名前:デフォルトの名無しさん [2019/11/12(火) 22:38:04.89 ID:SyoIDDRx.net] windowsのロングパス対応の重複ファイル検索するコードない?
971 名前:デフォルトの名無しさん mailto:sage [2019/11/13(水) 04:07:44 ID:eXHRJefh.net] >>941 Pharo/Squeak Smalltalk | fn | fn := [:m | | table | table := #(98 100 198 200 250 298). table detectMin: [:x | (x - m) abs] ]. fn value: 50. "=> 98 " fn value: 195. "=> 198 "
972 名前:デフォルトの名無しさん mailto:sage [2019/11/13(水) 14:07:45.70 ID:9sxFrKBI.net] >>941 https://ideone.com/wJ8lPk C++。多分動いてるけど、境界線系のエラーハンドリングは適当。
973 名前:デフォルトの名無しさん mailto:sage [2019/11/13(水) 15:30:27.12 ID:EqcpRCSG.net] どう考えても線形探索の方が簡単で速い 1回だけなら
974 名前:デフォルトの名無しさん [2019/11/13(水) 18:24:57.67 ID:utJBi2wY.net] >>941 Lua function f(a, x) local res = a[1] for i = 2, #a do if math.abs(res - x) > math.abs(a[i] - x) then res = a[i] end end return res end
975 名前: mailto:sage [2019/11/13(水) 20:03:11.45 ID:ESFhNQze.net] >>944 https://mevius.5ch.net/test/read.cgi/tech/1434079972/53
976 名前:デフォルトの名無しさん mailto:sage [2019/11/13(水) 20:28:42.98 ID:6mLuLK4e.net] >>941 octave https://ideone.com/kbVTGp
977 名前:デフォルトの名無しさん [2019/11/13(水) 20:40:25.65 ID:H1DP2m/6.net] >>944 >>1002
978 名前:デフォルトの名無しさん [2019/11/13(水) 20:48:13.08 ID:CMaH4qd1.net] >>941 C++ならSTLのequal_rangeを使えば、二分探索のコードを自前で書かずに済む。 https://ideone.com/KJ134u この例の条件でしか判定しないなら、5つの定数値との比較にするのが一番簡単で 速そうだな。 https://ideone.com/ef553N
979 名前:デフォルトの名無しさん mailto:sage [2019/11/13(水) 21:39:03.09 ID:Fqkv69gY.net] なんで順番に5回も比較してんの?
980 名前:デフォルトの名無しさん mailto:sage [2019/11/13(水) 21:47:59.14 ID:kE3A4AyF.net] 10回比較するわけにはいかないからでしょ
981 名前:デフォルトの名無しさん mailto:sage [2019/11/13(水) 21:53:11.46 ID:RzCRvdkP.net] まずは199との比較では? あとは範囲を絞ったテーブルとか int全てをカバーするテーブルも intが32bitな64bit環境なら一応は可能
982 名前:蟻人間 mailto:sage [2019/11/13(水) 22:09:59.79 ID:SHPlbPC2.net] お題: 自動塗り絵。 白地に黒い線で図形が描かれているモノクロ画像が与えられる。 白い領域をそれぞれ適当な単色で塗りつぶせ。可能ならOpenCVを使ってもいい。
983 名前:デフォルトの名無しさん mailto:sage [2019/11/13(水) 22:51:59.05 ID:RzCRvdkP.net] ペイントブラシ + スクリプト で出来そう
984 名前:デフォルトの名無しさん [2019/11/13(水) 23:03:48.70 ID:CMaH4qd1.net] >>955 「一番速い」ではなく「一番簡単で速い」だからね。可読性とかバグの 混入しにくさとかも考えると、順番に5回比較するのが一番良いだろ。 特に https://mevius.2ch.net/test/read.cgi/tech/1573214616/3 への 回答としては、最も適している。
985 名前:デフォルトの名無しさん mailto:sage [2019/11/13(水) 23:40:49.81 ID:RzCRvdkP.net] 一番速くもないし一番簡単でもない 一番「簡単で速い」? 簡単と速いは相反するので一番なんて無い
986 名前:デフォルトの名無しさん mailto:sage [2019/11/13(水) 23:42:10.65 ID:RzCRvdkP.net] 凡人が安易に「一番」とか言わない方が良いよ
987 名前:デフォルトの名無しさん [2019/11/14(木) 01:06:49.29 ID:4AhPUV/Y.net] 俺が一番
988 名前:デフォルトの名無しさん [2019/11/14(木) 06:15:22.98 ID:BnXMw1SX.net] >>941 Io f:=method(a,x, a map(v,list((v-x)abs,v))min last ) d:=list(98,100,198,200,298) f(d,120) println 実行結果 100
989 名前:デフォルトの名無しさん mailto:sage [2019/11/14(木) 09:31:40.70 ID:baSi3t2K.net] 一番簡単で速いってなんだよ 一番簡単かつ一番速いなら一番速いって言えばいいだけだろ ってC++の人かよ
990 名前:デフォルトの名無しさん mailto:age [2019/11/14(木) 12:32:18.21 ID:WVE0j82D.net] 一番に過剰反応してるみなさんwww
991 名前:デフォルトの名無しさん mailto:sage [2019/11/14(木) 13:14:51.59 ID:/NpdgKVA.net] 一番とか最も適しているとか 頭が悪いやつが良く言うセリフ
992 名前:デフォルトの名無しさん mailto:sage [2019/11/14(木) 13:27:39.39 ID:isT1FYJS.net] それな あと「頭悪いやつがよく言う」ってのも頭悪いやつよく言うセリフだわ
993 名前:デフォルトの名無しさん mailto:sage [2019/11/14(木) 15:14:06.76 ID:1CVvHcAw.net] >>941 python https://ideone.com/g2dWOw
994 名前:デフォルトの名無しさん mailto:sage [2019/11/14(木) 16:23:41.28 ID:bZ2yXVXr.net] >>963 俺、よくmakehoge書いてる人だけど、その二分探査書いた人は別人。 偶に、俺じゃない人がC++書いてくことがある。 まぁ、俺も貢献度が高いかというと解らんけど。
995 名前:デフォルトの名無しさん [2019/11/14(木) 22:16:17.11 ID:ya/1xYDt.net] >>963 「一番簡単で速い」は「一番簡単」かつ「速い」という意味だよ。 一番簡単なコードを書いてみて充分に速ければ、さらに手を加える必要はないってこと。 昨今はCPUが速いので、簡単なコードをささっと書いて終わりにできる場合が多いし、 Cを使うまでもなくRやPythonなどでも実用に耐える。処理条件が変わって速度に 不満が生じたときだけ、書き直せば良い。
996 名前:デフォルトの名無しさん mailto:sage [2019/11/14(木) 22:21:25.20 ID:KjmBL3+S.net] 配列をキャッシュに乗せるだけで早くなる 配列にするだけで早くなる
997 名前:デフォルトの名無しさん [2019/11/14(木) 23:43:50.36 ID:ya/1xYDt.net] >>970 >>941 の最も近い値を求める処理(Aと呼ぶ)だけを複数回連続して行う場合はそうだが、 間に別の処理(Bと呼ぶ)がたくさん入る場合はキャッシュから外れるかも知れないし、 AよりもBの方で相対的にだいぶ長い時間がかかっているならば、Aを高速化する 意味はない。 Aを簡単に書き終え、Bを書き進めてプログラム全体を完成させ、各部分の実行時間を デバッガで分析し、Aを高速化する必要があるか判定するのが効率的な開発方法。 必要なときだけAを書き直してみて、元のAと実行時間を比較し、顕著に速い場合だけ 採用する。あまり変わらない場合は元の
998 名前:簡単な方に戻す。 [] [ここ壊れてます]
999 名前:デフォルトの名無しさん mailto:sage [2019/11/15(金) 06:08:37 ID:/dDy1LQy.net] >>969 なぜ 一番簡単 だと思ったのか
1000 名前:デフォルトの名無しさん mailto:sage [2019/11/15(金) 06:11:01 ID:/dDy1LQy.net] 中途半端に最適化するくらいなら 意味通りをそのまま記述した方が良いよ トリッキーなマクロとか使わないで普通にループでいいし
1001 名前:デフォルトの名無しさん [2019/11/15(金) 07:24:03.38 ID:YlbiRAmO.net] >>941 J f =: 4 : 0 {. x /: | x - y ) a =: 98 100 198 200 250 298 a f 199 198
1002 名前:デフォルトの名無しさん mailto:sage [2019/11/15(金) 08:39:52.88 ID:zGnI3whh.net] >>491 python 整数の範囲を 1000000000 にして、リストのサイズをその1/10の 100000000 にしてやった物 https://ideone.com/JL4ZtG
1003 名前:デフォルトの名無しさん mailto:sage [2019/11/15(金) 08:46:57.30 ID:pd2oXw5y.net] お題はどれ?
1004 名前:デフォルトの名無しさん mailto:sage [2019/11/15(金) 10:34:11.71 ID:zGnI3whh.net] >>975 は、>>941 のお題の間違い。
1005 名前:デフォルトの名無しさん mailto:sage [2019/11/15(金) 10:34:39.11 ID:kGxI2dsU.net] >>972 もっと簡単なのがあると言うなら提示すりゃいいだけ
1006 名前:デフォルトの名無しさん mailto:sage [2019/11/15(金) 10:37:36.49 ID:Dg2kwGpJ.net] そんなら一番簡単なんて言ったもん勝ちやんアホクサ
1007 名前:デフォルトの名無しさん mailto:age [2019/11/15(金) 11:19:40.93 ID:y6ix6SXf.net] >>979 どういうこと?
1008 名前:デフォルトの名無しさん mailto:sage [2019/11/15(金) 13:20:35.16 ID:pd2oXw5y.net] 発言者に証明責任がある 当たり前
1009 名前:デフォルトの名無しさん mailto:sage [2019/11/15(金) 13:22:00.36 ID:pd2oXw5y.net] 簡単じゃない部分は書いたけどね
1010 名前:デフォルトの名無しさん mailto:sage [2019/11/15(金) 13:25:38.61 ID:pd2oXw5y.net] 本当に一番簡単だと思ってるなら 非常に頭が弱い というしかない
1011 名前:デフォルトの名無しさん mailto:age [2019/11/15(金) 16:04:20.43 ID:y6ix6SXf.net] 証明責任が
1012 名前:デフォルトの名無しさん [2019/11/15(金) 18:45:17.65 ID:YlbiRAmO.net] >>941 Ruby def f(a,x) a.min_by{|v|(v-x).abs} end
1013 名前:デフォルトの名無しさん mailto:sage [2019/11/15(金) 22:18:10.52 ID:1XAUh39O.net] >>982 ひょっとして>>973 か? 頓珍漢な指摘でドヤられても困るw
1014 名前:デフォルトの名無しさん mailto:sage [2019/11/16(土) 07:59:12.18 ID:PKd8UO5d.net] お前ちょっとしつこいよ 二人ともどっか行ってくれ
1015 名前:デフォルトの名無しさん mailto:sage [2019/11/16(土) 09:38:56.12 ID:R3eXoa4h.net] お題: 標準入力から読み取った文字列に対して変換候補の単語を表示するスクリプトを作れ 変換候補は https://www.cs.cmu.edu/~rgs/alice-table.html のテキストを元にし、英文のみの対応とする 例: in < on out > ['on', 'once', 'one', 'only'] in < we out > ['well', 'went', 'were']
1016 名前:デフォルトの名無しさん mailto:sage [2019/11/16(土) 09:39:44.99 ID:R3eXoa4h.net] >>988 URL訂正: https://www.cs.cmu.edu/~rgs/alice-I.html
1017 名前:10-11 mailto:sage [2019/11/16(土) 11:43:03.30 ID:nyexrMnj.net] Mathematica ビットテーブル使ったからいまいち f[x_]:=Round[Exp[x*49/2^9]*10]+Mod[BitShiftRight[8518656,x],2] f[Range[0,23]] {10,11,12,13,15,16,18,20,22,24,27,30,33,36,39,43,47,51,56,62,68,75,82,91}
1018 名前:デフォルトの名無しさん mailto:sage [2019/11/16(土) 13:01:44.00 ID:9Ne+J8hx.net] >>988-989 PowerShell $Words = ([RegEx]"\w+").Matches((Invoke-WebRequest 'https://www.cs.cmu.edu/~rgs/alice-I.html').Content) | Select-Object -ExpandProperty 'Value' | Sort-Object -Unique 'on', 'we' | %{ "'$_' => ['$($Words -cmatch "^$_.*$" -join ''', ''')']" } -- 'on' => ['on', 'once', 'one', 'only'] 'we' => ['well', 'went', 'were']
1019 名前:蟻人間 mailto:sage [2019/11/16(土) 14:12:37.63 ID:wI2tFyzM.net] そろそろ次スレ
1020 名前:デフォルトの名無しさん [2019/11/16(土) 20:00:42.94 ID:ycfnvugG.net] >>987 誤解がないように一応言っておくが、同一人物なのは943, 952, 958, 969, 971, 993だけで、 978や986は別人ね。
1021 名前:デフォルトの名無しさん mailto:sage [2019/11/16(土) 20:11:13.21 ID:SjIOWxyj.net] どうでもいい 匿名掲示板
1022 名前:デフォルトの名無しさん mailto:sage [2019/11/16(土) 22:09:51.31 ID:ByTTIV4m.net] >>988 @Mathematica https://ideone.com/3Ad2Nv
1023 名前:デフォルトの名無しさん mailto:sage [2019/11/17(日) 09:01:36.94 ID:xqEdXdr6.net] 次スレ プログラミングのお題スレ Part16 mevius.5ch.net/test/read.cgi/tech/1573948822/
1024 名前:990 mailto:sage [2019/11/17(日) 15:37:45.58 ID:WMPUR+bY.net] BitGet使うんだった(Mathematicaに慣れてないのばればれ) (* 49/2^9 = 0.095703125 *) f[x_]:=Round[Exp[x*0.095703125]*10]+BitGet[8518656,x] もう少し頑張っても16ビット以内にビットテーブルは縮小出来ず…。 (* 785/2^13 = 0.0958251953125 *) f[x_]:=Round[Exp[x*0.0958251953125]*10]+BitGet[130048,x]
1025 名前:デフォルトの名無しさん [2019/11/21(木) 12:06:42.30 ID:p+kY48sO.net] >>941 julia a=[98,100,198,200,250,298] f(a,x)=a[argmin(map(abs ,a.-x))] f(a,50)
1026 名前:デフォルトの名無しさん mailto:sage [2019/11/21(木) 17:12:54.10 ID:x85mexbT.net] >>988-989 Squeak Smalltalk。関数で。 | contents words fn | contents := (HTTPClient httpGet: 'https://www.cs.cmu.edu/~rgs/alice-I.html') contents. words := (contents replaceAll: Character lf with: Character space; asTextFromHtml) asString subStrings: ' !"''()*,-.:;?`'. words := words asSet asSortedArray. fn := [:in | words select: [:word | word beginsWith: in]]. fn value: 'on'. "=> #('on' 'once' 'one' 'only') " fn value: 'we'. "=> #('well' 'went' 'were') " "for Pharo => ws.stfx.eu/DK48GF5ZH8SF "
1027 名前:蟻人間 mailto:sage [2019/11/21(木) 20:01:07.49 ID:KAM+noJg.net] はかい こうせん せんもんがっこう
1028 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 116日 0時間 21分 10秒
1029 名前:1002 [Over 1000 Thread.net] 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。 運営にご協力お願いいたします。 ─────────────────── 《プレミアム会員の主な特典》 ★ 5ちゃんねる専用ブラウザからの広告除去 ★ 5ちゃんねるの過去ログを取得 ★ 書き込み規制の緩和 ─────────────────── 会員登録には個人情報は一切必要ありません。 月300円から匿名でご購入いただけます。 ▼ プレミアム会員登録はこちら ▼ https://premium.5ch.net/ ▼ 浪人ログインはこちら ▼ https://login.5ch.net/login.php
1030 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています