1 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 00:02:57.84 ID:MQWrKSb7.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/ 宿題は宿題スレがあるのでそちらへ。 ※前スレ プログラミングのお題スレ Part19 https://mevius.5ch.net/test/read.cgi/tech/1606662245/
910 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 18:59:46.26 ID:u3TD418O.net] 思ってない人は具体的にどう言う定義があるのか書けばいいんじゃね?
911 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 19:06:50.77 ID:iggZ7AM6.net] ちょっと前のレスくらい読め
912 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 19:18:35.30 ID:u3TD418O.net] ん? ならなにを言いたいのかわからんわ
913 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 19:20:02.13 ID:iggZ7AM6.net] わからないなら無理に書き込まなくていいよ
914 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 19:54:59.56 ID:u3TD418O.net] ごめん、説明できないならいいや
915 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 14:37:23.18 ID:wb4h3pkZ.net] >>857 octave https://ideone.com/1JUukk f = @(a, b) (a + b) * (b - a + 1) / 2;
916 名前:デフォルトの名無しさん [2022/11/05(土)
] [ここ壊れてます]
917 名前:22:37:38.99 ID:ik3uUvNv.net mailto: >>857 Java https://paiza.io/projects/qlqEQa2EzsIMTABY1ujOcg?language=java [] [ここ壊れてます]
918 名前:デフォルトの名無しさん mailto:sage [2022/11/05(土) 23:35:33.60 ID:WGyFluMA.net] 10*11/2
919 名前:デフォルトの名無しさん [2022/11/06(日) 03:33:15.03 ID:V4pkDxVq.net] >>857 Kotlin https://paiza.io/projects/uWXy93c98CoNzF0o2H_wgQ ループ文は使わず再帰でなんとかした。 (1..10).sum() や (1..10).reduce { a, n -> a + n } でも結果は出るが sum() や reduce() がライブラリにある拡張関数なので没。 10 * 11 / 2 とか 55 を直接出すのはプログラム作る意味がほとんどないような感じがするので止めた。
920 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 04:47:10.33 ID:p1AlQ8ne.net] お題が、正方形や三角形の面積を求めるのと 同程度に簡単な式だしなあ
921 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 08:11:23.79 ID:l6ScHNeb.net] Haskell sum [1..10]
922 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 08:35:41.45 ID:5UCgIOa9.net] >>861 で終了じゃん 最適化して55でも良いけど 中途半端に和の公式使ってるヤツってアホなの?
923 名前:デフォルトの名無しさん [2022/11/06(日) 09:08:00.03 ID:aYMPlSSq.net] 一垓にそうは言えないのでは ループを使わないの意味が多くの数でもすぐ答えがでそうな処理を見たいのかもしれない
924 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 09:25:21.24 ID:p1AlQ8ne.net] 掛け算割り算だと中途半端でアホで 足し算だと利口だとおっしゃる
925 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 09:33:05.99 ID:5UCgIOa9.net] 和の公式を使うくらいなら55の方が良い って話 なんで中途半端な最適化をするの?
926 名前:デフォルトの名無しさん [2022/11/06(日) 09:38:06.42 ID:gK09y9Q8.net] 1^n + 2^n +・・・+(10^25)^n n=10、 n=-17 の手段選ばすとかは? 25条はぎりふつうループでは困難かとおもえる数値を適当にいまおもいついた
927 名前:デフォルトの名無しさん [2022/11/06(日) 10:54:00.31 ID:Zb5xxfES.net] = 10+(9+1)+(8+2)+(7+3)+(4+6)+5 = 10+10+ 10+ 10+ 10+ 5 = 10 + (10 * ((10/2)-1))+5 = (10 * ((10/2)-1))+10+5 = x(0.5x-1)+1.5x
928 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 12:06:08.03 ID:5iQhHwnm.net] こうどなじょうほうせん を愉しむための問題でしょ
929 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 15:29:02.07 ID:RIYDMAGE.net] と思って>>863 を書いたんだけど
930 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 15:33:43.73 ID:RIYDMAGE.net] 1~10の合計 1から10までの合計 じゃなくて 1~10までの合計 っていうのも気になった
931 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 17:04:56.12 ID:PNCv3I6p.net] 1~10までの実数の合計って言ってる奴は有限の値に収束するとでも思っているか
932 名前:デフォルトの名無しさん [2022/11/06(日) 18:24:36.01 ID:S6zCBHE1.net] するだろ https://i.imgur.com/jPwi4sZ.jpg
933 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 18:35:07.31 ID:mzFwuoQr.net] >>890 合計にはdx関係ないぞ...
934 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 18:37:14.41 ID:PNCv3I6p.net] 低レベルすぎて草 1以上10以下の実数全体の集合をAとすると #A = ?_1 ゆえに Σ_{λ∈A}λ は有限の値を取らない
935 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 18:38:48.30 ID:PNCv3I6p.net] 文字化けしたか 「#A = 連続体濃度」
936 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 18:48:29.30 ID:qhQ571Br.net] なんか足すと一見無限になりそうだけど ある区間a<bの間にa<c<bとなるcが取れなくなることはありえないよね?
937 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:07:23.07 ID:9PA1hevU.net] >>889 和が存在しないとうならそれが答え 3を含むが3.5を含まないという説得力のある説明が出来るならよろしく
938 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:12:17.73 ID:PNCv3I6p.net] >>895 和が発散する説明はすでにしてあるんだが何を言いたいの
939 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:14:51.13 ID:9PA1hevU.net] Q:和を求めよ A:和は存在しない
940 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:15:52.52 ID:9PA1hevU.net] 発散とか収束とか 意味をわかって使わないと恥ずかしいぞ
941 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:17:22.08 ID:PNCv3I6p.net] >>895みたいなこと言う奴が解析の基礎すら理解できてるとすら思えないが
942 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:17:36.32 ID:9PA1hevU.net] >>892 が最高に恥ずかしい
943 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:19:08.56 ID:9PA1hevU.net] >>899 最高に笑える書き込みありがとう
944 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:19:25.97 ID:PNCv3I6p.net] 数学的に具体的な反論が一切ないじゃん バカなの
945 名前:デフォルトの名無しさん [2022/11/06(日) 19:21:59.86 ID:aYMPlSSq.net] ぽまえら 餅付いて >>857 を嫁
946 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:23:24.47 ID:9PA1hevU.net] >>892 を見ただけでアホだとわかる
947 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:24:24.94 ID:PNCv3I6p.net] >>904 暴言は結構なんで、数学的に反論してくれませんか? まあ頭が悪くてできないんでしょうけど
948 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:28:25.36 ID:9PA1hevU.net] >>905 何に反論してほしいの? 多分視野が狭くて何を主張されてるのかわかってないと思うんで 一回落ち着いた方がいいぞ その上で 君が主張を明確にして それに対して反対意見があれば反論してあげる
949 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:30:41.70 ID:9PA1hevU.net] 1以上10以下の実数の総和が存在しないことなんて 誰でもわかる 和が存在するなんて主張はしてないから勘違いしないように
950 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:31:28.37 ID:PNCv3I6p.net] >>906 >1~10までの実数の合計って言ってる奴は有限の値に収束するとでも思っているか に対してお前は>>895 みたいなクソ発言してるわけだがこのクソ発言の妥当性を説明して見ろよ
951 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:35:38.89 ID:9PA1hevU.net] 和が存在しないというならそれが答え の意味がわからなかったかな? その次の文は和の存在とは関係ない 君への宿題
952 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:37:43.37 ID:PNCv3I6p.net] >>909 任意のRの開区間に対してその元の和が有限の値になる場合何てないんだから 「和が存在しないというならそれが答え」なんて発言は問題の本質を理解していないバカの発言だろ 人に宿題出す前に算数からやり直せよ
953 名前:デフォルトの名無しさん [2022/11/06(日) 19:40:06.40 ID:eRXytuty.net] 【悲報】アスペ君、今日も元気。。。
954 名前:デフォルトの名無しさん [2022/11/06(日) 19:46:26.35 ID:Zb5xxfES.net] プログラミングのお題なんだから1+2+に決まってるだろ。 少数を含めた1から10までに考えられる数値を足すとかできるわけねえだろ。
955 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:47:59.95 ID:9PA1hevU.net] >>910 問題の本質というなら 解釈の多様性が本質 和の存在は解釈とは無関係 存在しないなら「存在しない」が答えとなるだけの話
956 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:48:45.29 ID:9PA1hevU.net] >>912 floatやdoubleなら有限だね
957 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:49:37.79 ID:PNCv3I6p.net] >>913 お気持ちで数学を語るのやめてくれませんかね はなはだ不愉快です 「任意のRの開区間に対してその元の和」に対して有限の値を取らないという以外にどんな有意味なモデルが取り得るんですかね バカすぎて日本語の意味すら理解できてなさそうだけど
958 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:49:56.13 ID:9PA1hevU.net] 決まってるといくら主張しても お題に書いてないんだから どう解釈されても出題者が悪い
959 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:51:41.99 ID:9PA1hevU.net] >>915 お前が数学の話を語りたがってるだけで 私はただ解釈の多様性の話をしてるだけ
960 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:52:43.83 ID:9PA1hevU.net] >>863 に数学っぽい話あったか?
961 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:52:59.97 ID:PNCv3I6p.net] >>917 実数の開区間の和が有限じゃないことにいちゃもん付けてきたのはオタクでしょ? 有限の値を取らない意外にどんな有意義な解釈が成り立つんですか? きちんと説明しなさい
962 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:53:54.13 ID:9PA1hevU.net] >>919 それ別の人
963 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:55:00.86 ID:9PA1hevU.net] >>890 と同一人物だと思って トンチンカンな書き込みを繰り返してたのたね 恥ずかしい
964 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:55:05.02 ID:PNCv3I6p.net] >>920 >和が存在しないとうならそれが答え って和が存在する有意義なモデルがあるって言う前提で話してますよね? もしそうじゃないならこれはどういう意図で行ったんですか? ちなみに続く3.5云々の意味もよく分かってません
965 名前:デフォルトの名無しさん [2022/11/06(日) 19:56:03.75 ID:aYMPlSSq.net] もうこりゃ発散とか収束とか言う前に就職の心配したほうがいいな
966 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:57:33.13 ID:9PA1hevU.net] >>922 落ち着いてから書き込んでね
967 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 19:59:09.36 ID:PNCv3I6p.net] >>924 敗北宣言ですか これにこりたら今後二度とお気持ちで数学を語るのはやめてください 研究者やエンジニアが迷惑するので
968 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 20:01:35.14 ID:9PA1hevU.net] 数学を語りたがってるのはお前と>>890 だけだって だから落ち着け
969 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 20:06:58.14 ID:9PA1hevU.net] おれの主張は>>863 だから もちろん本気で出題者がそう思っているという主張ではなくて 解釈の余地があるという問題提起
970 名前:デフォルトの名無しさん [2022/11/06(日) 20:07:53.80 ID:Zb5xxfES.net] 問題は出題者の意図を読み取ることが重要 1~10までの整数の和の事だろうなと考えるのが低レベルとは思えない。 常識で考えればそうなる できればその高レベルのプログラムとやらを説明してほしいものだな。
971 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 20:12:04.95 ID:9PA1hevU.net] 一応プログラム板なんだからさ 解釈の多様性を多少は意識しようよ プログラミング言語だったら「動作未定義」 曖昧な仕様書で中国人に発注したら 一番都合の良い解釈をされてとんでもないソフトになるぞ
972 名前:デフォルトの名無しさん [2022/11/06(日) 20:17:19.25 ID:Zb5xxfES.net] プログラムのお題なんだから、 プログラムで実現できないってのは答えにはならんよ。 国語の問題じゃねえんだから、 プログラムとして成立する答えを出せよ
973 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 20:24:40.28 ID:9PA1hevU.net] 国語の問題じゃねえんだから 出題者の意図を好意的に汲み取る必要はないんだよ
974 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 20:26:21.60 ID:mzFwuoQr.net] >>930 だからちゃんと仕様出せやってことだろ >>863 は半分ネタだと思うけど、実数だと言うなら実数について「1~10までの合計」を定義しないとお題にならんよ
975 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 20:32:00.92 ID:9PA1hevU.net] >>932 私は出題者じゃないし実数だなんて主張もしてない いろんな解釈があるならお題にならん 解釈の余地は可能な限り減らせ
976 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 20:38:00.65 ID:mzFwuoQr.net] >>933 お前にアンカーしてるわけでもないのに絡んでくるとかあたおかすぎる
977 名前:デフォルトの名無しさん [2022/11/06(日) 20:59:57.69 ID:Zb5xxfES.net] 1から10までの整数の和では無い可能性があるから、 その場合はプログラムでは実現できないって言いたいだけだろ 整数の和として答えてるプログラムを低レベルってどういことやねん。 素直に受け取ればいいものを曲解して不可能に持って行ってるだけだろ
978 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 21:02:11.02 ID:9PA1hevU.net] 「整数の和として答えてるプログラムを低レベルってどういことやねん。」 だれがそんなことかいた?
979 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 21:04:22.43 ID:9PA1hevU.net] >>935 >>931
980 名前:デフォルトの名無しさん mailto:sage [2022/11/06(日) 21:07:02.93 ID:tOVlE3Vc.net] >>857 python: https://ideone.com/mJmWy7 やさしいお題、助かります!
981 名前:デフォルトの名無しさん mailto:sage [2022/11/07(月) 06:42:16.97 ID:C4s2+P7f.net] 仕事では御免だが 解釈の余地を残すことが娯楽では大切だって良く分かる例
982 名前:デフォルトの名無しさん [2022/11/07(月) 15:08:59.94 ID:4okW5BTf.net] お題:1/1+1/2+...+1/nの合計を求め、分母と分子を整数で出力せよ。 *ただしライブラリを使わないこと
983 名前:デフォルトの名無しさん mailto:sage [2022/11/07(月) 15:35:37.09 ID:Sowq9nFL.net] >>940 Ruby (1..n).map{ 1r/_1 }.sum
984 名前:デフォルトの名無しさん mailto:sage [2022/11/07(月) 15:48:12.
] [ここ壊れてます]
985 名前:36 ID:wln8XcGb.net mailto: >>940 haskell https://ideone.com/DtEB7R [] [ここ壊れてます]
986 名前:デフォルトの名無しさん mailto:sage [2022/11/07(月) 17:42:49.96 ID:dFD6FGsc.net] gcdとかsumとかprintはライブラリじゃないの?
987 名前:デフォルトの名無しさん [2022/11/07(月) 18:21:56.48 ID:UfWjgfnM.net] 1+・・・+1/n の小数点n桁目はいくらか
988 名前:デフォルトの名無しさん mailto:sage [2022/11/07(月) 18:47:35.11 ID:Fdh4LiCB.net] >>944 こっちの方がおもしろいかも 小数第○位って昔は言ったけど今は言わない?
989 名前:デフォルトの名無しさん [2022/11/07(月) 20:48:13.34 ID:OXo72DE3.net] >>940 Java https://paiza.io/projects/cuy0WENv4Ghi-7jq9eTIbw
990 名前:デフォルトの名無しさん mailto:sage [2022/11/07(月) 20:49:01.52 ID:FonngYyy.net] >>943 Pythonではprintは組み込み関数だな 他は知らんけど
991 名前:デフォルトの名無しさん mailto:sage [2022/11/07(月) 21:06:30.94 ID:Fdh4LiCB.net] 組み込み関数はライブラリじゃないと ライブラリと呼ばない言語なら何でもありか
992 名前:デフォルトの名無しさん mailto:sage [2022/11/07(月) 21:08:54.69 ID:Fdh4LiCB.net] C言語上のただのintの乗算でもライブラリが必要な環境もあるわけだけど
993 名前:デフォルトの名無しさん mailto:sage [2022/11/07(月) 21:34:22.19 ID:q2YPtCXX.net] アルゴリズムが見たいのでしょうね
994 名前:デフォルトの名無しさん mailto:sage [2022/11/07(月) 21:35:14.79 ID:kmERiYaX.net] まあ今時組込とかでもなきゃintの乗算でライブラリ呼び出す環境もあまりないけどそもそも入出力はライブラリ任せだからねぇ
995 名前:デフォルトの名無しさん mailto:sage [2022/11/07(月) 23:30:13.24 ID:3GzmFPX6.net] >>943 Haskell ? だとsumやgcdはpreludeで標準関数扱い 基本import〜が必要ない奴は標準扱い
996 名前:デフォルトの名無しさん [2022/11/08(火) 01:53:36.92 ID:s644Ul/+.net] >>940 Kotlin https://paiza.io/projects/93xp9A_EpkG2QbWBuOvAoQ 分子と分母を別々に保持して足し続けただけ。約分はしていない。
997 名前:デフォルトの名無しさん mailto:sage [2022/11/08(火) 21:45:51.73 ID:dCnZkmaL.net] >>940 https://ideone.com/zNHUB9 ・「ただし」以下は無視した回答 function [n, d] = f(n) [n, d] = rat(sum(1./(1:n)), 1e-7); end
998 名前:デフォルトの名無しさん mailto:sage [2022/11/08(火) 21:46:18.88 ID:dCnZkmaL.net] >>940 octave https://ideone.com/zNHUB9 ・「ただし」以下は無視した回答 function [n, d] = f(n) [n, d] = rat(sum(1./(1:n)), 1e-7); end
999 名前:デフォルトの名無しさん [2022/11/09(水) 00:46:04.53 ID:oWTDq5DR.net] >>940 octave https://ideone.com/zNHUB9 ・「ただし」以下は無視した回答 function [n, d] = f(n) [n, d] = rat(sum(1./(1:n)), 1e-7); end
1000 名前:デフォルトの名無しさん [2022/11/09(水) 00:46:10.95 ID:oWTDq5DR.net] >>940 octave https://ideone.com/zNHUB9 ・「ただし」以下は無視した回答 function [n, d] = f(n) [n, d] = rat(sum(1./(1:n)), 1e-7); end
1001 名前:デフォルトの名無しさん [2022/11/09(水) 01:55:16.87 ID:QvIAsso6.net] なぜ同じ書き込みが4つもある?
1002 名前:デフォルトの名無しさん mailto:sage [2022/11/09(水) 02:02:28.03 ID:Ewgu9c/a.net] お題スレの7不思議に加えよう
1003 名前:デフォルトの名無しさん [2022/11/09(水) 12:49:26.26 ID:AHjhHUHj.net] お題 入力した文字列を以下の4種類に分けた文字列を作成する関数を作成してください ・アルファベット大文字 ・アルファベット小文字 ・数字 ・それ以外の文字
1004 名前:デフォルトの名無しさん [2022/11/09(水) 18:55:40.68 ID:dDwxEUkd.net] Array.from(input).filter(c=>c.match(/[A-Z]/)).join("") + Array.from(input).filter(c=>c.match(/[a-z]/)).join("") + Array.from(input).filter(c=>c.match(/[0-9]/)).join("") + Array.from(input).filter(c=>c.match(/[^A-Za-z0-9]/)).join("")
1005 名前:デフォルトの名無しさん mailto:sage [2022/11/09(水) 20:05:26.68 ID:1g3d+RJJ.net] >>960 octave https://ideone.com/SHPVub function c = f(s) u = isstrprop(s, 'upper'); l = isstrprop(s, 'lower'); d = isstrprop(s, 'digit'); c = {s(u) s(l) s(d) s(~(u | l | d))}; end
1006 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 01:00:36.16 ID:UXFdZVAF.net] >>960 Haskell https://ideone.com/jMHNnq isUpper = flip elem [ 'A' .. 'Z' ] isLower = flip elem [ 'a' .. 'z' ] isNum = flip elem [ '0' .. '9' ] isOthers = id . all not . zipWith ( $ ) [ isUpper, isLower, isNum ] . repeat sieve str = [ filter cond str | cond <- [ isUpper, isLower, isNum, isOthers ] ] testStr = "foldl1 :: Foldable t => (a -> a -> a) -> t a -> a" main = mapM_ print $ sieve testStr
1007 名前:デフォルトの名無しさん [2022/11/10(木) 01:50:3
] [ここ壊れてます]
1008 名前:8.82 ID:j8kXq8l6.net mailto: >>547 Java https://paiza.io/projects/Dxe5e0qmmy73WWNdzTvCbg [] [ここ壊れてます]
1009 名前:デフォルトの名無しさん [2022/11/10(木) 02:29:28.73 ID:kjI8mJgQ.net] >>961 俺も正規表現でやりたいけどこっちのほうが5倍速かった… コンパイル言語に比べたら目くそ鼻くそだがこんだけ違うと考えちゃうな const str = 'aA0!bB1@cC2#dD3$eE4%'.repeat(500); let oomoji = [], komoji = [], suuji = [], sonota = []; for (const c of str) { let cp; switch (true) { case 65 <= cp && cp <= 90: oomoji.push(c); break; case 97 <= cp && cp <= 122: komoji.push(c); break; case 48 <= cp && cp <= 57: suuji.push(c); break; default: sonota.push(c); } } [oomoji, komoji, suuji, sonota] = [oomoji, komoji, suuji, sonota] .map(a => a.join``); // console.table({oomoji, komoji, suuji, sonota});
1010 名前:デフォルトの名無しさん [2022/11/10(木) 02:37:16.98 ID:kjI8mJgQ.net] >>965 5倍じゃなくて3倍だったわ perf.linkで測ったコード、 let cp = c.codePointAt(); が let cp; になってたわ寝ぼけてた
1011 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 07:33:44.51 ID:oQpocXYl.net] >>960 ASCII のみで良い? それとも Unicode?
1012 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 07:56:41.06 ID:3FlvzqxM.net] >>960 Ruby -> s { s.scan(/[A-Z]+|[a-z]+|\d+|[\W_]+/) }
1013 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 14:11:20.86 ID:oQpocXYl.net] >>960 Kotlin https://paiza.io/projects/Qfx9ljGCsICVDui8fcn-0A Unicodeで作った。サロゲートペアの文字もちゃんと扱える。 判別には Java の Character クラスのメソッドを利用している。 これだといわゆる全角の数字は数字扱いになるが漢数字は数字と分類してくれない。 ローマ数字はアルファベット大文字扱い。 日本語の「あ」とかもアルファベットとして扱われるが大文字でも小文字でもないのでそれ以外の文字に追加されるようにした。 コントロールコードは \uXXXX 形式になるようにした。
1014 名前:デフォルトの名無しさん [2022/11/10(木) 18:57:30.40 ID:3zaWz6R+.net] >>960 PowerShell function StrClassify($s) { "\P{Lu}", "\P{Ll}", "\P{N}", "[\p{Lu}\p{Ll}\p{N}]" |% {$s -creplace $_} } StrClassify "Κωνσταντινούπολιςは1453年にİstanbulと改称された。`n" StrClassify "塩化銅(Ⅱ)は水中で CuCl₂ ⇄ Cu²⁺ + 2Cl⁻ のように電離する。" [実行結果] Κİ ωνσταντινούπολιςstanbul 1453 は年にと改称された。 CCCC ulul Ⅱ₂²2 塩化銅()は水中で ⇄ ⁺ + ⁻ のように電離する。
1015 名前:デフォルトの名無しさん [2022/11/10(木) 20:35:16.34 ID:V5vZiHvW.net] >>944 をやってみたらPythonで300くらいでオーバーフローになった 分子と分母をべつべつに計算してp/qだったとすると int(10^n * p / q ) % 10 が求める答えのはずだが、この計算ができなかった
1016 名前:デフォルトの名無しさん [2022/11/10(木) 20:44:38.28 ID:V5vZiHvW.net] ここで問題変更でp/qの小数点n桁目を求める問題にすればいいか オーバーフローしないように×10ずつして整数部分は無視していけば整数演算の範囲内にできるか 忘れたがユークリッド互除法みたいな?
1017 名前:デフォルトの名無しさん [2022/11/10(木) 20:50:26.16 ID:m98zu82a.net] input.replace(/[^A-Z]/g,"") + input.replace(/[^a-z]/g,"") + input.replace(/[^0-9]/g,"") + input.replace(/[A-Za-z0-9]/g,"")
1018 名前:デフォルトの名無しさん [2022/11/10(木) 20:51:12.57
] [ここ壊れてます]
1019 名前: ID:m98zu82a.net mailto: [/[^A-Z]/g, /[^a-z]/g, /[^0-9]/g, /[A-Za-z0-9]/g] .map(r => input.replace(r,"")).join("") [] [ここ壊れてます]
1020 名前:971 [2022/11/10(木) 21:10:50.60 ID:V5vZiHvW.net] >>944 オーバーフローせずにできた https://ideone.com/EzCu8k
1021 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 21:27:26.89 ID:p27a51fr.net] >>944 Haskell https://ideone.com/2tUIFo import Data.Ratio hnn n = flip mod 10 $ truncate $ (* ( 10^n)) $ sum $ map recip [ 1%1..n%1 ] main = print $ hnn 300
1022 名前:デフォルトの名無しさん [2022/11/10(木) 21:45:52.91 ID:KPTSzoDK.net] お題 小数点第n位を求めるプログラムを作成せよ
1023 名前:デフォルトの名無しさん mailto:sage [2022/11/10(木) 21:58:11.94 ID:JknzoKCK.net] >>977 何の?
1024 名前:デフォルトの名無しさん mailto:sage [2022/11/11(金) 12:27:18.79 ID:eQP0gwqb.net] ルート4の
1025 名前:デフォルトの名無しさん mailto:sage [2022/11/11(金) 13:33:07.98 ID:XogJxnoW.net] そんなむず過ぎるお題は過疎るのだ却下
1026 名前:デフォルトの名無しさん [2022/11/11(金) 18:36:58.77 ID:Jm4DMnci.net] >>978 入力された実数
1027 名前:デフォルトの名無しさん [2022/11/11(金) 20:10:51.65 ID:+Uq9lyYZ.net] (x*10**n)%10
1028 名前:デフォルトの名無しさん [2022/11/12(土) 01:53:40.01 ID:Y/i2pfZ3.net] お題 配列データと、同じ長さの確率の配列(合計値1)が与えられた時に、対応する確率で配列からデータを出力せよ 例 aa,bb,cc 0.4,0.5,0.1 →aa 40%, bb 50%, cc 10%で出力
1029 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 08:50:36.22 ID:yCEPOpQl.net] >>983 Ruby a = %w[aa bb cc] p = [0.4, 0.5, 0.1] f = -> (a, p) { r = rand; a[(0..a.size-2).find{ r < p[0.._1].sum } || a.size - 1] } 10.times{ print f[a, p] } # => aabbccbbaaaaaabbbbbb
1030 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 10:10:20.03 ID:g2vYgSbJ.net] >>983 Haskell https://ideone.com/UErkR7 import System.Random import Data.List randomDbls :: StdGen -> [ Double ] randomDbls= randomRs (0,1) chooseItem is ws r = let folder a b = a : map ( + a ) b selecter r ( i, ( f, t ) ) = f <= r && r < t ts = foldr folder [ ] ws fs = 0 : ts ifts = zip is $ zip fs ts in fst $ head $ filter ( selecter r ) ifts main = do rds <- ( return . randomDbls ) =<< getStdGen print $ map (chooseItem ['A'..'C' ] [0.4,0.5,0.1] ) $ take 100 rds
1031 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 10:19:35.32 ID:uOtU06vW.net] >>983 octave https://ideone.com/mIKDyu f = @(a, r) a(rand < cumsum(r))(1);
1032 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 14:34:06.57 ID:Q9bJaddO.net] >>983 ocaml https://ideone.com/aDR0Do let (<<) f g x = f (g x) let cumsum = List.rev << fst << List.fold_left (fun (a, s) f -> s +. f :: a, s +. f) ([], 0.) let f xs = let r = Random.float 1. in fst << List.find ((<) r << snd) << List.combine xs << cumsum
1033 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 16:47:04.36 ID:We3Ba5Li.net] >>983 コレでよかった Haskell https://ideone.com/WtPXzw import System.Random randomDbls :: StdGen -> [ Double ] randomDbls= randomRs (0,1) chooseItem (i:is) (w:ws) r | r < w = i chooseItem (i:is) (w:ws) r = chooseItem is ws ( r - w ) main = do rds <- ( return . randomDbls ) =<< getStdGen print $ map (chooseItem ['A'..'C' ] [0.4,0.5,0.1] ) $ take 100 rds
1034 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 17:19:40.29 ID:MirHjvCf.net] >>983 別名法とかいうアルゴリズム https://ideone.com/J0p12R
1035 名前:デフォルトの名無しさん mailto:sage [2022/11/12(土) 19:13:20.80 ID:MirHjvCf.net] https://ideone.com/8utmEg 元からあったコードをちょっといじったんだけど変換ミスがあった
1036 名前:デフォルトの名無しさん [2022/11/13(日) 18:45:40.25 ID:zjrUNZaB.net] >>983 Kotlin https://paiza.io/projects/dh1A84MN5OxLQkw7r2yL7Q
1037 名前:デフォルトの名無しさん mailto:sage [2022/11/13(日) 19:01:26.14 ID:ZCYlhUwL.net] 次スレ
1038 名前:vログラミングのお題スレ Part21 https://mevius.5ch.net/test/read.cgi/tech/1668333636/ [] [ここ壊れてます]
1039 名前:デフォルトの名無しさん [2022/11/15(火) 08:06:01.58 ID:XL64sJsG.net] うめ
1040 名前:デフォルトの名無しさん mailto:sage [2022/11/15(火) 09:22:13.74 ID:x0rg5fHd.net] お題:1辺がn文字の正四角形を表示せよ 1 <= n <= 8 とする
1041 名前:デフォルトの名無しさん mailto:sage [2022/11/15(火) 10:16:55.01 ID:V1sKjJZc.net] haskell https://ideone.com/4Kd3el sqStr n = "" ++ "\x250f" ++ r "\x2501" ++ "\x2513" ++ "\n" ++ r ( "\x2503" ++ r "\x2001" ++ "\x2503" ++ " \n" ) ++ "\x2517" ++ r "\x2501" ++ "\x251b" ++ "\n" where r = concat . replicate ( n-2 ) main = putStr $ sqStr 10
1042 名前:デフォルトの名無しさん mailto:sage [2022/11/15(火) 20:16:12.10 ID:r20LvnA2.net] >>994 octave https://ideone.com/k9cAWw function s = f(n) s = repmat('#', n); s(2:end-1, 2:end-1) = ' '; end
1043 名前:デフォルトの名無しさん [2022/11/17(木) 21:39:57.15 ID:BbSHYj/y.net] うめ
1044 名前:デフォルトの名無しさん [2022/11/17(木) 21:40:03.49 ID:BbSHYj/y.net] うめ
1045 名前:デフォルトの名無しさん [2022/11/17(木) 21:40:08.22 ID:BbSHYj/y.net] うめ
1046 名前:デフォルトの名無しさん [2022/11/17(木) 23:04:00.66 ID:W9+RkUIs.net] 竹
1047 名前:1001 [Over 1000 Thread ID:Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 516日 23時間 1分 3秒
1048 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています