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/
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