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/
72 名前:デフォルトの名無しさん mailto:sage [2021/07/07(水) 07:19:49.97 ID:GHc1zSP4.net] 8桁って小数第七位ね
73 名前:デフォルトの名無しさん mailto:sage [2021/07/07(水) 19:16:52.25 ID:5d+e1myw.net] この文献 https://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1084-4.pdf をもとに C #include <math.h> #include <stdio.h> int main(){ double p=12.0,q=7.0,s=0; long n,nmax=166; for(n=2;n<nmax;n++) s+=(cos(n)/log(n))*0.5*erfc(n/p-q); printf("s=%-20.16lf, N=%d\n",s,nmax-2); return 0; } s=-1.3422195101745578 , N=164
74 名前:デフォルトの名無しさん mailto:sage [2021/07/07(水) 20:36:04.14 ID:MZbePiNM.net] >>67 収束する。 B_k := Σ[n : 2..k] cos(n) |B_k| = |cos((k + 1) / 2) sin(k / 2) / sin(1 / 2) - (1 + cos(1))| (see https://math.stackexchange.com/questions/225941/proving-sum-limits-k-0n-coskx-frac12-frac-sin-frac2n12x) <= 1 / sin(1 / 2) + 1 + cos(1) ... (i) a_n := 1 / log(n) Σ[n : 2..∞] |a_{n + 1} - a_n| = Σ[n : 2..∞] |log(n / (n + 1)) / (log(n) log(n + 1))| <= Σ[n : 2..∞] |log(2) / log(n + 1)^2| < ∞ ... (ii) lim a_n = 0 as n -> 0 ... (iii) (i), (ii), (iii) よりアーベルの級数判定法の条件を満たすので所与の級数は収束する。
75 名前:デフォルトの名無しさん mailto:sage [2021/07/07(水) 21:23:56.34 ID:GHc1zSP4.net] >>72 すごい あんまり読めてないけど交代級数じゃなくても使えるの?
76 名前:デフォルトの名無しさん mailto:sage [2021/07/07(水) 21:39:28.53 ID:5d+e1myw.net] >>74 6節でFFTの計算とともに使ってるのでフーリエ級数全般に使えるはず
77 名前:デフォルトの名無しさん mailto:sage [2021/07/07(水) 22:23:37.48 ID:7LucU1Ml.net] >>5 の2 Dart版 void main() { DateTime today = new DateTime.now(); print( "${today.year.toString()}/${ today.month.toString().padLeft(2,'0')}/${ today.day.toString().padLeft(2,'0')}/第${ ((today.day + 6) / 7).floor()}${ {1:'月曜日',2:'火曜日',3:'水曜日',4:'木曜日',5:'金曜日',6:'土曜日',7:'日曜日'}[today.weekday]}/${ today.hour.toString().padLeft(2,'0')}:${ today.minute.toString().padLeft(2,'0')}/" ); }
78 名前:デフォルトの名無しさん mailto:sage [2021/07/07(水) 22:51:04.45 ID:GHc1zSP4.net] >>75 やっぱり交代級数限定の話っぽいけど何で今回上手く行ってるのか良く分からない
79 名前:デフォルトの名無しさん mailto:sage [2021/07/21(水) 03:52:07.59 ID:s4XLTZzk.net] お題 2乗〜6乗 自然数nに対して方程式 n = p^2+q^3+r^4+s^5+t^6 の整数解をひとつ探し出す関数を実装せよ 例 -2 → [1,-2,1,0,0] -1 → [1,-2,1,1,9] 0 → [1,-1,0,0,0] 1 → [1,0,0,0,0] 2 → [1,1,0,0,0] 100 → [2,0,0,2,2] 2021 → [3382713530574301803635446275486,-563785588429051426890762429768,2252569709434420,5488,750856569811473]
80 名前:デフォルトの名無しさん mailto:sage [2021/07/21(水) 04:00:54.83 ID:s4XLTZzk.net] 訂正 -2 → [2,-2,1,1,0] -1 → [0,-1,0,0,0]
81 名前:デフォルトの名無しさん mailto:sage [2021/07/21(水) 05:27:57.77 ID:qAe+ZLCy.net] -1と-2は自然数じゃない
82 名前:デフォルトの名無しさん mailto:sage [2021/07/21(水) 13:17:19.10 ID:s4XLTZzk.net] >>80 ですな -1,-2は抜いて じゃ追加で 3→[1,1,1,0,0] 10→[1,2,1,0,0] 1000→[1,-3,1,4,1] などなど
83 名前:デフォルトの名無しさん mailto:sage [2021/07/21(水) 16:30:29.39 ID:s75CxDCd.net] >>81 n<=10^6 を力業で、先頭と最後の101件のみ表示 https://ideone.com/LjkJHe
84 名前:デフォルトの名無しさん mailto:sage [2021/07/21(水) 20:59:05.44 ID:qAe+ZLCy.net] 寧ろ定義域を整数全体にすれば?
85 名前:デフォルトの名無しさん mailto:sage [2021/07/21(水) 22:08:26.55 ID:DfqCC9n+.net] >>83 元々整数のつもりだったのが筆が滑りましたw お好きな方でという事で 自然数に限定して楽になる事もないと思うけど
86 名前:デフォルトの名無しさん [2021/07/22(木) 03:13:11.19 ID:o3SPPMDQ.net] >>78 Kotlin https://paiza.io/projects/ZteBpLjf11ybdKK6tORg5Q 無念無想で何も考えずにただ作った。
87 名前:デフォルトの名無しさん mailto:sage [2021/07/22(木) 13:52:09.29 ID:mzts8Rpt.net] 元の問題 面白い問題おしえて〜な 37問目 https://rio2016.5ch.net/test/read.cgi/math/1624644393/543 元の問題は7乗まで使って桶だったけど6乗までの解答が出た https://rio2016.5ch.net/test/read.cgi/math/1624644393/588 あくまでプログラムの話、数学の部分はどうでもいいという方は参考にして下さい この方法はn-t^5-76843が6630の倍数になるような整数tが取れる事を使います(t:0〜6629の中で探す)
88 名前:デフォルトの名無しさん mailto:sage [2021/07/22(木) 20:25:25.04 ID:giJnvKaJ.net] >>86 5次以下にはできない証明は?
89 名前:デフォルトの名無しさん mailto:sage [2021/07/22(木) 20:30:40.90 ID:eIP4GB5u.net] >>87 それはまだ数学板では5以下でも可能も5以外では不可能もどっちも証明されてません
90 名前:デフォルトの名無しさん mailto:sage [2021/07/24(土) 11:44:46.01 ID:uYrXTofe.net] お題: 端末上に地球を模した円の描画を行い、入力された緯度、経度のおおよその地点に印を付けろ ただし描画される円の中心は常に日本の東京とし、東京が見えるようにすること 描画される円の大きさは自由とする 入力された座標が東京の裏側の半球上にあって印を描画できない場合は、印を描画しないか、あるいは円(地球)を透過させて印を描画する 地球の半径=6,371 km 東京の経度=139°41′30″ 東京の緯度=35°41′22″ *出題者は自分で実装してません
91 名前:デフォルトの名無しさん mailto:sage [2021/07/24(土) 11:48:58.50 ID:2jz91/WX.net] >>89 画面の上を地球上のどの方位にするとか、平行投影なのか透視投影なのか画角どうするかとか決めないといけないんでないの?
92 名前:デフォルトの名無しさん mailto:sage [2021/07/24(土) 11:53:24.04 ID:uYrXTofe.net] >>89 >>90 画面の上端を北とします 投影方法と画角はよくわからないので自由とします^^;
93 名前:デフォルトの名無しさん mailto:sage [2021/07/24(土) 12:18:19.24 ID:/U+1YhTs.net] 地球は球体じゃないから無理じゃない?
94 名前:デフォルトの名無しさん mailto:sage [2021/07/25(日) 16:25:19.73 ID:YgX/LOmt.net] 地形データってどっかから取って来れるの?そこも自作しろと?それとも地形描画なしのツルツルの地球で良い?
95 名前:デフォルトの名無しさん mailto:sage [2021/07/26(月) 04:06:01.70 ID:uFE88Z/4.net] いいよ
96 名前:デフォルトの名無しさん mailto:sage [2021/07/27(火) 08:42:26.61 ID:3vSla0fp.net] >>5 の2 JavaScript版 let today = new Date() console.log( today.getFullYear().toString() + '/' + today.getMonth().toString().padStart(2,'0') + '/' + today.getDate().toString().padStart(2,'0') + '/' + '第' + ( Math.floor( ( today.getDate() + 6 ) / 7 ) ).toString() + ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'][today.getDay()] + '/' + today.getHours().toString().padStart(2,'0') + ':' + today.getMinutes().toString().padStart(2,'0') + '/' )
97 名前:96 mailto:sage [2021/07/28(水) 13:12:24.23 ID:D9Z9/eJz.net] >>20 Perl5、DPで解けないかなと考えてたけど、すぐには思いつかずnaiveな解法 use List::Util 'max'; my $m; sub f { my ($a, $b, $c) = @_; return () if $m and $m <= $c; my $aa = $a * $c - $b; return ($m = $c) if 0 == $aa; my @s; if (0 < $aa) { my $bc = $b * $c; @s = f($aa, $bc, max(int($bc / $aa), $c + 1)); @s = ($c, @s) if @s; } my @t = f($a, $b, max(int($b / $a), $c + 1)); if (@s and @t) { $s[-1] < $t[-1] ? @s: @t; } else { @s ? @s: @t; } } $m = 0; my @a = f(37, 60, 1); printf "37 / 60 = %s\n", join ' + ', map{"1/$_"} grep{$_} @a; #$m = 0; my @a = f(3, 1, 1); 実行結果 ~ $ perl 20_20_re_expan.pl 37 / 60 = 1/4 + 1/5 + 1/6 なお、この解法だと 3/1 = は時間がかかりすぎて解けない
98 名前:デフォルトの名無しさん mailto:sage [2021/08/08(日) 11:08:25.71 ID:KegFD0tb.net] 平面上に円をおくと、円周上に整数点ができることがあるが それがちょうど47個の円の最小半径は? ここで前にもあったとおもったが、答わからん
99 名前:デフォルトの名無しさん [2021/08/10(火) 04:18:36.48 ID:RT5RB9Hc.net] 解き方がわからん。
100 名前:蟻人間 mailto:sage [2021/08/11(水) 00:16:58.90 ID:yQA623uX.net] お題: (C/C++/Rust限定) 与えられたテキストファイルのエンコーディングを早く正確に判定するプログラムを作れ。 判定内容はASCIIのみ、UTF-8、UTF-16、Shift_JIS、バイナリのいずれかとBOMの有無とする。 ファイル先頭にBOMがある場合はBOMの意味を優先するものとする。 ASCIIではない場合はファイル先頭より256バイト以降は無視するものとする。 テキストファイルがUTF-8かShift_JISか区別できないときはUTF-8の判定を優先するものとする。 判定にかかった時間をミリ秒単位で測定せよ。 UTF-16 BEとEUC-JPはバイナリとみなしてもよい。
101 名前:デフォルトの名無しさん mailto:sage [2021/08/11(水) 19:57:42.99 ID:lGVA2SmZ.net] 宿題は自分でやれ
102 名前:デフォルトの名無しさん mailto:sage [2021/08/
] [ここ壊れてます]
103 名前:11(水) 23:48:46.02 ID:BaITumyQ.net mailto: ザリガニが見ていた...。 QuickDrawはどのように素早く円を描いていたのか? https://zariganitosh.hatenablog.jp/entry/20100318/1269006632 [] [ここ壊れてます]
104 名前:デフォルトの名無しさん [2021/08/12(木) 04:41:39.82 ID:zN4hKecF.net] 昔々グラフィックス画面に直線を描くアルゴリズム調べた時は感
105 名前:ョしたな。あれは40年ぐらい前か。月日の経つのは早いものぢゃ。 [] [ここ壊れてます]
106 名前:デフォルトの名無しさん [2021/08/12(木) 09:29:17.38 ID:GeyAERvY.net] お題 文字列を入力として受け取って 入力された文字列と、入力された文字列を逆順にした文字列を 1文字ずつ交互に結合した文字列を出力してください 入力: abcde 出力: aebdccdbea
107 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 10:08:21.06 ID:Lpug+0Go.net] >>103 Ruby 'abcde'.size.times{$><<s[_1]<<s[~_1]} # => aebdccdbea
108 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 03:01:45.42 ID:pLlXEN4h.net] >>103 Haskell import Data.List acbbca x = concat $ transpose [ x , reverse x ] main = do putStrLn $ acbbca "Hello World" putStrLn $ acbbca "たけやぶやけた" ---- HdellrlooW WoolrlledH たたけけややぶぶややけけたた
109 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 03:35:13.90 ID:hXjFUBNl.net] なんかこういうのはhaskellのlensが得意そうな気がするな この前Intのリストの奇数だけソートするのを sortArray xs = xs & partsOf (each . filtered odd) %~ sort だけで済ましてるのを見た
110 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 11:47:55.66 ID:Zwr8vbQY.net] >>103 octave https://ideone.com/vpOPSb f = @(s) [s; flip(s)](:)'; f('abcde')
111 名前:96 mailto:sage [2021/08/13(金) 12:16:45.65 ID:Tqy/ucLn.net] >>103 Perl5 @b = reverse @a = split'', 'abcde'; use List::MoreUtils 'zip'; print zip @a, @b; 実行結果 ~ $ perl 20_103.pl aebdccdbea
112 名前:デフォルトの名無しさん [2021/08/13(金) 18:31:56.72 ID:C2vgWz0X.net] >>103 Kotlin https://paiza.io/projects/E21KbVl4H2KbA1kjxYhNug
113 名前:デフォルトの名無しさん [2021/08/13(金) 18:54:31.59 ID:C2vgWz0X.net] >>103 C https://paiza.io/projects/VF7q0iIqRNj-K-9wfd-OYg >>109 と出力が同じになるようにした。 それと、折角なので wchar で作った。
114 名前:デフォルトの名無しさん [2021/08/13(金) 20:49:58.92 ID:++s/0C9b.net] >>103 J f =: ,@(,. |.) ___ f 'abcde' aebdccdbea
115 名前:sage [2021/08/13(金) 23:42:35.13 ID:WxHHmkEE.net] >>104 Rbuy 3.0.2 だと s が未定だと怒られる
116 名前:デフォルトの名無しさん mailto:sage [2021/08/14(土) 12:38:10.02 ID:LgiNTbaj.net] >>36 octave https://ideone.com/YRTUpL function [c, w] = f(y, m, dow) c = calendar(y, m); w = {'日' '月' '火' '水' '木' '金' '土'}; if dow == 1 a = (c')(:); b = [-1 6](1 + (a(1) == 1)); c = reshape(circshift(a, b), flip(size(c)))'; w = circshift(w, -1, 2); end end function g(y, m, dow) [c, w] = f(y, m, dow); disp(strjoin(cellfun(@(s) {sprintf('%6s', s)}, w), '')), disp(c) end
117 名前:デフォルトの名無しさん mailto:sage [2021/08/17(火) 02:41:19.70 ID:5M+zf85m.net] お題: 菅話法作成 例 Kotlin https://paiza.io/projects/ezYPpZR8VOLY5r3jCOS5qw
118 名前:デフォルトの名無しさん mailto:sage [2021/08/17(火) 19:49:43.89 ID:skFpZz34.net] >>114 Ruby $><<%W[「中止の考えはない。強い警戒感を持って に臨む」\n「バブル方式で する。感染拡大の恐れはないと認識している」]*gets.chop
119 名前:96 mailto:sage [2021/08/17(火) 22:38:15.40 ID:BrZ+lWok.net] >>114 Perl5 $it="うっふ〜ん"; print<<EOF; 「中止の考えはない。強い警戒感を持って${it}に臨む」 「バブル方式で${it}する。感染拡大の恐れはないと認識している」 「コロナに打ち勝った証として${it}する」 「${it}を中止することは一番簡単なこと、楽なことだ。${it}に挑戦するのが国民の役割だ」 「安心安全な${it}に向けて全力で取り組む」 「不要不急かどうかは本人が判断すべきだ」 EOF 実行結果 $ perl 20_114_菅話法.pl 「中止の考えはない。強い警戒感を持ってうっふ〜んに臨む」 「バブル方式でうっふ〜んする。感染拡大の恐れはないと認識している」 「コロナに打ち勝った証としてうっふ〜んする」 「うっふ〜んを中止することは一番簡単なこと、楽なことだ。うっふ〜んに挑戦するのが国民の役割だ」 「安心安全なうっふ〜んに向けて全力で取り組む」 「不要不急かどうかは本人が判断すべきだ」
120 名前:デフォルトの名無しさん [2021/09/03(金) 01:55:54.93 ID:d87lg/Z2.net] 半月ぐらいお題が出ないので一つ。 お題: テトロミノ こんなパズルを解く。 https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%88%E3%83%AD%E3%83%9F%E3%83%8E 大きさもピースも任意だが、上記ページにあるやつそのままで良い。(2つあるがどちらか一つで良い) 沢山パターンがあるかも知れないが、最初に見つかった一つを出すだけでも良い。 出力はテキストでも何でも人間が見て分かるようになってれば良い。 この問題については既にあちこちで答えが出ているような枯れた問題だと思うので、なるべく何も見ずに自分で考えて作ること。
121 名前:蟻人間 mailto:sage [2021/09/03(金) 20:43:43.19 ID:9DjO+PTi.net] お題:15パズルを解くプログラム。 15パズルの盤を16要素の配列で表現し、実際に解く様子を出力せよ。空白は整数のゼロで表現する。 解けないときは「No answer」を出力せよ。可能ならば画像データも出力せよ。 参考資料: www.studio-boiler.com/k/kouryaku/kou.htm
122 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 00:30:45.45 ID:ExeocnPJ.net] 猿真似しか出来んのか
123 名前:デフォルトの名無しさん [2021/09/04(土) 02:42:13.50 ID:7+Hy81Ja.net] 全然お題が出なかったからこれで良い
124 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 15:54:45.82 ID:Q1ZjOy0h.net] 最短でも80手らしい それくらいだと全部表示してもそこまでうるさくないんだけど簡単な探索法だと2,300超えてしまいそう 全部表示したらうるさい事この上ないんだよな
125 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 16:28:17.76 ID:HA1H8jBr.net] お題:パンくずリストを出力せよ 入力 東京,特許,許可局 出力 <ul class="pankuzu"> <li class="pankuzu_item">東京</li> <li class="pankuzu_item">特許</li> <li class="pankuzu_item active">許可局</li> </ul>
126 名前:デフォルトの名無しさん [2021/09/06(月) 02:26:18.29 ID:gafTCMAF.net] >>122 Perl5 https://paiza.io/projects/M15LdOIXcwfYWvx_hcHX1Q よく分からんがこんなのでいいの?
127 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 09:51:36.66 ID:AS0MIjWb.net] XSSに気をつけましょう
128 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 10:28:52.31 ID:c9RFzrWf.net] >>122 react const Pankuzu = ({ items }) => ( <ul className="pankuzu"> {items.map((item, i) => ( <li key={`item-${item}`} className={"pankuzu_item"} data-active={i === items.length - 1} > {item} </li> ))} </ul> );
129 名前:デフォルトの名無しさん [2021/09/06(月) 11:28:19.10 ID:DJ6jxapu.net] >>122 Python https://ideone.com/j2xt8M
130 名前:96 mailto:sage [2021/09/06(月) 12:09:28.54 ID:GTV7C5SZ.net] >>122 Perl5 use HTML::TreeBuilder; @s = split',','東京,特許,許可局'; @a = map{['li', {class => 'pankuzu_item'}, $_]} @s; $a[-1][1]{class} .= ' active'; $h = HTML::Element->new_from_lol(['ul', {class => 'pankuzu'}, @a]); print $h->as_HTML('<>&', ' ', {}); 実行結果 ~ $ perl 20_122_pankuzu_list.pl <ul class="pankuzu"> <li class="pankuzu_item">東京</li> <li class="pankuzu_item">特許</li> <li class="pankuzu_item active">許可局</li> </ul>
131 名前:96 mailto:sage [2021/09/06(月) 13:04:59.11 ID:moEus4wD.net] >>127 use HTML::TreeBuilder; だと色々引き連れて来るので、使う use HTML::Element; をuseすれば良かったんだけど、結果は同じだしまいいや… [] [ここ壊れてます]
133 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 13:13:49.70 ID:uTG0VSHW.net] >>117 Ruby https://ideone.com/X55o9J 久しぶりにやってみた
134 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 19:38:11.84 ID:n/A9WgFn.net] >>122 ocaml https://ideone.com/lTmi19 let f = let rec aux acc = function [] -> "<ul class=\"pankuzu\">\n" ^ acc ^ "</ul>" | s :: [] -> aux (acc ^ "<li class=\"pankuzu_item active\">" ^ s ^ "</li>\n") [] | s :: ss -> aux (acc ^ "<li class=\"pankuzu_item\">" ^ s ^ "</li>\n") ss in aux "" let () = print_endline @@ f ["東京"; "特許"; "許可局"]
135 名前:デフォルトの名無しさん mailto:sage [2021/09/07(火) 09:55:32.26 ID:WSMGeNyo.net] >>122 bat :: usage: this.bat 東京,特許,許可局 @echo off &setlocal enabledelayedexpansion set "OUTPUT=echo ^<ul class="pankuzu"^>" for %%a in (%*) do set "OUTPUT=!OUTPUT!&echo ^^<li class="pankuzu_item"^^>%%~a^^</li^^>"&set "LastArg=%%~a" set "OUTPUT=!OUTPUT!&echo ^^</ul^^>" set OUTPUT=!OUTPUT:"^>%LastArg%= active"^^^>%LastArg%! %OUTPUT% :: (%OUTPUT%) >>pankuzu.txt
136 名前:デフォルトの名無しさん [2021/09/07(火) 12:33:03.11 ID:Q6Cbfir4.net] お題 次のように置換した文字列が入力される ESC → ESCESC CR → ESCcr LF → ESClf 元の文字列を復元してください 続く・・・
137 名前:デフォルトの名無しさん [2021/09/07(火) 12:33:27.25 ID:Q6Cbfir4.net] >>132 の続き 例) 入力 → 出力 ESCESCESCESC → ESCESC ESCESCESCcr → ESCCR ESCESCESClf → ESCLF ESCESCESCESCcr → ESCESCcr ESCESCESCESClf → ESCESClf ESCcrESCESC → CRESC ESCcrESCcr → CRCR ESCcrESClf → CRLF ESCcrESCESCcr → CRESCcr ESCcrESCESClf → CRESClf ESClfESCESC → LFESC ESClfESCcr → LFCR ESClfESClf → LFLF ESClfESCESCcr → LFESCcr ESClfESCESClf → LFESClf ESCESCcrESCESC → ESCcrESC ESCESCcrESCcr → ESCcrCR ESCESCcrESClf → ESCcrLF ESCESCcrESCESCcr → ESCcrESCcr ESCESCcrESCESClf → ESCcrESClf ESCESClfESCESC → ESClfESC ESCESClfESCcr → ESClfCR ESCESClfESClf → ESClfLF ESCESClfESCESCcr → ESClfESCcr ESCESClfESCESClf → ESClfESClf
138 名前:デフォルトの名無しさん mailto:sage [2021/09/07(火) 13:04:58.96 ID:YXnsp+WP.net] >>132 Ruby def decode( str ) = str.gsub( /ESC(ESC|cr|lf)/, { 'ESCESC' => 'ESC', 'ESCcr' => 'CR', 'ESClf' => 'LF' } )
139 名前:134 mailto:sage [2021/09/07(火) 13:14:10.80 ID:YXnsp+WP.net] >>132 Ruby def decode( str ) = str.gsub( /ESC(ESC|cr|lf)/ ){ _1[3..].upcase }
140 名前:デフォルトの名無しさん [2021/09/07(火) 22:44:48.30 ID:Q6Cbfir4.net] >>122 Java https://paiza.io/projects/LwpPH0iy3-lQmIZXNsvQRw
141 名前:デフォルトの名無しさん [2021/09/08(水) 01:03:27.49 ID:gNm9L8yp.net] >>132 Perl5 https://paiza.io/projects/GuPz8h93U0uhn9iC8P8JsA
142 名前:デフォルトの名無しさん [2021/09/08(水) 01:19:37.74 ID:gNm9L8yp.net] >>132 Kotlin https://paiza.io/projects/N-kbMV4czxJeOPJ-kLTCqg
143 名前:デフォルトの名無しさん [2021/09/08(水) 01:55:31.54 ID:gNm9L8yp.net] >>132 C https://paiza.io/projects/Ov2KFf6JS8-60MTTy6rNng
144 名前:96 mailto:sage [2021/09/10(金) 22:13:37.39 ID:UuNKa3lP.net] >>132 Perl5 s/ESC(ESC|cr|lf)/\U$1/g; 実行結果 https://ideone.com/2dajdn
145 名前:デフォルトの名無しさん [2021/09/10(金) 22:32:25.84 ID:VHKKBZ5d.net] そんなやり方があったとは知らなかった
146 名前:蟻人間 mailto:sage [2021/09/10(金) 23:29:13.91 ID:aesnFr7F.net] お題: 円柱の高さ(5〜15cm)と半径(5〜10cm)を指定すると、その円柱の展開図のSVGデータを出力するプログラム。 展開図には一部、0.5〜1cmほどのりしろがあり、印刷・糊付けして実際に組み立てることができるものとする。SVGの用紙はA4サイズ。
147 名前:デフォルトの名無しさん mailto:sage [2021/09/11(土) 00:32:47.77 ID:7ac2XrM2.net] >>142 糊代を折ることを考えたら円柱じゃなくて(円に近い)多角柱になると思うけど、それでいいの?
148 名前:蟻人間 mailto:sage [2021/09/11(土) 10:37:25.30 ID:DC
] [ここ壊れてます]
149 名前:kTc1oQ.net mailto: >>143 いいよ。 [] [ここ壊れてます]
150 名前:デフォルトの名無しさん [2021/09/12(日) 23:05:50.13 ID:a0Jd4Hkz.net] >>132 Java https://paiza.io/projects/H0RSztAvHumk7NcFZBWWnA "ESCESC"を "ESC" 任意の文字 に変換して 逆の変換すればOK 下記のJSONの文字列のようなエスケープでも 同様のやりかたで復元できる、はず \ → \\ \r → \\r \n → \\n
151 名前:デフォルトの名無しさん [2021/09/12(日) 23:51:43.19 ID:a0Jd4Hkz.net] 訂正 \ → \\\\ \r → \\r \n → \\n
152 名前:デフォルトの名無しさん [2021/09/12(日) 23:52:06.11 ID:a0Jd4Hkz.net] 訂正2 \\ → \\\\ \r → \\r \n → \\n
153 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 00:01:27.06 ID:kzWLxl1N.net] お題 転調記号の数 問題 12成分のベクトル a=[ 5,2,3,4,1,6,1,4,3,2,5,0 ] // 半音上げた調号数 b=[ 0,5,2,3,4,1,6,1,4,3,2,5 ] // 原曲の調号数 c=[ 5,0,5,2,3,4,1,6,1,4,3,2 ] // 半音下げた調号数 をとる 12成分の実ベクトルxに対して f(x) = min{ a・x, b・x、c・x } (・は内積) と定める xが領域 x[i]≧0, Σ_[i:1〜12] x[i]=1 を動く時f(x)の最小値を求めよ 原題は数学板にあるけど長いし音楽知らないとわけわかめになるので略 知りたい人は以下より https://rio2016.5ch.net/test/read.cgi/math/1629715580/80 面白い問題おしえて〜な 38問目 と https://rio2016.5ch.net/test/read.cgi/math/1629715580/190 面白い問題おしえて〜な 38問目
154 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 07:01:38.59 ID:eHkY1yZB.net] x=[1,0,0,0,...]でf(x)は最小値0をとるけど、原題みるとf(x)の最大値を求めるのかな
155 名前:デフォルトの名無しさん [2021/09/13(月) 09:36:40.69 ID:bTLuzAmV.net] 対数とれば簡単
156 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 10:04:21.34 ID:kzWLxl1N.net] >>149 orz その通り 最大値求めよ です
157 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 10:31:13.42 ID:7dFFnUhL.net] 黒鍵が1オクターブに5個しかないのに 調号が6個必要なのが納得出来ない
158 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 10:31:55.37 ID:7dFFnUhL.net] 最大値は3かな?
159 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 15:11:00.36 ID:kzWLxl1N.net] >>152 嬰へ長調は♯6個とその異名同音調の変ト長調は♭6個でどうあがいても6個必要です ♭1個でキーは5/12上がり♯1個でキーは5/12下がりますがハ長調から見て嬰へ長調=変ト長調はどちらから回っていっても6個必要です https://ja.m.wikipedia.org/wiki/%E5%AC%B0%E3%83%98%E9%95%B7%E8%AA%BF >>153 もう少し大きいです 数学板で最初に出た3より大きい例は https://rio2016.5ch.net/test/read.cgi/math/1629715580/157 面白い問題おしえて〜な 38問目 変ト長調3回、ニ長調4回、変ロ長調4回 0 5 2 3 4 1 6 1 4 3 2 5 _ 4 _ _ _ 3 _ _ _ 4 _ _ = 35 > 33 _ _ 4 _ _ _ 3 _ _ _ 4 _ = 34 > 33 _ _ _ 4 _ _ _ 3 _ _ _ 4 = 35 > 33 つまりこの場合f(0,0,4/11,0,0,0,3/11,0,0,0,4/11,0)=34/11です ホントの最大値はもう少し大きくなります
160 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 18:18:32.59 ID:7dFFnUhL.net] 円周率に近いな
161 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 22:45:15.18 ID:kzWLxl1N.net] 答え有理数です しかしプログラム板のお題なので近似値出れば良しでいいと思います
162 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 22:51:14.71 ID:7dFFnUhL.net] 3.142857... じゃなくて?
163 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 23:14:04.32 ID:kzWLxl1N.net] 3.2は超えます
164 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 23:14:24.72 ID:7dFFnUhL.net] orz
165 名前:ハノン mailto:sage [2021/09/14(火) 17:29:19.22 .net] >>148 元の出題 >変ニ長調(♭×5)→ホ長調(♯×4)→へ長調(♭×1)という曲の平均調号数は そんな変てこな転調があり得るのか‥‥
166 名前:デフォルトの名無しさん mailto:sage [2021/09/14(火) 20:25:22.64 ID:3yXL9VGN.net] そう思ったら作曲してみよう
167 名前:デフォルトの名無しさん mailto:sage [2021/09/14(火) 23:17:19.71 ID:ugFzvtUj.net] サビで短3度転調、後半盛り上がって
168 名前:半音上げはポップス曲だとよくある [] [ここ壊れてます]
169 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 02:21:25.59 ID:3vtMVT28.net] >>148 そのお題はタイトルからして調べないと分からない単語が使われており、全体を通して何を言わんとしているのか分からない。
170 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 06:01:22.11 ID:uRkyJcx+.net] >>163 音楽知識は不要 (不要なように書き換えてる) それ以外は簡単な数学用語 (高校レベル)
171 名前:ハノン mailto:sage [2021/09/15(水) 06:22:14.22 .net] >>162 >サビで短3度転調、後半盛り上がって半音上げはポップス曲だとよくある 気がつきませんでした、なるほど >後半盛り上がって半音上げ 最後に半音上がるアレ、主和音と同じ高さで導音系の和音を強奏するのが無理があると思っており好みじゃないのです‥‥ https://www.youtube.com/watch?v=ENgNiqc0m3I&t=275s
172 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 06:28:49.75 ID:uRkyJcx+.net] お前の好みとかどうで良くね?
173 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 06:34:56.44 ID:uRkyJcx+.net] https://soundquest.jp/quest/chord/chord-mv7/classic-basic-modulation/
174 名前:ハノン mailto:sage [2021/09/15(水) 06:45:27.54 .net] >>152 白鍵に調号をつけるしかない場面があるのです、>>154 のいうとおり ♭ソを基本の音にした音階のときはそうなります‥‥ では 7 個が最大かというと、そうでもなくて、ダブルシャープ(シャープ2個分)、ダブルフラット(フラット2個分)を使って(一時的に)8個以上の楽譜に仕上げる人がいました‥‥
175 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 08:25:52.14 ID:m09hSrNp.net] >>165 私はあなたの存在が好みじゃないのです‥‥ https://www.youtube.com/watch?v=BuvaD67N46U
176 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 21:26:44.83 ID:UGHCgEvY.net] ちなみにこの問題よくよく考えるとアルゴリズムの教科書によく出る超有名問題になってます 問題の名前だけは高校の数学の教科書にも載ってるくらい有名な問題です
177 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 22:28:51.28 ID:qUQwebCi.net] 3.2222222222222ってなるのかな 3.222221で止まってるけど
178 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 22:31:14.96 ID:uRkyJcx+.net] 最大=>3個とも平均が同じ=>3個の調しか使わない最大が存在する=>12C3全検索
179 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 23:00:11.21 ID:UGHCgEvY.net] >>171 それです 見つけ方は>>171 さんの方法が1番簡単 なんせ何も工夫しなくてもC[12,3]=220通りしかないので全部総当たりで計算する方が早い それには 5a+ 2b+ 3c+ 4d+ 1e+ 6f+ 1g+ 4h+ 3i+ 2j+ 5k+ 0l ≧ 0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l、 5a+ 0b+ 5c+ 2d+ 3e+ 4f+ 1g+ 6h+ 1i+ 4j+ 3k+ 2l ≧ 0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l、 a*b+c+d+e+f+g+h+i+j*k+l≧1 の中の 0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l の最大値探す時に例えばd,f,h成分だけ0でない領域での最大値を見つけるには12元の線形方程式 5a+ 2b+ 3c+ 4d+ 1e+ 6f+ 1g+ 4h+ 3i+ 2j+ 5k+ 0l = 0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l、 5a+ 0b+ 5c+ 2d+ 3e+ 4f+ 1g+ 6h+ 1i+ 4j+ 3k+ 2l = 0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l、 a*b+c+d+e+f+g+h+i+j*k+l=1、 a=b=c=e=g=i=j=k=l=0 を解いてどれかの成分が0以下なら捨て、正なら候補に残して全部調べてのパターンを後3つやればいけます (もちろん有理係数の線形方程式なので解は有理数) その際線形代数の計算をやってくれるライブラリがあれはそんなに大変な作業にはならないはずです というかこのタイプの問題“線形計画法”この問題解くためのライブラリ持ってるやつが多いのでその場合は数行で終わってしまいます
180 名前:デフォルトの名無しさん mailto:sage [2021/09/16(木) 00:34:05.02 ID:g1b5b/gu.net] 問題全く何も理解してない 力任せ https://ideone.com/CuWX16
181 名前:デフォルトの名無しさん mailto:sage [2021/09/19(日) 19:11:20.33 ID:zqOP2O5f.net] >>174 理詰めの解答よりこういう力技の解答の方がありがたいです 理詰めはどっかでうっかり間違ってる事も多いので >>172 さんの方針で220通り全数検索するコード組んでみました https://ideone.com/Vyqp8r 元々用意してた解答は単体法( Simplex algorythm)というやつ使う方法だったんですけど、220個位なら全数検査した方が安全ですね しかも全部調べるのでベスト10とか出せる さっきのコードは原曲のままが最小になる場合のベスト10とどちらかに半音ずらした方が最小になる場合のベスト10です
182 名前:蟻人間 mailto:sage [2021/09/23(木) 00:23:18.14 ID:WyFAZLWz.net] お題: 中心(x, y)で半径mの円と、中心(z, w)で半径nの円の当たり判定。
183 名前:蟻人間 mailto:sage [2021/09/23(木) 00:36:24.97 ID:WyFAZLWz.net] お題: カオス理論で知られるローレンツ・アトラクタを描画せよ。
184 名前:蟻人間 mailto:sage [2021/09/23(木) 00:45:13.27 ID:WyFAZLWz.net] お題: 厚み0.5cm長さX cmのしなやかなテープを最小のうずまき状にまるめると直径は何cmになるか。X = 20, 30, 50.
185 名前:ハノン mailto:sage [2021/09/23(木) 12:30:22.12 ID:HaJtCNmP.net] >>178 「しなやかな」の定義中、中心側の終端の扱いを精緻に定義しなおしてください
186 名前:デフォルトの名無しさん mailto:sage [2021/09/23(木) 12:40:13.64 ID:fWOsjY2x.net] document.querySelectorAll('.post').forEach( e => { const nameElement = e.querySelector('.name'); if(nameElement === null) return; const name = nameElement.innerText; if(name.indexOf('◆T6xkBnTXz7B0') >= 0 || name.indexOf('◆QZaw55cn4c') >= 0) e.remove(); });
187 名前:デフォルトの名無しさん [2021/09/23(木) 16:05:27.59 ID:jg/8HMJJ.net] >>176 それって数学的な証明はよくわからないんだけど直感的に考えると、(x, y) から (z, w) の距離が m + n 以下なら当たりで良いのかな? 他のパターンで当たる場合はなさそうだけど、あったとしても今は思いつかないのでとりあえずプログラムはそれで作ろうかと思う。
188 名前:デフォルトの名無しさん mailto:sage [2021/09/23(木) 16:34:26.56 ID:LOQBNAlJ.net] 円周か円板かで答えが違う
189 名前:デフォルトの名無しさん mailto:sage [2021/09/23(木) 17:12:27.81 ID:QUC7Fk2H.net] 入力として整数値が与えられたらその中の立っているビットを 等確率でランダムに一つ抜き出した整数値を出力する 3が与えられたら1か2のどちらかを1/2の確率で 17179877640が与えられたら8か256か8192か17179869184のどれかを1/4で
190 名前:デフォルトの名無しさん mailto:sage [2021/09/23(木) 18:08:32.21 ID:em+PQ8QU.net] >>Ruby n = 17179877640 bits = [] while n > 0 n ^= b = n & -n bits << b end puts bits.sample
191 名前:181 [2021/09/24(金) 02:52:30.55 ID:N3yB15M0.net] >>176 Kotlin https://paiza.io/projects/LbOUfPjd6NuCyj7qhFdYqQ
192 名前:デフォルトの名無しさん mailto:sage [2021/09/24(金) 18:51:00.62 ID:FX1uO51R.net] お題 繁分数 奇数個の整数がカンマで区切りで与えられる 間に'+'と'/'を順に挿入して計算する、ただし優先順位は後から優先 例) "1,2,3,4,5,6,7" → " 1 + 2 / ( 3 + 4 / ( 5 + 6 / 7 ))) = 233/151 ≒ 1.543046357616 計算結果を出力せよ 例) 入力 : "1,2,3,4,5,6,7" 出力 : 1.543046357616 入力 : "1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2" 出力 : 1.4142135623730951 入力 : "2,1, 1,1, 2,1, 1,1, 1,1, 4,1, 1,1, 1,1, 6,1, 1,1, 1,1 " 出力 : 2.718283582089552 入力 : "0, 4, 1, 1, 3, 4, 5, 9, 7, 16, 9, 25, 11, 36, 13, 49, 15, 64, 17, 81, 19, 100" 出力 : 3.141593311879928
193 名前:デフォルトの名無しさん mailto:sage [2021/09/24(金) 19:42:20.13 ID:SF8pwxS9.net] >>186 なぜ、偶数個あるのか? 偶数個は最後に1"を入れてやってみた (頭悪いからリヴァースして、浮動小数点でやっている) https://wandbox.org/permlink/jzQZa53lpDSPdJo1
194 名前:デフォルトの名無しさん mailto:sage [2021/09/24(金) 21:54:41.68 ID:uMkpdCmM.net] >>187 数え間違えorz
195 名前:ハノン mailto:sage [2021/09/25(土) 21:21:39.43 ID:YrZFQiAF.net] >>186 https://ideone.com/pWADzs
196 名前:ハノン mailto:sage [2021/09/25(土) 21:23:01.64 ID:YrZFQiAF.net] >>187 うーむ、私の >>189 よりシンプルですね
197 名前:96 mailto:sage [2021/09/25(土) 22:19:21.21 ID:qK5TmKac.net] >>186 Perl5 use feature qw{signatures say}; no warnings 'experimental'; sub s($a, $b, @a) { @a ? $a + &d($b, @a) : $a + $b } sub d($a, $b, @a) { @a ? $a / &s($b, @a) : $a / $b } say &s(/(\d+)/g) for <DATA>; __DATA__ 1,2,3,4,5,6,7 1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2 2,1,1,1,2,1,1,1,1,1,4,1,1,1,1,1,6,1,1,1,1,1 0,4,1,1,3,4,5,9,7,16,9,25,11,36,13,49,15,64,17,81,19,100 実行結果 $ perl 20_186_fraction.pl 1.54304635761589 1.4142135623731 2.71828236824984 3.14159316790851
198 名前:デフォルトの名無しさん mailto:sage [2021/09/26(日) 00:35:27.94 ID:x+MOSZRz.net] >>186 ruby -ne "/$_.split(?,).map(&:to_f).each_slice(2).reverse_each.reduce{|(s), (a, b)| b / s + a}" # input 1,2,3,4,5,6,7 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2 2,1, 1,1, 2,1, 1,1, 1,1, 4,1, 1,1, 1,1, 6,1, 1,1, 1,1,1 0, 4, 1, 1, 3, 4, 5, 9, 7, 16, 9, 25, 11, 36, 13, 49, 15, 64, 17, 81, 19, 100, 1 # output 1.5430463576158941 1.4142135623730951 2.718282368249837 3.141593167908507
199 名前:ハノン mailto:sage [2021/09/26(日) 02:32:13.09 ID:fnZfkDL3.net] >>186 C >>189 終端処理を間違えていたので御題にあわせて修正 https://ideone.com/4mkYde 233/151 = 1.54304635761589414855 1855077841/1311738121 = 1.41421356237309514547 1457/536 = 2.71828358208955211950 54193766400/17250408000 = 3.14159331187992751921
200 名前:デフォルトの名無しさん [2021/09/26(日) 02:51:04.12 ID:edcxzAwz.net] >>186 J f =: +`%/ ___ f 1,2,3,4,5,6,7 1.54305
201 名前:96 mailto:sage [2021/09/26(日) 11:06:39.50 ID:ROfWiNc+.net] >>186 Perl5、>>191 だと分母が大きい値になるテストケースで下の桁が例解と違ってくるので、通分を下から再帰的に行って 最後に割り算するようにした。また数値の個数が偶数だった場合には0を補うようにした use feature qw{signatures say}; no warnings 'experimental'; sub f($a, $b, $c = 0, @r) { if (@r) { ($c, $e) = f($c, @r); $b *= $e; } ($a * $c + $b), $c; } for (<DATA>) { my ($n, $d) = f(/(\d+)/g); say "$n / $d = ", $n / $d; } __DATA__ 1,2,3,4,5,6,7 1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2 2,1,1,1,2,1,1,1,1,1,4,1,1,1,1,1,6,1,1,1,1,1 0,4,1,1,3,4,5,9,7,16,9,25,11,36,13,49,15,64,17,81,19,100 $ perl 20_186_fraction_2.pl 233 / 151 = 1.54304635761589 1855077841 / 1311738121 = 1.4142135623731 1457 / 536 = 2.71828358208955 54193766400 / 17250408000 = 3.14159331187993
202 名前:デフォルトの名無しさん mailto:sage [2021/09/26(日) 13:52:29.02 ID:Db797RWb.net] すいません >>191 は例題おかしいので数字合わないですね 気にしないでください 最後の例では最後の項の100抜くか、最後に21を追加してください 100抜いた場合は 4317632 / 1374345 = 3.14159254044654 21追加した場合は 54743776 / 17425485 = 3.1415926730303347 になると思います >>191 の例は 0+4/(1+(1/(3+...(17+81/(19+100/0)))))...))) になってしまってるんだと思います(違うかも)
203 名前:デフォルトの名無しさん mailto:sage [2021/09/26(日) 15:05:57.74 ID:RIy3qD4V.net] >>186 ocaml https://ideone.com/VpQwAG let f xs = let rec g = function [] -> 0, 1 | a :: [] -> a, 1 | a :: b :: [] -> a + b, 1 | a :: b :: cs -> let n, d = g cs in a * n + b * d, n in let n, d = g xs in Printf.printf "%d / %d = " n d;float n /. float d >>186 ocaml https://ideone.com/5D0lHx let f xs = let rec g = function [] -> 0, 1 | x :: [] -> x, 1 | x :: xs -> let n, d = h xs in x * d + n, d and h = function [] -> 0, 1 | x :: [] -> x, 1 | x :: xs -> let n, d = g xs in x * d, n in let n, d = g xs in Printf.printf "%d / %d = " n d;float n /. float d
204 名前:デフォルトの名無しさん mailto:sage [2021/09/26(日) 15:06:59.82 ID:RIy3qD4V.net] let g xs = Printf.printf "%.16f\n" @@ f xs let () = g [];g [1];g [1;2];g [1;2;3];g [1;2;3;4];g [1;2;3;4;5;6]; g [1;2;3;4;5;6;7]; g [1;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2]; g [2;1;1;1;2;1;1;1;1;1;4;1;1;1;1;1;6;1;1;1;1;1]; g [0;4;1;1;3;4;5;9;7;16;9;25;11;36;13;49;15;64;17;81;19;100]; g [0;4;1;1;3;4;5;9;7;16;9;25;11;36;13;49;15;64;17;81;19]; g [0;4;1;1;3;4;5;9;7;16;9;25;11;36;13;49;15;64;17;81;19;100;21] ↓ 0 / 1 = 0.0000000000000000 1 / 1 = 1.0000000000000000 3 / 1 = 3.0000000000000000 5 / 3 = 1.6666666666666667 9 / 7 = 1.2857142857142858 59 / 37 = 1.5945945945945945 233 / 151 = 1.5430463576158941 1855077841 / 1311738121 = 1.4142135623730951 4178 / 1537 = 2.7182823682498372 66628546560 / 21208521600 = 3.1415931679085070 12434780160 / 3958113600 = 3.1415925404465401 315324149760 / 100370793600 = 3.1415926730303347
205 名前:ハノン mailto:sage [2021/09/26(日) 19:57:37.78 ID:KhgDxRBF.net] >>197 >[] -> 0, 1 >| x :: [] -> x, 1 >| x :: xs -> let n, d = h xs in x * d + n, d >>193 を書いた私としてはなんとなくわかってしまうのが‥‥悲しいですね
206 名前:ハノン mailto:sage [2021/09/26(日) 19:58:46.43 ID:KhgDxRBF.net] つまり >>193 は言語として冗長だ、という点が悲しい、という意味です、誤解を招かないように補充します
207 名前:デフォルトの名無しさん [2021/09/26(日) 21:14:48.05 ID:K0n5mMQr.net] >>183 Java https://paiza.io/projects/MEzZhPu6JRPceVynvuTqAw
208 名前:デフォルトの名無しさん mailto:sage [2021/09/26(日) 21:49:22.16 ID:6LE1NaJb.net] お題: 与えられたUTF-8日本語文章から空白と記号を取り除いた後の文字列にNGワードがあるかどうか判定せよ。 NGワード: 「集近閉」「地獄経済」 例文1「集☆近☆閉☆は☆不☆滅」 例文2「地/獄/経/済/は/大/丈/夫」 出力例:「NGワード「集近閉」があります。」 出力例:「OKです。」
209 名前:デフォルトの名無しさん [2021/09/26(日) 21:51:41.83 ID:K0n5mMQr.net] >>186 Java https://paiza.io/projects/UI9ARHgZiXtVhZHIJXp7Jg?language=java
210 名前:デフォルトの名無しさん mailto:sage [2021/09/26(日) 21:58:42.24 ID:Db797RWb.net] >>196 いまレス読み返したらアンカー間違ってるorz >>196 で>>191 と書いてあるのは全部>>186 宛の自己レスです 191さんすいません ちなみにやっぱり186の数値 3.141593311879928 は最後の部分を.../(17+81/(19+100/(0))))..として処理した値でした 100/0が∞になって17+81/(19+∞) = 17となって結局17で打ち切った場合の答えになってました 17で打切った場合 3763456 / 1197945 = 3.1415933118799275 で>>186 の値になってました
211 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 02:09:19.34 ID:mB71+9h3.net] お題:: 文字列に対して文字列の範囲を指定すると、その範囲を角カッコで囲って出力するプログラムを作れ 文字列はASCII文字の並びでソ
212 名前:ートされている前提とする 入力フォーマット 文字列 範囲 入力 abcdefghijklmn c-g 出力 ab[cdefg]hijklmn [] [ここ壊れてます]
213 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 03:27:36.76 ID:HGR3sN0a.net] お題: ハッシュタグをGoogle検索リンクに変換せよ。 ハッシュタグを含む日本語UTF-8文字列が与えられる。ハッシュタグをHTMLハイパーリンクに変換してHTMLテキストを出力する。 ハッシュタグは「#」か「#」か「♯」で始まるものとします。 ハッシュタグには半角の「_」以外の記号と空白は使えません。 HTMLの特殊文字「&<>」はそれぞれ「&」「<」「>」に変換するものとします。 検索リンクは日本語グーグルを使用します。 入力例「これは #テスト文字列です。 #家族募集中 <本日は雨天なり>」
214 名前:デフォルトの名無しさん [2021/09/27(月) 03:36:26.68 ID:lACGcuZa.net] >>206 出力例もよろしく
215 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 03:39:59.74 ID:HGR3sN0a.net] >>206 訂正。「&」→「&」
216 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 04:15:57.90 ID:HGR3sN0a.net] >>206 出力例「これは <a href="https://google.co.jp/search?hl=ja&source=hp&q=テスト文字列です">#テスト文字列です</a>。 <a href="https://google.co.jp/search?hl=ja&source=hp&q=家族募集中">#家族募集中</a> <本日は雨天なり>」
217 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 10:56:06.17 ID:BIqiQYZe.net] 家族募集中 が無視されてるのは何故?
218 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 11:20:24.19 ID:FdLhLOZv.net] >>206 $ echo -e 'これは #テスト文字列です。 #家族募集 中 <本日は雨天なり>' | sed -e 's/&/\&/g' -e 's/</\</g' -e 's/>/\>/g' -e 's![##♯]\(\w*\)!<a href="https://google.co.jp/search?hl=ja\&source=hp\&q=\1">&</a>!g' これは <a href="https://google.co.jp/search?hl=ja&source=hp&q=テスト文字列です">#テスト文字列です</a>。 <a href="https://google.co.jp/search?hl=ja&source=hp&q=家族募集中">#家族募集中</a> <本日は雨天なり>
219 名前:デフォルトの名無しさん [2021/09/27(月) 16:42:34.63 ID:lACGcuZa.net] >>186 Kotlin https://paiza.io/projects/HLf5ipRdYfeUkeWaJJdCAg 偶数個のやつは一つ削って奇数個にした。
220 名前:デフォルトの名無しさん [2021/09/27(月) 17:07:09.23 ID:lACGcuZa.net] >>186 Perl5 https://paiza.io/projects/SXR1Q0vDlTYSPhY1BLUiBA これはまあ、ふざけたやり方というかなんというか。計算はPerlにお任せ。
221 名前:デフォルトの名無しさん [2021/09/27(月) 21:40:29.82 ID:lACGcuZa.net] >>205 Kotlin https://paiza.io/projects/HOEEJeT5syiOJDkmB6VLlQ 正規表現使って置換しているだけ。他の言語でも正規表現使ったら大差ない感じになるかも。
222 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 22:04:19.72 ID:IGWq0JTX.net] >>205 octave https://ideone.com/p4vSPE f = @(s, r) regexprep(s, ['([' r ']+)'], '[$1]'); f('abcdefghijklmn', 'c-g')
223 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 23:53:33.07 ID:CFsFGFcT.net] >>214 性器を痴漢 まで読んだ
224 名前:デフォルトの名無しさん mailto:sage [2021/09/28(火) 00:35:44.78 ID:R7FPj2K+.net] >>213 やはりそれきましたかw
225 名前:デフォルトの名無しさん [2021/09/28(火) 02:40:03.94 ID:wFK5NO29.net] >>206 Kotlin https://paiza.io/projects/X2vegPHscigvi2ILMs00Wg 正規表現使って一発でやるのではなく1文字づつ読んでやるように作った。
226 名前:デフォルトの名無しさん [2021/09/28(火) 07:20:01.83 ID:OyddjX6J.net] >>176 Lua function f(x, y, m, z, w, n) return (x - z) ^ 2 + (y - w) <= (m + n) ^ 2 end
227 名前:デフォルトの名無しさん [2021/09/28(火) 07:27:57.86 ID:OyddjX6J.net] >>219 間違えました function f(x, y, m, z, w, n) return (x - z) ^ 2 + (y - w) ^2<= (m + n) ^ 2 end
228 名前:デフォルトの名無しさん [2021/09/28(火) 10:29:00.43 ID:wFK5NO29.net] あ、そーか。2乗のまま比較すればsqrt不要だったな。
229 名前:デフォルトの名無しさん [2021/09/28(火) 19:11:27.77 ID:RwSKB5Xt.net] >>202 Kotlin https://paiza.io/projects/qStwB_RNzaqRnbq0Klro4g 二番目のやつはOKではないな。
230 名前:デフォルトの名無しさん mailto:sage [2021/09/28(火) 23:13:01.41 ID:R7FPj2K+.net] >>209 の出力例をみると“テスト文字列です”は文字列、“。”な区切り記号と認識してここで切らないとダメみたいだけど、だとするとunicodeの文字列の中にある“区切り記号”と“文字列を構成する文字”を区別しないといけなくなる GOには“unicode”というライブラリが用意されてて簡単にできるみたいだけどオレが愛用するHaskellではその手のライブラリが見つからんorz 流石にスクラッチで一から書くのは無理だし どっかに“コード××〜××までは記号”とか一覧になってるテーブルとかないんかな
231 名前:デフォルトの名無しさん mailto:sage [2021/09/29(水) 00:03:13.95 ID:BLI1g7MR.net] POSIX character classes
232 名前:デフォルトの名無しさん mailto:sage [2021/09/29(水) 00:18:36.77 ID:1i2b1Egj.net] お題: 次を真似して作れ。 「突然の死ジェネレーター」 https://totuzennosi.sacnoha.com/ ただし、等幅フォントでの表示を想定し、半角・全角の文字幅の違いを尊重すること。
233 名前:デフォルトの名無しさん mailto:sage [2021/09/29(水) 04:42:10.56 ID:WX6C7qGJ.net] >>225 ★や※を全角にするか半角にするかに依存。要はフォントに依存するから無理
234 名前:デフォルトの名無しさん [2021/09/29(水) 11:07:43.39 ID:0XODgfdX.net] Unicodeで半角全角を扱う Ambiguous(曖昧さ)とUncertainty(不確実性)の恐怖 https://qiita.com/Nuits/items/71a69cf32d547c9875bb ま、しかし、なんとなくいい加減で入力によってはおかしくなるやつならば作れるので、後で時間があったら作ろう。
235 名前:デフォルトの名無しさん mailto:sage [2021/09/29(水) 12:01:49.91 ID:hPAWkWy2.net] >>227 > Unicodeで半角全角を扱う場合、まずフォントがEast Asian Widthの規定を正しく守っている必要があります。でも実際にはそうとは限りません。 > > またそれを取り扱うプラットフォームも適切に実装されている必要がありますが、必ずしもそうとは限りません。 仕様を満たしてないものは仕様通りの挙動にならないかどで仕様を叩いているということで合ってる?
236 名前:デフォルトの名無しさん [2021/09/29(水) 12:03:25.69 ID:SXvzkJ7t.net] Boys, be Ambiguous.
237 名前:デフォルトの名無しさん [2021/09/29(水) 12:32:11.32 ID:SXvzkJ7t.net] お代 https://tokyochallenge.odpt.org/
238 名前:デフォルトの名無しさん [2021/09/29(水) 13:28:55.86 ID:p1B8H211.net] >>225 Kotlin https://paiza.io/projects/CTRi-9vO58I5nJsn9uvKFA 流石に寿限無は長すぎたようだ。
239 名前:デフォルトの名無しさん [2021/09/29(水) 13:41:53.17 ID:p1B8H211.net] >>230 > 2020年、2021年の東京では、東京マラソンの開催、東京国際クルーズターミナルのオープン、 > 東京2020オリンピック・パラリンピック競技大会の開催など、国際的に注目を集めるイベントが > 多数予定されています。 外国からの入国制限、及び無観客にして解決。
240 名前:デフォルトの名無しさん [2021/09/29(水) 19:41:42.38 ID:p1B8H211.net] >>225 Kotlin https://paiza.io/projects/1lHjOtpR8LrRV2Ggwafmyg 吹き出し部分を半角文字に変えてみたんだけどね。あまり意味ないか。
241 名前:蟻人間 mailto:sage [2021/09/29(水) 19:46:15.13 ID:1i2b1Egj.net] お題: 重力と慣性のないデカルト座標系に長さ3, 4, 5の固くて丈夫な連結された3本の棒B1, B2, B3がある。棒の幅はゼロに近い。 B1, B2, B3は現在x軸上に並んでいて、それぞれの端点の座標はO(0, 0)~E1(3, 0)、E1(3, 0)~E2(7, 0)、E2(7, 0)~E3(12, 0)である。 B1, B2, B3はこの順で
242 名前:端点が連結されており、B1の一端は原点O(0, 0)に連結されている。B3の他方の端は自由である。連結点では-180〜180度曲げることができる。 このような条件でB1, B2, B3を連結点O, E1, E2を中心に回転するとE1, E2, E3は移動するであろう。 さて、点P(x, y)が与えられたとき、どのように回転すればE3がPに重なるであろうか。その回答の一つを求めよ。許容誤差をε=0.01とする。 入力例「P=(0, 12)」「P=(5, 5)」「P=(15, 3)」 出力例「90度、0度、0度」「ありません」 [] [ここ壊れてます]
243 名前:デフォルトの名無しさん mailto:sage [2021/09/29(水) 20:45:55.00 ID:ktvYkylG.net] >>234 頭が悪そう 出題が冗長
244 名前:蟻人間 mailto:sage [2021/09/29(水) 21:27:25.97 ID:1i2b1Egj.net] >>235 代わりに出題してみて
245 名前:デフォルトの名無しさん mailto:sage [2021/09/29(水) 21:47:32.31 ID:yKvURuJk.net] 悪"そう"では無いな。説明において要点を整理出来ない者はすべからく頭悪い 問題文はその者の理解度に等しい
246 名前:デフォルトの名無しさん mailto:sage [2021/09/30(木) 00:49:10.52 ID:Ai6xyiAS.net] >>234 haskell https://ideone.com/kZdKJf
247 名前:デフォルトの名無しさん mailto:sage [2021/09/30(木) 01:23:41.62 ID:Ai6xyiAS.net] >>238 ラジアンと度の変換間違いorz haskell https://ideone.com/msB5Ks
248 名前:デフォルトの名無しさん mailto:sage [2021/09/30(木) 03:52:16.30 ID:Ai6xyiAS.net] ちなみに代わりに出題するなら 入力(a,b)に対して方程式 a = 3cos(x) + 4cos(x+y) + 5cos(x+y+z) a = 3sin(x) + 4sin(x+y) + 5sin(x+y+z) の解x,y,zをひとつ求め(度数法で与えるとする) 「x度、y度、z度」 の形で出力せよ、解がない場合には 「ありません」 と出力せよ ただし角度の範囲は-180°〜180°の範囲で与えるとする かな
249 名前:デフォルトの名無しさん [2021/09/30(木) 20:22:48.51 ID:59EqeRS1.net] >>202 JavaScript https://ideone.com/VslT6D
250 名前:蟻人間 mailto:sage [2021/09/30(木) 20:33:52.35 ID:8ZMYiRqf.net] >>239 ここに居るほとんどの人が分かってないから、解説をお願いします。
251 名前:デフォルトの名無しさん mailto:sage [2021/09/30(木) 20:35:20.03 ID:BaUXpZJu.net] >>242 素直に「僕には難しすぎてわからないから詳しく教えてください」って言えないの?
252 名前:蟻人間 mailto:sage [2021/09/30(木) 20:45:22.12 ID:8ZMYiRqf.net] >>243 ここは解いた人が解説しないと
253 名前:デフォルトの名無しさん mailto:sage [2021/09/30(木) 20:46:54.85 ID:BaUXpZJu.net] >>244 お前とQZ以外は理解してるよ
254 名前:蟻人間 mailto:sage [2021/09/30(木) 21:01:09.92 ID:8ZMYiRqf.net] 2つの副業と、ベルトコンベアのラインでねじ回しの仕事で疲れてるから許してくれよ。
255 名前:蟻人間 mailto:sage [2021/09/30(木) 21:13:56.42 ID:8ZMYiRqf.net] この技術を応用すればロボットアームを自由自在に動かせそうだね。
256 名前:蟻人間 mailto:sage [2021/09/30(木) 21:47:22.16 ID:8ZMYiRqf.net] イーロン・マ●クさん、見てる? イェイ!
257 名前:デフォルトの名無しさん mailto:sage [2021/09/30(木) 23:18:58.96 ID:vWP+uHYR.net] >>247 誤差が積もり積もるから無理
258 名前:デフォルトの名無しさん mailto:sage [2021/10/01(金) 00:08:37.55 ID:VIfkqI1d.net] 群論で簡単に解けそう
259 名前:デフォルトの名無しさん mailto:sage [2021/10/04(月) 21:51:58.57 ID:8pCgPPfH.net] お題: CSV形式のテキストデータを検索する grep のようなコマンド(または関数) CSVの形式は RFC 4180 の通りで文字のエンコーディングは UTF-8、改行は CR/LF。 この辺のページを参考にすると良い。 https://datatracker.ietf.org/doc/html/rfc4180 www.kasai.fm/wiki/rfc4180jp https://blog.tech-monex.com/entry/2021/03/26/160000#2-Definition-of-the-CSV-FormatCSV%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E
260 名前:%E3%83%83%E3%83%88%E3%81%AE%E5%AE%9A%E7%BE%A9 普通の grep コマンドを CSV ファイルに対して行うと1つのデータで改行が入っていた時に何行目の何列目のデータなのかが分からなくなって不便である。 その他、ダブルクォーテーションで括られているか否か、データとしてカンマやダブルクォーテーションを含むか否かで検索する側が正規表現を考慮して作らねばならず面倒臭い。 ということでこういった面倒くささを解消するコマンドを作るのがこのお題。 コマンドという形式ではなく正規表現と検索されるCSVテキスト(あるいはCSVファイル名や読み込みオープンしたファイルデスクリプタ)と検索する時のオプション(大文字小文字を無視など)を渡すと検索結果を返す関数を作成しても良い。 尚、1行目の項目名が入っている事がある行についてはその存在の有無をオプションで渡して指定する方式にして良い。 検索結果はパターンにマッチしたデータについて何行目、何列目だったかが分かるようにしてデータと共に出力する(関数の場合は呼び出し元に返す)。 出力する時にデータを見易くするために改行があったら \n 等にエスケープして1行にしても良い。 CSV読み込みや正規表現について既存のライブラリを使うか否かはご自由に。但し言語や環境に最初から付属していない外部のライブラリを使う場合は何を使ったかが分かるようにコメント等に入れておくこと。 [] [ここ壊れてます]
261 名前:デフォルトの名無しさん mailto:sage [2021/10/04(月) 23:29:46.48 ID:nQu0++L9.net] はい次
262 名前:デフォルトの名無しさん [2021/10/05(火) 01:25:35.09 ID:jsFp2nZ3.net] 難し過ぎたか・・・
263 名前:デフォルトの名無しさん mailto:sage [2021/10/05(火) 03:24:50.56 ID:8XAhfzzR.net] お題として質が低いのよ。 課題だねこれじゃw 宿題や仕事は自分でやってどうぞ
264 名前:デフォルトの名無しさん mailto:sage [2021/10/05(火) 07:56:40.58 ID:DrLIL1/r.net] てかちょっとガチでやったらそれなりの規模になるからこんな所でやるようなもんじゃない
265 名前:デフォルトの名無しさん mailto:sage [2021/10/05(火) 11:30:23.33 ID:akfRupr1.net] せやな どんなに長くても30分くらいて完成する程度がやってみようと思える限界やろな 所詮暇つぶしやし
266 名前:デフォルトの名無しさん [2021/10/05(火) 11:35:39.40 ID:jsFp2nZ3.net] まあやるやらないは自由なので
267 名前:デフォルトの名無しさん [2021/10/05(火) 12:04:55.27 ID:+8sevm6S.net] じゃあ俺がやるよO/
268 名前:デフォルトの名無しさん mailto:sage [2021/10/05(火) 12:39:36.95 ID:mwjMS5Mk.net] というか正確に仕様を満たせというのは実装チャレンジであって僕の考えた最強の解決策を見せっこするためのお題にはならんだろ
269 名前:デフォルトの名無しさん mailto:sage [2021/10/05(火) 12:57:06.08 ID:UApdMlTn.net] >>251 https://mevius.5ch.net/test/read.cgi/tech/1624934554/88 > 88 名前:デフォルトの名無しさん (ワッチョイ 12ad-ZF+H)[] 投稿日:2021/09/28(火) 00:00:21.68 ID:qy0bUCok0 > >>81 > CSV用のgrepってあったらいいよな。 > ライブラリ使えば簡単そうだからお題スレに出しておくかな。
270 名前:デフォルトの名無しさん [2021/10/05(火) 13:17:01.07 ID:+8sevm6S.net] >>260 ?
271 名前:デフォルトの名無しさん [2021/10/05(火) 13:17:11.37 ID:+8sevm6S.net] >>259 ??
272 名前:デフォルトの名無しさん [2021/10/05(火) 13:17:42.69 ID:+8sevm6S.net] 解かない人は黙っててもらえないかな
273 名前:デフォルトの名無しさん [2021/10/05(火) 13:19:46.17 ID:+8sevm6S.net] >>255 ライブラリ使えば余裕 >>256 俺は人生かけてチャレンジする
274 名前:デフォルトの名無しさん [2021/10/05(火) 13:20:57.94 ID:+8sevm6S.net] >>251 ちょっと待ってろ俺が回答してみせる しばらく修行の旅に出る
275 名前:デフォルトの名無しさん mailto:sage [2021/10/05(火) 13:54:06.13 ID:8XAhfzzR.net] >>260 そんなことだろうと思ったよ
276 名前:デフォルトの名無しさん [2021/10/05(火) 14:03:05.86 ID:+8sevm6S.net] >>254 ライブラリ使うのもあり
277 名前: オートマトンを実装するのもあり Bison使うのもあり パーザジェネレータから作るのもあり すごく面白そうじゃん [] [ここ壊れてます]
278 名前:デフォルトの名無しさん [2021/10/05(火) 14:03:59.63 ID:+8sevm6S.net] お題に文句つけるのはお前ららしくないよ 淡々と馬車馬のように回答するのがお前らのアイデンティティだろ 初心思い出せよ
279 名前:デフォルトの名無しさん [2021/10/05(火) 15:15:20.74 ID:jsFp2nZ3.net] >>260 そうそう。それそれ。
280 名前:デフォルトの名無しさん mailto:sage [2021/10/06(水) 12:59:47.28 ID:xRQj077j.net] お題 持久戦 隔たりのない6面のサイコロがN個ありi番目のサイコロのj番目の面には整数Aijが書かれている 高橋君は一個のサイコロを選んで一回振ると言う操作を繰り返す。 ただし2回目以降の操作で、前回の操作で出た目より小さいか同じ目が出てしまったら操作を止める 各回どのサイコロを振るかは前回に出た目を見てから決めることができる 高橋君は出来るだけサイコロを多く振りたいと考えている 操作の行われる期待値が最大化されるような選択が行われたときの操作回数の期待値を求めよ と言うのが数学板に投下されたけどどう見ても数学の問題でないので全員ガン無視 https://atcoder.jp/contests/past201912-open/tasks/past201912_o
281 名前:デフォルトの名無しさん mailto:sage [2021/10/06(水) 12:59:53.99 ID:xRQj077j.net] 以下自分の計算した例 間違ってるかも 入力 1 [ [ 1,2,3,4,5,6 ] ] 出力 117649 / 46656 ( = 2.5216263717421126 ) 入力 3 [ 1,2,3,4,5,6 ] [ 1,4,9,16,25,36 ] [ 1,8,27,64,125,216 ] 出力 13070575 / 3779136 ( = 3.4586146145574013 ) 入力 3 [ 1,1,1,1,1,1 ] [ 2,2,2,2,2,2 ] [ 3,3,3,3,3,3 ] 4 / 1 ( = 4.0 ) 出力は別に小数表示でも良いとする 尚最後の例は元サイトの“全部異なる”の制約満たしてないけど検算用、無視して桶
282 名前:デフォルトの名無しさん mailto:sage [2021/10/07(木) 19:56:52.00 ID:intYWBu8.net] 隔たりって何
283 名前:デフォルトの名無しさん mailto:sage [2021/10/09(土) 14:34:36.05 ID:uZ4xSJeU.net] >>272 偏りのないです 元ネタのホムペには他にも何問か有るんですけどコレ以外はあんまり面白いのがない ちなみに例はN=1,3でこれくらいだと総当たりでも解ける でも元ネタサイトの制限はN≦30000でこれだと実質総当たりだと解けない なので元ネタは「いわゆるDPで解ける問題だけどできますか?」が題意のようです まぁここではN=3くらいでパッパッと解ければいいかと
284 名前:デフォルトの名無しさん mailto:sage [2021/10/12(火) 06:03:57.89 ID:e1q14myl.net] お題: 正整数 N が与えられます f(x) = 正整数 a, b であって 0 < a / b < 1 かつ b ≦ x を満たす a / b の「値の種類数」 としたとき f(x) = N を満たす x が存在するか判定しなさい 制約: 1 ≦ N ≦ 10^12 入力: N 出力: x が存在するのなら "Yes", 存在しないのなら "No" 入力例 1: 11 出力例 1: Yes (f(6) = 11 です) 入力例 2: 123 出力例 2: No 入力例 3: 303963552391 出力例 3: Yes (f(1000000) = 303963552391 です) f(x) の例 f(1) = 0 f(2) = 1 f(3) = 3 f(4) = 5 f(5) = 9 ...
285 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 17:28:45.55 ID:igjNiW+q.net] >>274 https://ideone.com/lSUULo c++ アルゴは"OEIS A015614"より、本人はよくわかってない 余談:単純にオイラーのφを200万やっても2秒くらいだった
286 名前:デフォルトの名無しさん [2021/10/15(金) 22:08:55.85 ID:NqIVJaNX.net] じゃ簡単なお題を 1.少数(整数部MAX5桁、小数部MAX5桁)を入力し、分数に変換するプログラムを作成しなさい。 2.誕生日と日付AをそれぞれYYYYMMDDの8桁の整数で入力し、日付Aの時点で何歳かを表示するプログラムを作成しなさい。 3.西暦年YYYYを入力して閏年か否かの判定をするプログラムを作成しなさい。
287 名前:デフォルトの名無しさん [2021/10/15(金) 22:53:54.66 ID:HBylJ5Wv.net] 平面3リンクマニュピュレータの逆運動学のプログラミングを完成させなさい。 キーボードで手先の位置を入力すると、関節角が表示されるようにすること。 scanfを使うのと、アームの長さなどは適当に決めていいという条件。
288 名前:デフォルトの名無しさん [2021/10/15(金) 23:23:30.53 ID:eqKsqNtm.net] >>277 平面3リンクマニピュレータというものを検索してみたけど、手先の位置だけ与えても各関節の角度は同定できないのでは?
289 名前:デフォルトの名無しさん [2021/10/15(金) 23:45:51.35 ID:HBylJ5Wv.net] >>278 第1関節は原点で固定ですね。 手先の位置・姿勢が(xed, yed, φed)と与えられた(キーボード入力)時の、第3関節の位置が x2=xed−L3×cosφed y2=yed−L3×sinφed と求まり、第3関節がこの場所に来るには、リンク1とリンク2が三角形の2辺になるように第1関節と第2関節の角度を決めるという感じですね。
290 名前:デフォルトの名無しさん mailto:sage [2021/10/16(土) 02:01:06.18 ID:8sv207AJ.net] お題専門用語だらけでググらないと意味わからないようなお題やる気にならん
291 名前:デフォルトの名無しさん mailto:sage [2021/10/16(土) 04:05:29.07 ID:a3RnthCp.net] Visual Studio Code / VSCode Part11 mevius.5ch.net/test/read.cgi/tech/1632311131/173
292 名前: mailto:sage [2021/10/16(土) 17:58:18.20 ID:EXZ4MfzZ.net] >>268 >初心思い出せよ すみません……
293 名前:デフォルトの名無しさん [2021/10/16(土) 18:45:58.11 ID:BO6yK2Ly.net] scanfってことはHaskellじゃダメなのか。 休み一日しかないから取り掛かってみるか止めとくか悩むね。
294 名前:デフォルトの名無しさん [2021/10/16(土) 18:53:52.75 ID:BO6yK2Ly.net] >>277 は算数はわかってるんだけどプログラムがわからないんだろな。 そんなあなたにHaskell!!Haskell!!
295 名前:デフォルトの名無しさん mailto:sage [2021/10/16(土) 19:48:39.78 ID:ZzoUZQ8H.net] >>277 C++のスレで僕の丸投げ課題だれもやってくれないって拗ねてた奴か こっちにまで来て人に迷惑かけるなよ
296 名前:デフォルトの名無しさん mailto:sage [2021/10/16(土) 21:10:27.39 ID:27uehHe1.net] >>284 数学じゃないだろ
297 名前:デフォルトの名無しさん [2021/10/17(日) 08:07:29.47 ID:QqhGhKAl.net] 算数じゃなかったら何なんだ。
298 名前:デフォルトの名無しさん mailto:sage [2021/10/17(日) 08:09:34.06 ID:eIKWemED.net] 物理
299 名前:ハノン mailto:sage [2021/10/17(日) 08:14:29.67 ID:iZHfLY3S.net] >>287 物理なら剛体力学でしょうが力学的要素はないから今回は工学の機構学とかそんな感じ >>279 >リンク1とリンク2が三角形の2辺 せっかく一つ余分にある自由度を、そんな縛りで消費するのはもったいないと思います、それは力学的配慮ですか?
300 名前:デフォルトの名無しさん [2021/10/17(日) 08:34:02.73 ID:QqhGhKAl.net] 私は高校一年生の算数で解ける。
301 名前:デフォルトの名無しさん [2021/10/17(日) 08:35:04.57 ID:QqhGhKAl.net] 高校一年生が解く方法と、大学生が解く方法は違うのだろうか?
302 名前:デフォルトの名無しさん mailto:sage [2021/10/17(日) 09:18:03.49 ID:MkgjpPUe.net] >>277 まぁ、 X=Lcosθ+Mcos(θ+φ)+Ncos(θ+φ+Ψ) Y=Lsinθ+Msin((θ+φ)+Nsin(θ+φ+Ψ) みたいな感じで、LMNは適当に決めるとしても、角度のパラメータが3つあるんで、 もう1条件制約をかけないと決まらないケースが多発するだろうなぁ。 アームの長さを適当に決めろというなら、N=0にでもしてしまえば、 要はLとMと(原点と(X,Y)の距離)の三角形で角を求めろっていうだけの問題だから、 余弦定理でcosθは求まるかな。 それはインチキだというなら、 原点と(X,Y)の距離に応じてLの先端部分と(X,Y)までの距離が適当・・・ たとえば、(M+N)の半分になるような位置に位置づけることにして、 あとは、余弦定理で解けそうだけど。 よりコンピュータらしい力技でいくなら、三重ループで0から360度まで適当なステップ (たとえば、5度おき)に回して、距離が目標位置に一番近くなった時の値の前後 (5度おきにとったなら前後5度分・・10度分だね)を1度とか0.1度とかのステップで 3重ループで回して、一番目標位置に近かったものを答えにする。
303 名前:デフォルトの名無しさん mailto:sage [2021/10/17(日) 10:36:29.88 ID:31BFfd9w.net] 腕の長さ自由に決めていいならひとつ捨てて残り2つ同じ長さにすればカバーできる範囲同じで計算も簡単になる 元のお題でそもそもわざわざ関節3つ使う理由がない
304 名前:デフォルトの名無しさん [2021/10/17(日) 10:51:06.44 ID:UoQPOfGF.net] どうでもいいことを長々と議論するなあ 無視すりゃいいだろw
305 名前:デフォルトの名無しさん [2021/10/17(日) 10:57:44.74 ID:QqhGhKAl.net] 手先の位置というのが同定できない原因だったけど、位置と角度に変わったので大丈夫では?
306 名前:デフォルトの名無しさん [2021/10/17(日) 11:01:26.31 ID:QqhGhKAl.net] 関節角度の並びは二つに限られ、第一腕部第二腕部が直線に並ぶ時ひとつ、それ以外は二種類の並びに制限される。
307 名前:デフォルトの名無しさん [2021/10/17(日) 12:08:44.44 ID:QqhGhKAl.net] https://imgur.com/a/Y5mxr55 こんな感じでは? 実線と点線の二つの腕の位置が有り得る。 あとは余弦定理を使えば全て解ける。
308 名前:デフォルトの名無しさん mailto:sage [2021/10/17(日) 12:15:55.19 ID:06wimQoq.net] >>277 は、こいつに出された大学での課題。C/C++ スレで丸投げ指摘されて遁走。
309 名前:デフォルトの名無しさん [2021/10/17(日) 15:12:12.66 ID:atjZW8su.net] お題: 「平面3リンクマニュピュレータの逆運動学」とは何か。日本語で説明せよ。
310 名前:デフォルトの名無しさん mailto:sage [2021/10/17(日) 15:21:58.09 ID:06wimQoq.net] ロボット工学本の逆運動学の章に必ず載ってる問題。勿論解法も載ってる。 >>277 のアホはその解法のプログラミング(の課題)が出来ず、ここの連中にやらせようとしてる。
311 名前:デフォルトの名無しさん mailto:sage [2021/10/17(日) 15:54:50.71 ID:31BFfd9w.net] 作りゃいいと言われてもあまりにも意味わかんない 関節3つつけるのは当然手先の向きとかに制約がないと意味ない じゃあ無視して関節2つでと言われたら面白くもなんともない
312 名前:デフォルトの名無しさん [2021/10/17(日) 18:26:22.03 ID:QqhGhKAl.net] 結論:算数で十分でした。
313 名前:デフォルトの名無しさん mailto:sage [2021/10/17(日) 18:38:41.07 ID:W8S2Fmip.net] >>277 長さ全部1でやってみた https://ideone.com/QDwLSL
314 名前:デフォルトの名無しさん [2021/10/17(日) 18:39:49.61 ID:QqhGhKAl.net] >>303 すごい。
315 名前:ハノン mailto:sage [2021/10/17(日) 22:41:52.63 ID:iZHfLY3S.net] >>276 >>276 1. : C https://ideone.com/akOA1O 手間取ってしまいました…
316 名前:デフォルトの名無しさん [2021/10/18(月) 12:12:09.30 ID:MhIWImiq.net] ときどき言ってたり、やったりするがいまだ解答不明 平面上に円をおき、その円周上の整数点がちょうどn個となる円の最小半径は? 具体的にn=47でもわからない
317 名前:デフォルトの名無しさん [2021/10/18(月) 19:23:56.84 ID:578ljV9d.net] nは奇数にもなり得るの?
318 名前:デフォルトの名無しさん mailto:sage [2021/10/18(月) 20:05:15.05 ID:h1g8zzDx.net] >>306 昔そんな問題見たな このスレかも
319 名前:デフォルトの名無しさん mailto:sage [2021/10/18(月) 20:08:42.56 ID:h1g8zzDx.net] 全てnに対して円が存在するかどうかはわかってるの? n=0, n=1の時は
320 名前:~は存在するが最小値は存在しない n≧2の時は円が存在するなら最小値も存在する [] [ここ壊れてます]
321 名前:デフォルトの名無しさん [2021/10/18(月) 21:27:28.14 ID:9iPUXHWE.net] 1970年から2369年までの間で カレンダーの曜日が365(366)日同じパターンで出て来る年をグループ分けして グループが全部で何個あるか(たぶん即答7個だけど365と366を違うものとするので7以上)と 各グループに何年が属するかを出力するプログラム
322 名前:デフォルトの名無しさん mailto:sage [2021/10/18(月) 22:48:50.35 ID:cIVwbLw+.net] 400個だろ
323 名前:デフォルトの名無しさん mailto:sage [2021/10/18(月) 23:32:12.79 ID:o3blQ8kr.net] 最大で14個だよね?
324 名前:デフォルトの名無しさん [2021/10/19(火) 00:20:44.71 ID:eZJKwUVR.net] >>276 とりあえず1だけ。 perl -ne 'print int($_ * 100000) . " / 100000\n"'
325 名前:デフォルトの名無しさん mailto:sage [2021/10/19(火) 00:37:17.41 ID:uZ+aFQr8.net] >>310 bat @echo off &setlocal enabledelayedexpansion for /L %%y in (1970,1,2369) do set /a "fL=^!(%%y%%4)^^^!(%%y%%100)|^!(%%y%%400), g=%%y-1, w=(%%y+g/4-g/100+g/400)%%7" &for /f %%i in ("!fL!!w!") do set "p%%i=!p%%i!,%%y" set n=0 for %%w in (日,月,火,水,木,金,土) do set "w!n!=%%w"&set /a n+=1 set L0=平 set L1=閏 echo 閏有無 1月1日の曜日 : 西暦年 for /L %%a in (0,1,1) do for /L %%b in (0,1,6) do echo !L%%a!年 !w%%b!曜日 : !p%%a%%b:~1! pause &exit /b
326 名前:デフォルトの名無しさん mailto:sage [2021/10/19(火) 06:24:04.50 ID:uZ+aFQr8.net] 曜日判定は開始年のみで残りは閏年判定とインクリメントだけで良かったね
327 名前:デフォルトの名無しさん [2021/10/20(水) 01:31:42.75 ID:3o6derLl.net] >>313 勘違いしてるぞそれw
328 名前:デフォルトの名無しさん mailto:sage [2021/10/21(木) 02:55:37.46 ID:47mGjMvV.net] >>316 ぶ、ぶんすうにはなっているとおもうんだ
329 名前:デフォルトの名無しさん [2021/10/21(木) 03:09:36.20 ID:47mGjMvV.net] >>276 2だけ Kotlin https://paiza.io/projects/Uu2ieNBaD0aTyojbmVLWRA
330 名前:デフォルトの名無しさん mailto:sage [2021/10/21(木) 12:46:05.31 ID:TQQGYYBP.net] >>306 ちょっとやってみたけど奇数のものは見つけにくい 47ともなると相当大きくなりそう
331 名前:デフォルトの名無しさん [2021/10/21(木) 13:16:40.90 ID:LMXfXe/q.net] x^4+y^4+z^4=a^4 が成り立つ値 x,y,z,a を求めよ。
332 名前:デフォルトの名無しさん [2021/10/21(木) 16:28:37.98 ID:s+STdMnX.net] 0
333 名前:デフォルトの名無しさん [2021/10/21(木) 18:41:27.23 ID:LMXfXe/q.net] >>320 値は2以上の自然数ね
334 名前:デフォルトの名無しさん mailto:sage [2021/10/21(木) 18:46:20.17 ID:1lKVQwqU.net] 1も入れてあげて
335 名前:デフォルトの名無しさん mailto:sage [2021/10/21(木) 20:52:10.29 ID:I05C+tHT.net] >>310 octave https://ideone.com/Db3vpP year = @(y) cell2mat(arrayfun(@(m) {calendar(y, m)'(:)}, 1:12)); years = @(ys) cell2mat(arrayfun(@(y) {year(y)(:)'}, ys)'); ys = 1970:2369; [c, ~, ic] = unique(years(ys), 'rows'); c, arrayfun(@(uic) {mat2str(ys(ic == uic))}, unique(ic))
336 名前:デフォルトの名無しさん mailto:sage [2021/10/21(木) 23:31:25.95 ID:s18jC5Va.net] https://ja.m.wikipedia.org/wiki/%E3%82%AA%E3%82%A4%E3%83%A9%E3%83%BC%E4%BA%88%E6%83%B3
337 名前:デフォルトの名無しさん [2021/10/22(金) 01:42:42.81 ID:ZLeZZO3L.net] >>310 Kotlin https://paiza.io/projects/1gyc3KwD7I97S0hLahoygw 肝心な事はライブラリに任せ、自分でやってるのは振り分けだけ。
338 名前:デフォルトの名無しさん mailto:sage [2021/10/22(金) 02:39:08.04 ID:K3be3gm5.net] >>306 n=2〜10、とりあえず
339 名前:値だけ 1/2、5/(3√2)、1/√2、25/(3√2)、5/2、(25√221)/(11√2)、√(5/2)、65/(3√2)、25/2 [] [ここ壊れてます]
340 名前:デフォルトの名無しさん mailto:sage [2021/10/22(金) 14:09:38.24 ID:77+/GwrE.net] >>310 haskell https://ideone.com/Djble2
341 名前:デフォルトの名無しさん [2021/10/22(金) 21:06:26.88 ID:ernPiDca.net] >>306 最小かどうか知らんけど いっこ見つけたよ 半径おおよそ10万 https://www.wolframalpha.com/input/?i=%28x-5%2F12%29%5E2%2B%28y-5%2F12%29%5E2%3D%28801125%5E2%29%2F72 この数を上限としてループ回したらどうか
342 名前:デフォルトの名無しさん mailto:sage [2021/10/22(金) 23:54:51.41 ID:7DKt7uEz.net] "最小"である事を数学的に証明出来なければ最小であるとは言えないと思うのだが最小である証明って出来るの? 証明方法あるなら是非教えて頂きたいのだがちょっとスレチかなぁ?
343 名前:デフォルトの名無しさん [2021/10/23(土) 01:17:25.17 ID:BHiRdnVn.net] この問題の場合は 可能性を総当たりでつぶしていく方法があるから 計算機科学的にいえば「証明可能」だと思う 現実的な時間で解が求まるかどうかはまた別の話
344 名前:デフォルトの名無しさん mailto:sage [2021/10/23(土) 04:37:00.63 ID:gSawFHHH.net] いやいや連続体濃度の可能性を総当たりできるわけないじゃん
345 名前:デフォルトの名無しさん mailto:sage [2021/10/23(土) 05:04:07.49 ID:xy2o1DGT.net] 特定の3点を通る円は1個だから 上限があれば有限個の検索で済む
346 名前:デフォルトの名無しさん mailto:sage [2021/10/23(土) 09:08:29.52 ID:lhX1R4Wb.net] [0,1)×[0,1)に中心があり半径が801125/√72=94413.486...の円に入る円の格子点の数はおよそ2.8×10^10個 そこから3つ選んでルーブ回すとループの回数は2.1×10^31回 1秒で10^10回ループ回せたとして10^20秒の桁 何兆年もかかる
347 名前:デフォルトの名無しさん [2021/10/23(土) 09:46:56.70 ID:LnA0RHk6.net] 総当たりじゃないうまい方法を考えなさい ってのがこのスレ的な話題なんじゃない?
348 名前:デフォルトの名無しさん mailto:sage [2021/10/23(土) 09:55:07.00 ID:HC6G+u/J.net] 数学の人には渋い顔されるだろうけど コンピュータだったらまずは総当たり作ってみてそこから改良してくの全然ありだと思う
349 名前:デフォルトの名無しさん [2021/10/23(土) 12:38:00.73 ID:8QkqEddx.net] これはもしかして座標の問題ではなく円の性質では?
350 名前:デフォルトの名無しさん mailto:sage [2021/10/23(土) 13:51:05.91 ID:lhX1R4Wb.net] イヤ、もしかしても何も出題者も答え持ってないやろ
351 名前:蟻人間 mailto:sage [2021/10/23(土) 14:11:15.10 ID:HSZ38wuD.net] お題: (1) 数当てゲームを作成せよ。コンピュータ側は1〜100の自然数をランダムに選び、ユーザ側は、当たるまで繰り返し数を選ぶ。コンピュータは当たれば「当たり!」、外れれば「それより大きいです」か「それより小さいです」を出力する。 (2) そのゲームに、ユーザー側としてAIが介入可能な入出力インターフェースを追加せよ。出力: 数、入力: コンピュータからのメッセージ。 (3) 二分探索アルゴリズムによって、数当てゲームのAIを完成せよ。
352 名前:デフォルトの名無しさん [2021/10/24(日) 00:22:45.96 ID:Gedozjyx.net] AIとは何か?
353 名前:デフォルトの名無しさん [2021/10/24(日) 00:39:25.83 ID:8hWi5KuQ.net] うわー難しいこと聞いてきた。
354 名前:蟻人間 mailto:sage [2021/10/24(日) 01:17:46.48 ID:LOuNpAsp.net] artificial intelligence
355 名前:デフォルトの名無しさん [2021/10/24(日) 05:13:25.20 ID:H3SbS1d2.net] Application Interface
356 名前:デフォルトの名無しさん [2021/10/24(日) 08:59:19.22 ID:iNEhflB6.net] X^2 + Y^2 = N の整数解は、Nの素因数分解からわりと簡単に求められる X = cx +a , Y = cy + b として、拡大縮小+中心移動したとき解個数がどのように
357 名前:変化するのか、わかればいいのだが N = 2^(n0)・p1^(n1 - 1)・p2^(n2 - 1)・・・・・(pi ≡1 mod 4)と素因数分解されたとすると 解個数は 4 ・ n1 ・ n2 ・・・・・ X^2 + Y^2 = (X + iY)(X - iY)と、 4k+1型素数はたとえば5 = (2+i)(2-i)のように分解できることから最初の式の解も具体的に求められる [] [ここ壊れてます]
358 名前:デフォルトの名無しさん [2021/10/24(日) 09:25:46.21 ID:iNEhflB6.net] たとえば >>329 の右辺の数 801125 = 5^3×13×17×29 なので a=1+2i、 b=2+3i、 c=1+4i、 d=2+5iとおくと 5=a~a (~aは複素共役)等になる。 X^2 +Y^2 = 801125^2 の解個数は756=4*7*3*3*3 z=a^i (~a)^(6-i)とおくと、z~z = 5^6 等から複素数の積の計算して解も求まる
359 名前:デフォルトの名無しさん mailto:sage [2021/10/24(日) 09:57:22.23 ID:mn+DQKnt.net] >>344 それで中心と半径が与えられたときのってる格子点の数が簡単に求められたとしても、“最小のR”を求めるのにそこまで役に立つわけやないやろ 中心が( -a/N, -b/N ), 半径√Rとして格子点が満たすべき方程式は ( Nx + a )^2 + ( Nx + b )^2 = N^2R だから求める格子点の個数は方程式 u^2 + v^2 = N^2R, ‥@ u ≡ a ( mod N ), v ≡ b ( mod N )‥A を満たす(u,v)の数になる となると格子点の個数が例えば47とか抑えられててもN^2Rがの可能性が直ちに抑えられるわけではない、N^2Rがメチャクチャ大きくてもa,bをうまく選べば@、Aを満たす整数解はさほど多くなくなる可能性が出てくる 結局 「Rは小さい(最小値求めてるので)、@,Aを満たす整数解の個数は少ない(問題文で与えられてる条件)」 を科してもNの上限が直ちに決まったりはしない
360 名前:デフォルトの名無しさん mailto:sage [2021/10/26(火) 13:24:29.03 ID:7IK8iIce.net] Nの上限はRで押さえられるだろ
361 名前:デフォルトの名無しさん mailto:sage [2021/10/26(火) 20:49:34.15 ID:mZlCCyni.net] >>347 何故?
362 名前:デフォルトの名無しさん [2021/10/26(火) 21:57:54.63 ID:YDtvu9T4.net] ( Nx + a )^2 + ( Ny + b )^2 = R の解個数は X^2 + Y^2 = R の解個数以下ということでは?
363 名前:デフォルトの名無しさん [2021/10/26(火) 22:04:08.64 ID:YDtvu9T4.net] Rを十分大きくとって、X^2 + Y^2 = R の解個数が1万だとしても ( Nx + a )^2 + ( Ny + b )^2 = R で 1万以下のすべての解個数を作りだせるかというと間違ってそうだからな >>346 はそういうことだろ? 9997の解個数を得ようとすれば、X^2 + Y^2 = R の解個数はたとえば100億でないと無理かもしれない
364 名前:デフォルトの名無しさん [2021/10/27(水) 02:27:08.98 ID:zvgRqB+7.net] >>306 n=47の記録を更新したので載せとく https://www.wolframalpha.com/input/?i2d=1&i=%28x-9%2F86%29%5E2%2B%28y-19%2F86%29%5E2%3D3929086318625%2F3698
365 名前:デフォルトの名無しさん mailto:sage [2021/10/27(水) 12:58:14.54 ID:QXFcz/ph.net] お題 デスクトップにフォルダーA,B,C,D,E,F,G,H,I,J,K,Lがある。 D&Dで一つのフォルダーにまとめる。それぞれのフォルダーの パス名の組み合わせは何通りあるか数える (デスクトップはルートフォルダーみたいに表記してよい) 例: A,Bの場合 1./A,/A/B 2./B,/B/A A,B,Cの場合 1./A,/A/B,/A/C 2./A,/A/B,/A/B/C 3./A,/A/C,/A/C/B 4./B/A,/B,/B/C 5./B/C/A, B,/B/C 6./B/A,/B,/B/A/C 7./C/A,/C/B,/C 8./C/A,/C/A/B,/C 9./C/B/A,/C/B,/C できれば、SQLのみを使ったもの
366 名前:デフォルトの名無しさん mailto:sage [2021/10/27(水) 13:29:20.74 ID:iuhktxGB.net] 悪問 次
367 名前:デフォルトの名無しさん [2021/10/27(水) 14:15:39.88 ID:t2iD5tO8.net] ハノイの塔と同値
368 名前:デフォルトの名無しさん mailto:sage [2021/10/27(水) 16:59:18.79 ID:M8/Dvct0.net] >>350 違う >>346 で言ってるのは 問題 円上の格子点の数がちょうど47個である円の半径の最小値を求めよ においてガウス整数
369 名前:ツの因数分解の話を使って 問題 方程式 u^2 + v^2 = N^2R, ‥@ u ≡ a ( mod N ), v ≡ b ( mod N )‥A を満たす(u,v)の数が47であるRの最小値を求めよ という問題に還元したとして、“解の個数が47個”という条件を利用してもNの上限を決めることができないということ なんかの理論なり勘なりでR<10万とか決まってもそれによってNの上限が決まったりはしない N=一兆くらいで素因子を山のように持っててもa,bの選択によっては結局解の個数が47個という可能性が残るからガウス環の因数分解の理論など使っても“解の最小値”を調べるのに対して役に立たないと言ってる 大体この手の問題は 「なんでもいいから一つ構成する方法探せ」 と 「解の最小値求めよ」 では問題の性格がまるで違ってくる 単に解構成するだけなら色んな方面の色んな知識使って色々なアプローチが出てくるけど、「最小値求めよ」にした途端に本質的に総当たりしか無くなってしまうことが多い まぁ計算機持ち出す場面って大概それしか方法がないときだからそれはそれでいいんだけど、このスレででかい数字で総当たりしか手がない問題で、とても個人所有のパソコンでは手が出ない領域の問題出されると途端にレス止まってドッチラケになってしまう [] [ここ壊れてます]
370 名前:デフォルトの名無しさん [2021/10/29(金) 12:54:37.67 ID:6VyB6+e8.net] もとの問題が解けるかは別にして、 任意の自然数a,b,cdに対して (cx+a)^2 + (cy+b)^2 =d の解個数を高速に求めるかが大事とおもうが
371 名前:デフォルトの名無しさん mailto:sage [2021/10/29(金) 13:23:14.96 ID:hHWRsPnj.net] お題: 重力加速度が1、空気抵抗が0.2、ボールの質量が1、ボールのベクトルが(x, y)=(3, 1)だったとき 高さHからボールを落とした場合のボールのバウンド回数を算出しなさい
372 名前:デフォルトの名無しさん mailto:sage [2021/10/29(金) 15:02:23.80 ID:gWArxJUi.net] 抗力 https://ja.m.wikipedia.org/wiki/%E6%8A%97%E5%8A%9B
373 名前:デフォルトの名無しさん mailto:sage [2021/10/29(金) 16:10:26.75 ID:1t708P0q.net] バウンド回数って無限回
374 名前:デフォルトの名無しさん mailto:sage [2021/10/29(金) 16:10:46.78 ID:1t708P0q.net] になるんじゃないの?(途中で書き込まれてしまった)
375 名前:ハノン mailto:sage [2021/10/29(金) 18:49:54.55 ID:3iG6tyfE.net] >>360 そうそう、収束値を求めるのなら、バウンドしなくなる点の発射点からの距離にしたほうがいいのでは? つゼノンのアキレスと亀のパラドックス
376 名前:デフォルトの名無しさん mailto:sage [2021/10/29(金) 18:58:39.05 ID:q+AKOZXy.net] てか空気抵抗が0.2って>>358 の公式における何が0.2なん? 床での反射は完全弾性衝突なんやろな 空気抵抗は考えるのに衝突時のロス考えんのはなんだかなぁだけど、そこはともかく“空気抵抗0.2”をどう立式すればいいのか調べてもわからんのだけど
377 名前:デフォルトの名無しさん mailto:sage [2021/10/29(金) 19:45:45.04 ID:ZtEOqLMN.net] >>357 エントロピーを考えさせたいのなら粘性とかの情報が足りないし、 打ち切り誤差を考えさせたいのなら精度の情報が足りない。
378 名前:デフォルトの名無しさん mailto:sage [2021/10/29(金) 20:47:20.06 ID:II19q38d.net] 単位がないからどうとでも答えられるわ
379 名前:デフォルトの名無しさん mailto:sage [2021/10/29(金) 21:49:53.51 ID:1t708P0q.net] 単位とかの問題ではないと思う
380 名前:デフォルトの名無しさん [2021/10/30(土) 09:59:33.72 ID:gRDEN/XN.net] バウンド回数をHとgで表せっていう意味ならそれなりの数式は出るだろうけど Hに関わらず無限大だろうってのが答え
381 名前:デフォルトの名無しさん mailto:sage [2021/10/30(土) 10:52:04.30 ID:jJEez0C7.net] 終了 次
382 名前:デフォルトの名無しさん mailto:sage [2021/10/30(土) 11:45:13.50 ID:a9WSKAoR.net] GUI造るお題もアリ?
383 名前:デフォルトの名無しさん mailto:sage [2021/10/30(土) 11:48:13.10 ID:B9HlTkoz.net] ダメってことは無いんじゃない?
384 名前:デフォルトの名無しさん [2021/10/30(土) 17:28:39.70 ID:0q4JizrL.net] GUIでも何でも良いけどGUIはこちらで試す時に面倒。というかGUIだと多分やらないでソース眺めてフーンとなるぐらいかな。 ソースをコンパイル、実行して試せるようなサイトでGUIも出来るような所があれば良いんだけどね。そういう所ある?
385 名前:デフォルトの名無しさん mailto:sage [2021/10/30(土) 17:30:20.58 ID:Zd9OnruO.net] 今までは実行してたのか? 暇人
386 名前:デフォルトの名無しさん [2021/10/30(土) 17:41:23.59 ID:BwSV3hMk.net] Pythonとか汎用性の高そうなGUIにしとけばいいかと、どれが一番いいかはしらんが
387 名前:デフォルトの名無しさん mailto:sage [2021/10/30(土) 18:14:32.40 ID:Zd9OnruO.net] PythonにGUIなんか無いぞ
388 名前:デフォルトの名無しさん mailto:sage [2021/10/30(土) 18:18:52.22 ID:0SZBWJnV.net] 「Pythonとか汎用性の高そうなGUI」ここまでで大爆笑取れるな
389 名前:デフォルトの名無しさん mailto:sage [2021/10/30(土) 19:19:30.18 ID:H3Il6ZC9.net] >>374 お前面白くない
390 名前:デフォルトの名無しさん [2021/10/30(土) 19:30:41.93 ID:BwSV3hMk.net] GUIライブラリのことだが PythonでGUIライブラリはどれがおすすめ? Tkinter 「Tkinter」はPythonに標準的に組み込まれているGUIライブラリです。 シンプルな文法と起動の速さが評価されており、Pythonにおけるもっとも基本的なGUIライブラリとしての立ち位置を築いています。 Kivy 近年、PythonのGUIライブラリの中でもっとも人気が高いものが「Kivy」です。 Kivyは、PythonでGUIのプログラムを作るためのオープンソースのライブラリで、Android、iOS、Linux、MacOS、Windowsなどの多くのOSで動作するため、汎用的に利用することが可能です。 KV言語というGUIのレイアウトを作成する言語が用意されており、直感的な記法で簡単にレイアウトを指定できるのが特徴です。 PyQt 「PyQt」は、Pythonを使ってGUIアプリケーションを作るためのフレームワークの1つです。 多くのソフトが作られており、比較的モダンな設計と、GUIのデザインを美しく作りやすいことが評価されています。 wxPython 「wxPython」は「wxWidgets」という「C++」と書かれたクロスプラットフォームGUIツールキットがあり、wxPythonはそのPythonバージョンです。 wxPythonは洗練されたAPIと豊富なライブラリが特徴であり、安定した動さが評価されています。 https://techplay.jp/column/552
391 名前:デフォルトの名無しさん [2021/10/30(土) 19:39:14.98 ID:BwSV3hMk.net] こんなのがあったんだな 【Python】ttk:tkinterと比べた各ウィジェットの外観と機能面の違い よりオシャレでモダンなGUIアプリを作成するならttkを使うのがお勧めです。 商用向けにGUIアプリの開発を進めている方や、社内向けアプリの場合でもユーザーインターフェースを良くしたい方は必ずチェックしておいてください。 https://office54.net/python/tkinter/tkinter-ttk-difference Tkinterで使われるttkって?Tkinterとの違いを交えて徹底解説!? 今回はTkinterで使われるttkに関して、Tkinterとの違いを交えて徹底解説いたします。そもそもttkとは何か知りたい、Tkinterとttkの違いを学びたい方へおすすめです。 https://kuroro.blog/python/L9hqzwxZAx0soqSmI8zE/
392 名前:デフォルトの名無しさん mailto:sage [2021/10/30(土) 19:52:06.16 ID:nIglmucm.net] お題:群論・有限群の分類 正の整数 n を与えたとき n を次数とする有限群のすべてを順次出力せよ。 ただしすでに出力された群の「準同型」は出力してはならない n 次の有限群の要素は {k|k∈N, 1 <= k <= n} で表現せよ この作業を「有限群の分類」と称するが、n をどこまで大きくできるか、各自の環境で試みよ 期限:2022年4月1日 準同型の定義は適切な参考書…@を参照さられた
393 名前:「、が、以下に概略を記述する 例えば 2 次の有限群として G1= 1 2 2 1 およびG2= 2 1 1 2 があるが、この二つは 「G1の 1 を 2 に置き換え、G1の 2 を 1 に置き換えて新たなG を作る」 というG1→G の変換 f によって G=G2 となる、すなわち f(G1)=G2 このような変換 f が存在するとき、G1、G2 は準同型であるという @:「ガロア理論の頂を踏む」石井俊全/ベレ出版 2013年 [] [ここ壊れてます]
394 名前:デフォルトの名無しさん mailto:sage [2021/10/30(土) 19:55:13.98 ID:Zd9OnruO.net] 昔授業でやった 手作業で分類
395 名前:デフォルトの名無しさん mailto:sage [2021/10/31(日) 01:34:58.60 ID:hGI7wBpw.net] GUI は皆が知っている、HTML, CSS, JavaScript だけ それ以外は、ダメ
396 名前:デフォルトの名無しさん mailto:sage [2021/10/31(日) 11:02:55.76 ID:dKAtRzTx.net] GUIで出題すると仕様が発散する
397 名前:デフォルトの名無しさん mailto:sage [2021/10/31(日) 11:39:19.72 ID:2xPpBnWz.net] 他の人の答え見ても走らせられないからおもんない
398 名前:デフォルトの名無しさん mailto:sage [2021/10/31(日) 13:24:46.17 ID:+JknqnCD.net] >>380 Win32, Androidが抜けてる
399 名前:デフォルトの名無しさん [2021/11/01(月) 00:58:32.75 ID:6HuVbq6K.net] >>371 >>1 に書いてあるサイトだとブラウザで開くだけで実行されるじゃない。
400 名前:デフォルトの名無しさん mailto:sage [2021/11/04(木) 13:45:51.05 ID:D1F18vfo.net] お題:GUIのカウントチャレンジを作れ ボタンを押すとタイマーがスタート もう一度ボタンを押すとタイマーがストップ タイマーが10秒きっかりだったら「You win!」と表示 それ以外は「You lose!」と表示 現在のタイマーの値は表示しない
401 名前:デフォルトの名無しさん mailto:sage [2021/11/04(木) 13:55:48.22 ID:iRkMc3Gk.net] 次
402 名前:デフォルトの名無しさん mailto:sage [2021/11/04(木) 19:19:30.28 ID:kwdxsWVQ.net] >>385 Ruby & MS-Windows https://ideone.com/iVR6dY
403 名前:蟻人間 mailto:sage [2021/11/04(木) 19:45:56.66 ID:HOYEg+v3.net] お題: 与えられたn個の英単語群をすべて連結したクロスワードを作成できるか否かを判定せよ。クロスワードのサイズは自由とする。 入力例1: password, sword, animal, living 出力例1: すべて連結可能です。 入力例2: apple, zoo, grape 出力列2: 連結できない単語「zoo」があります。
404 名前:デフォルトの名無しさん mailto:sage [2021/11/04(木) 21:03:28.99 ID:SLvu/urJ.net] はい次
405 名前:蟻人間 mailto:sage [2021/11/04(木) 22:30:42.52 ID:HOYEg+v3.net] >>386 、>>389 外野は試合の邪魔しないで
406 名前:デフォルトの名無しさん mailto:sage [2021/11/04(木) 22:33:47.55 ID:SLvu/urJ.net] >>390 お 前 は 内 野 じ ゃ ね え よ
407 名前:蟻人間 mailto:sage [2021/11/04(木) 22:35:04.55 ID:HOYEg+v3.net] >>391 くやしいの?
408 名前:蟻人間 mailto:sage [2021/11/04(木) 23:12:02.85 ID:HOYEg+v3.net] 現実の問題は競プロの問題よりも難しいかも知れない。教科書に書いてないような解決策を要求される。 競プロの問題が欲しいなら、ここよりも競プロへ行ってくれ。ここはそういう場所ではない。
409 名前:蟻人間 mailto:sage [2021/11/05(金) 18:24:25.98 ID:lMRXWOVz.net] 数学の組合せの問題か。まず文字の組合せから。ある単語Xのすべての文字が他の単語にないならその単語Xは連結ではない(自明)。ひとつのセルは二重に交差点になることはできない(自明)。 ある単語Xが連結でなければ、単語X上の任意の文字位置は交差点にはならない。
410 名前:蟻人間 mailto:sage [2021/11/05(金) 18:33:11.14 ID:lMRXWOVz.net] 次はクロスワードの組合せ。有限でサイズ変更可能な二次元配列によりクロスワードの盤を再現する。各要素はアルファベットか黒マスかハテナ(?)である。 文字の組合せにおいて最も接続数の多い単語を最初に盤の真ん中に置く。さらに単語の両端に黒マスを置く。次に接続数の多い単語と既に盤に置かれている単語の交差点を考えるわけだが、 交差点の位置により場合分けすると考えやすい。
411 名前:蟻人間 mailto:sage [2021/11/05(金) 18:35:46.93 ID:lMRXWOVz.net] そして配置のすべての組合せを再帰により網羅する。交差点が見つからない単語があれば失敗。というわけだ。コーディングに入ろう。
412 名前:デフォルトの名無しさん [2021/11/06(土) 03:47:56.08 ID:8BMCwFko.net] >>385 Kotlin https://paiza.io/projects/Hq-JXeNo2ZQgGbLORbCJpA GUI は java.awt ライブラリを使うように書いてある。 当然の事ながら、paiza.io のサイト上では動かない。 動かしたい人は IntelliJ Idea で Kotlin のプロジェクトを作ってソースコピペして実行させるか、 またはコマンドライン環境で kotlinc コマンドでコンパイルして kotlin コマンドで実行する。
413 名前:蟻人間 mailto:sage [2021/11/06(土) 23:49:16.09 ID:xVqAQy13.net] 交差点になり得るセルの位置を記録して可能ならばマイナス方向にもサイズを拡張すべきことがわかった。
414 名前:デフォルトの名無しさん mailto:sage [2021/11/07(日) 15:24:13.73 ID:qfuan/oU.net] document.querySelectorAll('span.name').forEach(e => { if(e.innerText.indexOf('蟻人間') >= 0){ e.parentElement.parentElement.style.display = 'none'; } });
415 名前:96 mailto:sage [2021/11/08(月) 17:48:34.31 ID:+3VBQOCX.net] >>378 これか… ttps://math.jp/wiki/%E6%9C%89%E9%99%90%E7%BE%A4%E3%81%AE%E5%88%86%E9%A1%9E%28%E4%BD%8D%E6%95%B01~100%29 プログラム化する以前に、解法を理解・考えることが難しいお題だな
416 名前:蟻人間 mailto:sage [2021/11/08(月) 22:31:17.08 ID:8X+AtsKK.net] エアプレイじゃなくてちゃんとやっているぜ。 https://github.com/katahiromz/crossword_generation_test
417 名前:デフォルトの名無しさん mailto:sage [2021/11/08(月) 22:34:01.71 ID:sIrE8Ymr.net] >>401 クソじゃん
418 名前:蟻人間 mailto:sage [2021/11/08(月) 23:09:09.26 ID:r2YqBk6E.net] >>402 どの辺が●ソか解説よろ。
419 名前:デフォルトの名無しさん mailto:sage [2021/11/08(月) 23:19:34.67 ID:sIrE8Ymr.net] 金を払うなら教えてやってもいい
420 名前:蟻人間 mailto:sage [2021/11/08(月) 23:25:16.81 ID:r2YqBk6E.net] >>404 銀行振込3000円でいいか? メールで連絡よろ。 katayama.hirofumi.mz@gmail.com
421 名前:蟻人間 mailto:sage [2021/11/08(月) 23:35:25.59 ID:r2YqBk6E.net] どうせ printf使うなstd::cout使え、だろう?
422 名前:蟻人間 mailto:sage [2021/11/08(月) 23:41:38.46 ID:r2YqBk6E.net] 確かにここはstd::pairじゃない方がいい。 他には?
423 名前:蟻人間 mailto:sage [2021/11/08(月) 23:46:44.17 ID:r2YqBk6E.net] ヘッダーオンリー・テンプレート使用はバイナリサイズが大きくなりがちだから避けるべき。それから?
424 名前:蟻人間 mailto:sage [2021/11/08(月) 23:48:18.18 ID:r2YqBk6E.net] なるほど。ありがとう。
425 名前:デフォルトの名無しさん mailto:sage [2021/11/08(月) 23:49:02.87 ID:sIrE8Ymr.net] どういたしまして。 じゃあ、振り込み宜しく
426 名前:蟻人間 mailto:sage [2021/11/08(月) 23:51:18.07 ID:r2YqBk6E.net] チャリンチャリン。ガシャ。振り込み完了。
427 名前:蟻人間 mailto:sage [2021/11/08(月) 23:57:31.64 ID:r2YqBk6E.net] std::promiseを使うべき。だがやり方がわからん。
428 名前:蟻人間 mailto:sage [2021/11/09(火) 00:09:04.79 ID:lgtaApb2.net] お題: 計算時間が予測できない時間のかかる計算について、複数スレッドを立ち上げていずれかのスレッドで答えがセットできたか、キャンセル操作があれば、スレッドを終了して可能ならば答えを取得する。スレッド開始と終了、答えに対してメッセージを出力せよ。 言語: C++11以降 std::threadとstd::promise使用。
429 名前:デフォルトの名無しさん mailto:sage [2021/11/09(火) 00:58:40.89 ID:coKFHwlH.net] いらっしゃいマシーンのプロミス
430 名前:96 mailto:sage [2021/11/09(火) 03:16:48.15 ID:Fkau/hlA.net] OpenMPやithreadじゃだめなのかよ
431 名前:デフォルトの名無しさん mailto:sage [2021/11/09(火) 04:39:18.77 ID:qOqV7S2Y.net] お題で言語まで指定されんの?宿題スレに貼ってくれば
432 名前:デフォルトの名無しさん mailto:sage [2021/11/09(火) 16:49:52.57 ID:EFAwjHPG.net] もうすぐポッキーの日 [お題] 人口合計で1がらみの数字遊び URLのページに都道府県別の人口が載っている。 URL: https://ideone.com/msZUeW 今回使用するのは、2020/10のデータ 同じ県は一回のみで、異なる県を 11 県選らぶ。 (単純な選び方は全部で 47C11 = 約174億通り) 選択した11県の人口合計を 111111 (11万1111) で割った時、 余りが 1111 になるのは何通りあるか? また、その条件で(剰余でなく生の)のべ人口合計は何人か? ※一発正解問題、実行時間2秒程度。 ※ちなみに 2015/10データだと 156561 通り(のべ 4656362060856 人) だった。
433 名前:デフォルトの名無しさん mailto:sage [2021/11/09(火) 21:20:25.70 ID:l7cbb8DO.net] >>417 https://ideone.com/MusJV7 Cだけど遅い
434 名前:デフォルトの名無しさん mailto:sage [2021/11/10(水) 00:24:34.22 ID:BKretcyA.net] 111111×11の配列のやつやな
435 名前:デフォルトの名無しさん [2021/11/11(木) 01:43:34.66 ID:rg6AJXmO.net] 侍エンジニアリングつーサイトの講師やりませんか?というお誘いが来た。 下準備が結構必要っぽいのに時給は生徒と応対している時のみの2000円/hだそうだ。 結局時給1000円くらいやん。 ふざけとるわ。
436 名前:デフォルトの名無しさん [2021/11/11(木) 09:52:21.62 ID:SpIFedoW.net] 生徒と応対して連絡先交換 あとは中抜き回避で青天井
437 名前:417 mailto:sage [2021/11/11(木) 15:33:20.12 ID:226d0X5M.net] >>417 回答者(>>418 )が言うところの"遅い解法"ががほぼ想定解。 https://ideone.com/msZUeW 下部に追加記入 解法については、"部分和問題 数え上げ"でググって調べて 別解としては早い言語なら、さらに遅い"半分全列挙"でも間に合う。 (大雑把に(24*2^24)*2 <1億なので、c++で試したら1秒強だった)
438 名前:デフォルトの名無しさん mailto:sage [2021/11/11(木) 16:01:48.26 ID:aldiYpmV.net] >>422 見てなんで>>418 が遅かったか分かった 無駄な掛算やってたからだった 配列の並び直したら4倍速くなった https://ideone.com/vwPpAn
439 名前:デフォルトの名無しさん mailto:sage [2021/11/11(木) 16:02:43.51 ID:aldiYpmV.net] 掛算じゃなくてメモリの連続性かも 両方かな
440 名前:蟻人間 mailto:sage [2021/11/11(木) 21:32:16.11 ID:3Uao5x0L.net] お題:与えられたテキストの中のURLをすべて置き換える。 https://【...】 → https://jump.5ch.net/?【...】
441 名前:デフォルトの名無しさん mailto:sage [2021/11/11(木) 21:50:43.06 ID:PBlMMjPy.net] 次
442 名前:デフォルトの名無しさん mailto:sage [2021/11/11(木) 21:53:39.37 ID:39WaJBCl.net] >>425 URLとなる文字列の定義も知らねえで糞みたいな問題出すなよダニ野郎
443 名前:蟻人間 mailto:sage [2021/11/11(木) 21:57:33.27 ID:CgY0hHY1.net] >>427 URLにマッチする正規表現使えばええやろ、チャチャとやれよ。
444 名前:デフォルトの名無しさん mailto:sage [2021/11/11(木) 21:58:05.03 ID:39WaJBCl.net] URLにマッチする正規表現(笑)
445 名前:96 mailto:sage [2021/11/11(木) 23:57:38.62 ID:JHz34AMz.net] >>425 Perl5、たまにはお相手して進ぜよう。5chの仕様に従うと↓こう
446 名前:だと思うが… $uri = 'https://www.google.com/search?client=firefox-b-e&q=%E8%9F%BB%E4%BA%BA%E9%96%93+%E3%83%8F%E3%82%B2'; use URI::Split qw(uri_split uri_join); @a = uri_split($uri); $a[1] = 'jump.5ch.net'; $a[2] = '/'; $a[3] = $uri; print uri_join(@a), "\n"; [] [ここ壊れてます]
447 名前:デフォルトの名無しさん [2021/11/12(金) 20:37:34.22 ID:Y4pYQLN1.net] ”2021”というフォルダがある "2020"というフォルダもある : "1950"というフォルダもある そしてそれぞれに"01"〜"12"のサブフォルダがあって そしてそのそれぞれに"01"〜"31"というサブフォルダがあって 更に"00"〜"23"という・・・・ つまり、1時間ごとのフォルダがあって そこには多くのファイルが詰まっている そのファイルのタイムスタンプに変化があったら 「どこのファイルが書き換えられたぞ」と検出するプログラムを作りたい 片っ端からタイムスタンプを調べるしかないのか これはファイルシステムの問題でしょうが なんとか、前回調べてから変化があったか、短時間で検出できる方法はありませんか ファイルに変化があったら、フォルダのタイムスタンプを変えてくれればいいんだけどね
448 名前:デフォルトの名無しさん [2021/11/12(金) 21:45:17.50 ID:gsBkkV8P.net] そういう検出機能はOSかハードウェアかについてなかったか 忘れたが
449 名前:デフォルトの名無しさん [2021/11/12(金) 21:49:29.72 ID:gsBkkV8P.net] NTFSの USN とは? USN ジャーナルとは NTFSのUSN機能とはNTFSボリュームに対しての変更の記録です。 Cドライブ、Dドライブ、Eドライブごとなど、ドライブごとに加えられた変更を記録したものです。 USNとはUpdate Sequence Number Journalの略称です。 主に以下の目的で使用されます。 ・FRS(File Replication Service)によるファイル複製時の差分洗い出し。 ・スナップショットバックアップ時の差分洗い出し。 ・ウィルス対策ソフトによるファイル検査。 ・インデックスサービス向け。 tooljp.com/qa/what-is-USN-36BE.html
450 名前:デフォルトの名無しさん mailto:sage [2021/11/12(金) 22:31:42.38 ID:M7lyd7nj.net] Ruby では、文字列の中から、URL を抜き出す関数が非推奨になった。 頻繁に規格が変わるからかな? 正規表現でも多分、何万行も掛かる。 作るのに10年ぐらい掛かるので、誰も作らない 今あるものでも、正しく判定されるかどうか、分からない
451 名前:デフォルトの名無しさん mailto:sage [2021/11/12(金) 22:39:57.54 ID:M7lyd7nj.net] >>430 5ch のバグで、 そのURL をプログラム板全体で見た時は、&q とつながっているのに、 個別のスレッドで見ると、&;q と、&の直後に、;が入って、 リンクが&までになってしまう
452 名前:デフォルトの名無しさん [2021/11/13(土) 02:42:42.42 ID:p75HzwR9.net] >>433 ドライブごとに加えられた変更がログに保存されているとは知りませんでした データドライブに分けているので、ログから探すのも速いかもしれません ありがとうございました
453 名前:デフォルトの名無しさん mailto:sage [2021/11/15(月) 00:16:09.47 ID:Xr7xQZWT.net] お題: JSON形式のテキストをXML形式のテキストに変換しなさい
454 名前:デフォルトの名無しさん mailto:sage [2021/11/15(月) 21:06:19.54 ID:L/+dWr8R.net] >>437 C++ https://ideone.com/vkSCmj
455 名前:デフォルトの名無しさん [2021/11/23(火) 21:56:09.59 ID:WrxNeBf5.net] age
456 名前:デフォルトの名無しさん mailto:sage [2021/11/24
] [ここ壊れてます]
457 名前:(水) 11:45:59.40 ID:kXzWnsgO.net mailto: ideone って boost は include 出来るのか codepad はずっと落ちてるな [] [ここ壊れてます]
458 名前:ハノン mailto:sage [2021/11/24(水) 20:41:27.64 ID:CmhCtKru.net] >>440 もう codepad はおしまい、codepad にアップした私のコードも永遠に失われました…
459 名前:96 mailto:sage [2021/12/02(木) 04:03:51.64 ID:EE6BdDDo.net] 元のソースをローカルに保存しておかなかったのか
460 名前:デフォルトの名無しさん [2021/12/02(木) 12:54:02.17 ID:adrEDszf.net] 短いもんだから直接打ち込んじゃったんじゃないかな。 そして消滅。
461 名前:デフォルトの名無しさん mailto:sage [2021/12/02(木) 16:48:13.78 ID:BMPRSKoA.net] >>442 デスクトップで書いたものはローカルのどこかに残っている(と思う) ノートで書いたものはノートPCごとどこかにいってしまった… いや、まあ、最初から書き捨てでしたけど、惜しいと思うものも多少ありますね
462 名前:96 mailto:sage [2021/12/02(木) 21:30:16.60 ID:m0u4nXXp.net] いま codepad.org/ 復活してない? サンプルURLとして前々スレの過去の回答 プログラミングのお題スレ Part18 mevius.5ch.net/test/read.cgi/tech/1594702426/174 >174 名前:デフォルトの名無しさん[] 投稿日:2020/08/04(火) 19:24:17.96 ID:lImhU2CT > >>173 > あーアホだったw > タブ消去の仕様だとPythonだと分けわからんことになるなw > ↓貼り直した > codepad.org/BWRzr8fW > ※会員未登録の為、一定期間後に自動消去 も表示されたし。 保持しておきたいcodeがあれば今のうちにsaveするか、 Internet archiveに記録しとくのも手だよ。
463 名前:デフォルトの名無しさん [2021/12/08(水) 14:07:00.92 ID:Bws6ftLO.net] お題が出なくなったので全く実用性がないと思われる頭の体操的なやつを一つ。 お題: 与えられた数値の配列の 1 になっているビットをカウントする。 例えばC言語で unsigned char の配列とか使って、処理する関数はポインタで渡された所から何要素みたいに指定されるようにする。。 それで例えば 0xde, 0x96 (11011110, 10010110) なら答えは 10。
464 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 17:14:42.64 ID:vDqYU7cZ.net] .replace("0", "").length
465 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 17:44:20.69 ID:/InaUbpT.net] お題: 日付が与えられるので4月ならtrueを出力しなさい < 2021/04/01 > true < 04/01 > true < 2021/04 > true < 2021/05/01 > false
466 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 19:09:00.93 ID:nFeiLLyh.net] >>446 最適なコードが環境に大きく依存するからなあ シフトの速度とか専用命令有無とか あまり良いお題じゃないし荒れそう
467 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 05:41:43.04 ID:8cQ3P39Q.net] 英式 1/4/2021 米式 4/1/2021
468 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 08:53:58.33 ID:FBbu4srV.net] 日 21/04/01 米 04/01/21 欧 01/04/21 年2桁で入り乱れたら更にわけわかめ
469 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 13:38:41.08 ID:ZoIDn0OR.net] 逆に、年2桁の時は、 その数値で年月日が特定できるか問題があった。 02 12 29 --> 12年02月29日 と 29年02月12日 の2通りがある 02 13 29 --> 13年02月29日はないので、29年02月13日のみ
470 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 13:44:59.59 ID:ZoIDn0OR.net] >>452 特定できるかどうかだけならいいが…… 反例を間違った 02 12 29 3通りある
471 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 14:42:16.44 ID:b/vm8aBu.net] そういえば食品の賞味期限がど
472 名前:、読んだらいいか分からなかったことがあったなあ。 11/02/13 2013年2月11日なのか、それとも2013年11月2日なのか、まさか2011年2月13日だったりしたらどうしよう、みたいな。 普通に輸入されているものなら日本語ラベルがあるから分かるだろうけど、友達が現地のお土産屋で買ってきた お菓子みたいなものだとそのまんまだったりする(まあ、アメリカかアメリカ以外かで考えればだいたいは大丈夫 なのかも知れないが)。 日本の元号みたいな独自年号まで使われているのが混在していたら余計に分からないよな。今の日本では あまりないだろうけど昭和の頃はあったような気がするなあ。 [] [ここ壊れてます]
473 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 22:53:27.33 ID:93rp7Kwc.net] >>446 Ruby p [0b1110, 0b1010111].reduce(0){|s, n| s + n.digits(2).count(1)} # => 8
474 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 23:18:40.40 ID:2ghuDZG2.net] >>446 https://ideone.com/qmIeDU
475 名前:デフォルトの名無しさん [2021/12/10(金) 00:33:54.80 ID:Uh57IFJZ.net] >>446 C https://paiza.io/projects/YQ8ORfELqUt1xkKqmysViQ 入力を配列に入れてからカウントさせている。(uint32_t 型の配列) カウント部分は>>456 に似てる。しかし最初に引くのは思いつかなかった。
476 名前:デフォルトの名無しさん [2021/12/10(金) 01:03:30.79 ID:Uh57IFJZ.net] >>448 Perl https://paiza.io/projects/o4VTdU_kK-S8T4G5HvkIRw 年月日順で年がある場合は必ず4桁でなければならない。 4だけでも4月に判定されるが、まあいいか。
477 名前:デフォルトの名無しさん mailto:sage [2021/12/10(金) 09:12:55.36 ID:rDACCx1y.net] >>446 Haskell sumCntBits = id . length . filter odd . ( >>= ( takeWhile ( /= 0 ) . iterate ( flip div 2 ) ) ) main = do print $ sumCntBits [ 0xde, 0x96 ] print $ sumCntBits [ 0x12345, 0x6789a,0xbcdef ] ---- 10 32
478 名前:デフォルトの名無しさん mailto:sage [2021/12/11(土) 11:47:37.10 ID:kARxTGM3.net] >>446 rust https://ideone.com/9yFeU3 fn main() { let f = |a: &[u32]| a.iter().map(|n| n.count_ones()).sum::<u32>(); println!("{}", f(&[0xde, 0x96])); }
479 名前:デフォルトの名無しさん [2021/12/11(土) 20:38:05.35 ID:LF8J+dNV.net] >>446 Kotlin https://paiza.io/projects/7hQyycMNf5nuV5HcBg6iQg 普通に作るのは出尽くした感があるのでちょっと変わったやり方にした。 入力から Int の List を作り、それを 1 ビットづつの Boolean のリスト(というか Iterator) にしてから true のみをカウントしている。
480 名前:デフォルトの名無しさん mailto:sage [2021/12/11(土) 22:30:09.92 ID:LvGvT7a1.net] >>446 octave https://ideone.com/BNjv3I f = @(a) sum(dec2bin(a)(:) - '0'); f([0xde 0x96])
481 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 17:40:23.45 ID:kbrFI/m0.net] もうすぐ、2022年 [お題] 2022は"x3y1数"(造語)? 以下の二つを満たす正の整数を"x3y1数"と呼ぶ ・各桁の数値が、二種類のみの数字からなる ・上の二数の個数比は 3:1 該当例:1112, 2212, 2022, 32222223, 999999999888 ダメな例:2213(種類), 4444(種類), 33232(個数比), 0222(先頭ゼロ) 整数A,Bが与えられる。A以上B以下の"x3y1数"はいくつあるか? 制約: 0 < A <= B <= 10^18 1) 2923 3311 --> 8 該当は [2999
482 名前:, 3000, 3033, 3111, 3133, 3222, 3233, 3303] 2) 2021 77977796 --> 2022 3) 3000 6666566566566555 --> ? 4) 999999999889 1000000000000110 --> ? 5) 1 1000000000000000000 --> ? ※実行時間:上の5問をクエリーとし全部を2秒程度 [] [ここ壊れてます]
483 名前:デフォルトの名無しさん [2021/12/16(木) 03:59:00.84 ID:p3cQ7gqk.net] お題:自分用double-double演算ライブラリ 最低限、通常のdoubleとの相互変換は可能であること。それに加えて、 1)加減算 2)加減算 + 乗算 3)四則演算 数字が大きいもの程上級者向けです。 演算子のオーバーロードなどは任意とします。
484 名前:デフォルトの名無しさん mailto:sage [2021/12/16(木) 07:13:07.04 ID:iDMhxZSI.net] >>464 多倍長演算ライブラリ、のことですか?
485 名前:デフォルトの名無しさん mailto:sage [2021/12/16(木) 07:37:15.94 ID:I1MQqoQo.net] >>465 アホ
486 名前:デフォルトの名無しさん mailto:sage [2021/12/16(木) 20:36:30.04 ID:teZIL57B.net] >>463 c https://ideone.com/SjWUYZ ・数字を数えて判定 ・範囲内の全ての整数をチェック ・想像以上に遅くてダメだった >>463 ruby https://ideone.com/JYQPIF
487 名前:デフォルトの名無しさん mailto:sage [2021/12/16(木) 20:39:48.12 ID:iDMhxZSI.net] >>466 double の演算を自分で実装するという意味ですか? sum(double, double) diff(double, double) mul(double, double) div(double, double) を自分で実装する、という話でいいですか? あと double のフォーマットは IEEE754 でいいですか?
488 名前:デフォルトの名無しさん [2021/12/16(木) 20:57:05.50 ID:Y2CVy/MB.net] 問題が説明不足では?
489 名前:デフォルトの名無しさん mailto:sage [2021/12/16(木) 21:53:18.15 ID:B45/3FnD.net] お題: テキストを読み込みそれをクリスマスツリーにして出力しなさい クリスマスツリーに見えれば形は自由とする 入力 本日は良いお日柄ですね 出力 ___本 __日は _良いお 日柄です ___ね
490 名前:デフォルトの名無しさん mailto:sage [2021/12/16(木) 22:32:14.13 ID:iDMhxZSI.net] >>470 文字コードは何を仮定すればいいのですか?
491 名前:デフォルトの名無しさん mailto:sage [2021/12/16(木) 22:34:05.93 ID:B45/3FnD.net] >>471 UTF-8 日本語の扱いが難しい言語では英語のみの対応も良しとする
492 名前:デフォルトの名無しさん mailto:sage [2021/12/17(金) 00:19:35.20 ID:6Xap9yRK.net] >>470 octave https://ideone.com/RseGCJ
493 名前:デフォルトの名無しさん mailto:sage [2021/12/17(金) 04:20:32.14 ID:QblDDO27.net] 二種類のみの数字からなり個数比は 3:1 引数の範囲は 1-10^18 = 1001-9999999999998888(16桁) 以下の範囲に限られる 1000-9998 1000 0001-9999 9988 1000 0000 0011-9999 9999 9888 1000 0000 0000 0111-9999 9999 9999 8888 「二種類のみの数字からなる」を計算式で判定する方法ある?
494 名前:デフォルトの名無しさん mailto:sage [2021/12/17(金) 05:36:58.41 ID:5DT5Lvck.net] 1([\d&&[^1]])\1{2} 最上位桁が比1 111[\d&&[^1]],11[\d&&[^1]]1,1[\d&&[^1]]11 最上位桁が比3 一般化 (\d)(?!\1)(\d)\2{2}|(\d)\1{2}(?!\1)\d|(\d)\1(?!\1)\d\1|(\d)(?!\1)\d\1{2} 4桁ならこれでもいいけど8桁以上になると複雑化するし 地道に数えるより 4の倍数桁,数字2種,比率1:3 のルールで生成する方が速そう
495 名前:463 mailto:sage [2021/12/17(金) 16:22:06.93 ID:ssQAe3ef.net] >>463 https://ideone.com/xTDtME 想定解は、事前に4,8,12,16桁の"x3y1"数を全列挙して作っておく。 プログラミング的には、各言語の順列や組合せを使って、作れるだろう。 (想定解例では組合せは2ベキとpopcountから作っている) 「それは、全列挙数が小さいとわかっているからでは..?」に対して プログラムで出すのなら、雑に最も大きい16桁が4つあるとして計算 10P2 * 16C4 * 4 < 70万 なので、全列挙可能 まじめに計算すると 10P2 * (16C4 + 12C3 + 8C4 + 4C1) * 9 /10 = 167,832 列挙済み
496 名前:ネらば、クエリー5件程度なら、16.7万*5 チェックで間に合う。 ちゃんとやるなら、ソートして二分探索すれば、数千単位のクエリーに対応できる。 (想定解例では後者でやっている) [] [ここ壊れてます]
497 名前:デフォルトの名無しさん mailto:sage [2021/12/17(金) 20:17:58.00 ID:gjoWWzuf.net] >>468 >>466
498 名前:467 mailto:sage [2021/12/17(金) 20:31:12.28 ID:llvCqHRj.net] >>463 c https://ideone.com/bmYThw ・Ruby版の移植 ・組み合わせの列挙方法は丸パクリ ・Ralph William Gosper Jr. 氏に感謝
499 名前:デフォルトの名無しさん mailto:sage [2021/12/17(金) 23:34:29.99 ID:llvCqHRj.net] >>463 c https://ideone.com/oPUphG ・>>478 から若干の整理 ・組み合わせ列挙用バッファ廃止
500 名前:デフォルトの名無しさん mailto:sage [2021/12/18(土) 16:20:56.22 ID:b+l2srj7.net] >>464 C++ https://ideone.com/tkSsy4
501 名前:464 mailto:sage [2021/12/18(土) 16:29:44.66 ID:ElKfLkKB.net] >>465 惜しい >>468 IEEE754の倍精度(binary64)を整数演算で実装するのではありません。 binary64を二つ使って、上位53ビットと下位53ビットとで106ビットの浮動小数に見立てたものが double-double演算です。 Wikipediaの「四倍精度浮動小数点数」の項に少しだけ載ってますです。
502 名前:デフォルトの名無しさん mailto:sage [2021/12/18(土) 16:50:56.06 ID:XqEkP9jw.net] > Wikipediaの「四倍精度浮動小数点数」の項に少しだけ載ってますです。 一般的な用語じゃないんだから初めからこれ書いとけよ
503 名前:465,468 mailto:sage [2021/12/19(日) 00:01:36.35 ID:eP9zS7VQ.net] >>481 I see.
504 名前:デフォルトの名無しさん mailto:sage [2021/12/19(日) 21:10:50.32 ID:wQiNAkF9.net] >>448 octave https://ideone.com/2NglYm
505 名前:デフォルトの名無しさん mailto:sage [2021/12/21(火) 19:32:25.39 ID:FcpxpynD.net] 128ビットあるのに106ビットしか使わんの? もったいなくね?
506 名前:デフォルトの名無しさん mailto:sage [2021/12/21(火) 19:47:17.61 ID:1JACqwUF.net] 素人はだまってろ
507 名前:デフォルトの名無しさん mailto:sage [2021/12/21(火) 21:17:48.02 ID:cWMYIacO.net] >>485 もったいなよ ただ、既存のdouble計算リソースが使えるという利点がある
508 名前:デフォルトの名無しさん mailto:sage [2021/12/22(水) 04:27:38.39 ID:5fCeD7fV.net] double-doubleはFMAがFMAとして役立つ数少ない用途だな 積和じゃなくて3個の和のfused命令も欲しくなる
509 名前:デフォルトの名無しさん mailto:sage [2021/12/23(木) 07:32:47.64 ID:Xd/JFvMa.net] お題: 1つの整数から規則性のある複数の整数を生成せよ 生成される整数は再現性がなければならない
510 名前:デフォルトの名無しさん mailto:sage [2021/12/23(木) 07:37:01.70 ID:GwakKG68.net] >>489 function f: Integer -> Integer{ return 0; }
511 名前:デフォルトの名無しさん mailto:sage [2021/12/23(木) 09:01:28.76 ID:S2rGJ6tV.net] >>489 Ruby def sequence( seed, number ) srand( seed ) Array.new( number ){ rand(100) } end p sequence( 123, 10 ) #=> [66, 92, 98, 17, 83, 57, 86, 97, 96, 47] p sequence( 123, 10 ) #=> [66, 92, 98, 17, 83, 57, 86, 97, 96, 47]
512 名前:デフォルトの名無しさん mailto:sage [2021/12/23(木) 19:26:32.49 ID:KAa76evj.net] >>486 ocaml https://ideone.com/NzF5f2 let f = let rec fib = function 0 -> 0 | 1 -> 1 | n -> fib (n - 1) + fib (n - 2) and aux acc = function -1 -> acc | m -> aux (fib m :: acc) (m - 1) in aux []
513 名前:デフォルトの名無しさん mailto:sage [2021/12/23(木) 19:27:19.05 ID:KAa76evj.net] >>489 ocaml https://ideone.com/NzF5f2 let f = let rec fib = function 0 -> 0 | 1 -> 1 | n -> fib (n - 1) + fib (n - 2) and aux acc = function -1 -> acc | m -> aux (fib m :: acc) (m - 1) in aux []
514 名前:デフォルトの名無しさん [2021/12/24(金) 17:16:46.67 ID:Xt+LQVaD.net] >>488 Juliaのhypot()でもFMA使ってますです
515 名前:デフォルトの名無しさん mailto:sage [2021/12/24(金) 22:51:57.83 ID:Y/w+woHG.net] >>494 ただ積と和を1命令にして高速化しただけの積和 の効果だけじゃなくて 融合(fused)の効果が効く用途の話
516 名前:デフォルトの名無しさん [2021/12/25(土) 03:52:36.33 ID:62MjaTIU.net] >>489 Kotlin https://paiza.io/projects/xmMY6y8BGb8zlhn5QEmKvQ 何も考えずにただ R
517 名前:andom 使っただけ。 [] [ここ壊れてます]
518 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 20:25:00.12 ID:7ybeEGfH.net] [お題] 平均が2022な素数数列 5000以下のあい異なる素数で、加算平均がぴったり 2022 の数列を作る。 数列の項数(要素数)を最大化する、最大はいくつか。 最大数と数列を表示する。 ※解答例(もちろん4以上がある) 4 [1747, 2099, 2113, 2129] ※実行時間は素数生成を含めて、4秒以内 最大な数列は複数通りあると思うので、一例のみで
519 名前:デフォルトの名無しさん [2021/12/29(水) 15:58:08.20 ID:czxFIFL7.net] 答えは595個? 計算機+理詰めで595個っぽいけど
520 名前:デフォルトの名無しさん mailto:sage [2021/12/29(水) 16:38:34.79 ID:cOaqDcVM.net] 「Log4j」2.17.0にもリモートコード実行の脆弱性
521 名前:497 mailto:sage [2021/12/29(水) 20:37:12.14 ID:GN7CzEgH.net] >>497 c++ https://ideone.com/UBbtWd "素数-2022"で適当に最大化DPすれば、合計0相当の所に答えが……。 個人的には他の復元方法を見たかった。 pythonは遅いのであきらめた(高速化方法を知らない) >>498 595個でした。手作業でできるレベルなら……
522 名前:デフォルトの名無しさん [2021/12/29(水) 22:36:34.62 ID:d+UhR9Ru.net] オレがやったのは p[n]をn番目の素数、 P[n]をn番目までの素数の集合、 s[n]をP[n]の和 a=2022として まず素数のn元集合で平均が1番小さくなるのはP[n]でその平均値s[n]/nは単調増加だからs[n]/n>aの時元数n以上の解はない s[596]/596>aは計算機で確認 なので595元集合で解があればそれが最大 s[595]/595<aなのでP[595]はダメ s[596]-595a = 1205525 - 1203090 = 2435は素数ではないのでP[597]から一個消すのはダメ s[597]-595a = 1209898 - 1203090 = 6808 はp597=4373以下の素数2459,4349の和で表すことができる よってP[597]\{2459,4349}の和は595aとなる 完全に全自動で探索するプログラムも作れそうだけど答え出たらもういいかなと手が止まってしまった
523 名前:デフォルトの名無しさん mailto:sage [2021/12/30(木) 12:24:49.52 ID:sGmJGaqc.net] 何個取り除いたら平均2022にできるか考えると 確か74個だったけな? JavaScriptで1秒もかかんなかったか
524 名前:502 mailto:sage [2021/12/30(木) 12:30:19.06 ID:sGmJGaqc.net] 表示時間除いたら1秒かかってないな 探索はほぼ一回でボトムまで到達して 発見された
525 名前:502 mailto:sage [2021/12/30(木) 12:38:50.05 ID:sGmJGaqc.net] 可能と不可能が極端に分かれている問題なので 事前のブランチカットだけが重要なヘンなお題w >>352 はまだ未解決
526 名前:デフォルトの名無しさん [2021/12/30(木) 20:10:02.90 ID:jVgYGZiS.net] >>502 最大の個数を求めよやろ?
527 名前:デフォルトの名無しさん [2021/12/30(木) 20:24:56.63 ID:JL7tAErK.net] 千葉興業銀行、4月から副業解禁 県内地銀初 南都銀行、4月から行員の副業制度導入 ウェブ制作など 荘内銀、行員の副業・兼業解禁 フィデアHD、副業・兼業制度を導入 横浜銀行、10月から従業員の副業・兼業解禁 鹿児島銀、副業解禁を検討 九州FGと肥後銀は10月導入 肥後銀行が副業制度導入へ 多様な働き方認める 10月から
528 名前:デフォルトの名無しさん [2021/12/31(金) 15:04:12.13 ID:bqUePCKa.net] >>497 haskell https://ideone.com/GLMXRV >>5
529 名前:01 のアルゴリズムを自動化してみた すげー簡単なところでどハマりして半日かかった まだ解なしの場合とかの動作チェックとかしてないけどもうどうでもいい [] [ここ壊れてます]
530 名前:デフォルトの名無しさん [2021/12/31(金) 15:09:29.33 ID:bqUePCKa.net] ちなみに出力形式は (最大個数、最大素数の通し番号、最大素数までの間での素数で除外する素数のリスト) try 67%5 →(5,8,[2,3,5]) は最初の個数8個[2,3,5,7,11,13,17,19]から[2,3,5]を抜いた[7,11,13,17,19]の5個が平均が67/5になる素数のリストの一つ 長さ 6以上はない
531 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 11:42:09.36 ID:B5P29Cqv.net] お題: xをゼロ以上の浮動小数点数として 2^floor(log2(x)) の計算。ただし、x == 0 の場合はゼロとする。
532 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 18:45:49.69 ID:qvdwzZse.net] >>481 >binary64を二つ使って、上位53ビットと下位53ビットとで106ビットの浮動小数に見立てたものが >double-double演算です。 現在検討中ですが、binary64 中には仮数部に使用できるビット幅は 52 bits しかありません。つまりケチビット表現です 53+53 とのことですが、実際には 53 + 52 = 105 しか格納できないのではないでしょうか?
533 名前:464 mailto:sage [2022/01/08(土) 21:07:22.52 ID:Xrz2Tlot.net] >>510 上位の±1/2ulp相当が下位になります
534 名前:デフォルトの名無しさん [2022/01/09(日) 01:28:46.61 ID:/FHAAuzb.net] >>509 perlでワンライナー。入力は標準入力からする。 perl -MPOSIX -ne 'chomp;$n=$_?2**floor(log($_)/log(2)):0;print "$n\n"' でも、こんなので良いの?自分ではほとんど何も考えてないんだが。 (log2()がないからlog(n)/log(2)でやるって所ぐらいしか工夫がない)
535 名前:デフォルトの名無しさん mailto:sage [2022/01/09(日) 07:56:15.63 ID:9G1CcY2f.net] >>509 C++ 環境+コンパイルオプション依存 little endian, double = 64bit, long double = 128bit double fl2( double x ) { *( (uint64_t*) &x ) &= 0xFFF0000000000000LLU; return x; } long double fl2( long double x ) { *( (__uint128_t*) &x ) &= *( (__uint128_t*)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF" ); return x; }
536 名前:デフォルトの名無しさん mailto:sage [2022/01/09(日) 07:59:19.16 ID:+WoQnCHD.net] 2進表記した時に先頭のビット以外を0にすればいいだけだがワンライナーで書ける気がしない
537 名前:デフォルトの名無しさん mailto:sage [2022/01/09(日) 08:00:08.09 ID:+WoQnCHD.net] 先頭のビットというより「(存在するなら)0じゃない一番位の大きいビット」だな
538 名前:デフォルトの名無しさん mailto:sage [2022/01/09(日) 08:27:45.00 ID:Gu7/igUi.net] ビットいじる方法だと、非正規化数が0に、NaNが無限大になる そういえば、無限大やNaNはどうすればいいのだろうか
539 名前:509 mailto:sage [2022/01/09(日) 09:16:00.82 ID:42F2CcU6.net] Python でかい値だとうまくいかないやつ def foo(x): _c = x * float(2 ** 52 + 1) _xh = c - (c - x) _if xh > x: return(xh * 0.5) _return(xh) >>516 深く考えてませんでしたw
540 名前:509 mailto:sage [2022/01/09(日) 09:53:47.91 ID:42F2CcU6.net] >>512 log2(n)をlog(n)/log(2)で近似した際の「誤差」 (ぴったり整数値になって欲しいのにそれよりも数ulp小さい値になったとか、 数ulp大きくて、ぎりぎりfloor()で切り捨てられる筈の値が1大きくなったとか) を補償するコードが欲しい。
541 名前:デフォルトの名無しさん [2022/01/09(日) 15:38:39.37 ID:DwVfG/qv.net] そこは性能とトレードオフになるしかない気はする 例えばfloor( log 32 / log2 ) = 5が使用上の動作だけど log 32/log2 =4.
542 名前:9999999999978 × 10^0が返されて答えが4になってしまうのを避けるならおそらく大きすぎる場合は無視していいから res' = floor( log x / log2 ) if (2^res'* 1.5) < x // (1.5倍でも届かないなら不当な丸め誤差が出たと判断) then res = res' + 1 else res = res' とかちょっと汚い書き方するしかない希ガス [] [ここ壊れてます]
543 名前:デフォルトの名無しさん [2022/01/09(日) 21:50:51.38 ID:sZC3oXej.net] なんか変なこと書いた res' = floor( log x / log2 ) if 2^res' < x then res = res' + 1 else res = res' やな res'の算出で丸め誤差は-1までと仮定して補正する しかしもちろんlog(x)とか2^nハード的にFPUとかで高速にやってくれてしかも整数演算は誤差なしでやってくれる前提 この辺は高級言語プログラマレベルの話でなんとかなるもんではない やるならアセンブリ言語レベルでやるしかない
544 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 00:03:40.12 ID:gj6cLR2i.net] >>509 C https://ideone.com/5kDuzA 非正規化数、NaN、無限大とかはそのまま返すようにした やり方は>>513 と変わらない
545 名前:509 mailto:sage [2022/01/10(月) 00:53:57.15 ID:MGxmK4tZ.net] いまどきのコンパイラなら、frexp()やldexp()をいい塩梅に最適化してくれるのだろうか? from math import frexp, ldexp def foo(x): _m, e = frexp(x) _if m == 0: return 0.0 _return ldexp(0.5, e)
546 名前:512 [2022/01/10(月) 01:47:47.54 ID:av6tewvz.net] >>509 またPerlでワンライナー。 perl -ne 'chomp;if($_<=0){print"0\n"}else{for(my$i=0;;$i++){if((1<<$i)>$_){print 1<<($i-1),"\n";last}}}' 今度は計算している内容から考えて結果が同じになるようにした。浮動小数点演算をしていない。 また整数値が何ビットであるかも考慮しておらず、Perlの整数が32bitだった場合は2^32以上の値を入力されたら多分うまく動かない。 当然64bitだったら2^64以上の値の入力で多分うまく動かない。
547 名前:509 mailto:sage [2022/01/10(月) 02:23:50.20 ID:MGxmK4tZ.net] >>522 の修正 from math import frexp, ldexp def foo(x): return 0.0 if x == 0 else ldexp(0.5, frexp(x)[1])
548 名前:デフォルトの名無しさん [2022/01/10(月) 03:27:40.49 ID:av6tewvz.net] >>509 またまたPerlでワンライナー。 perl -MPOSIX -ne 'chomp;if($_==0.0){print"0\n"}else{print ldexp(0.5,(frexp($_))[1]),"\n"}' これは>>524 の真似(ていうかやってること同じ)。
549 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 12:43:53.01 ID:SgLm6fjp.net] >>511 それは答えになっていないかと 質問を変えます。下位側の指数部も意味を持つようにインプリメントするべきでしょうか?
550 名前:464 mailto:sage [2022/01/11(火) 02:38:04.94 ID:i2HiBm5J.net] >>526 先人の実装例だと、 上位 + 下位 = double doubleの数値 という事になってますね(上位側の指数が決まると、下位側の指数も決まる)。 tps://na-inet.jp/na/qd_ja.pdf 勿論、そう実装しないのもあり。
551 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 03:06:24.10 ID:Y9TTYX77.net] >>527 となると、 >>510 >binary64 中には仮数部に使用できるビット幅は 52 bits しかありません よって下位側指数部無視なら 53bit + 52 bit = 105bit の実装となりますが? 下位側指数部有意ならば、下位側にもケチビットを適用できますが、今度は仮数部が 106 ビットとはいいきれなくなりますね(数によって変わる)
552 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 03:08:13.70 ID:Y9TTYX77.net] >>527 失礼 pdf が紹介されていることを見落としていました、精査します、紹介ありがとうございます
553 名前:デフォルトの名無しさん [2022/01/30(日) 18:02:46.10 ID:Np8aVX2s.net] お題: 1より小さい実数を1以上2より下にせよ < 0.123 > 1.23 < 0.0000123 > 1.23
554 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 18:25:00.85 ID:A8jov
] [ここ壊れてます]
555 名前:ols.net mailto: >>530 x / 10^[log10(x)] [] [ここ壊れてます]
556 名前:蟻人間 mailto:sage [2022/01/30(日) 20:39:55.64 ID:DZg7owi9.net] お題: 質量0.2 kgの直方体の物体が摩擦のある水平な床の上にある。 物体の初速を右向きの0.5 [m/s]とすると、物体は転倒することなく底面が床に接したまま、約x秒後に自然停止した。xより垂直抗力F[N]と動摩擦係数kを求めよ。 重力加速度を 9.8 [m/s^2]とする。
557 名前:蟻人間 mailto:sage [2022/01/30(日) 20:58:19.92 ID:DZg7owi9.net] お題(HTML/JavaScript): ユーザがGoogleから訪問した場合は、3秒間ブラウザを停止させるようにせよ。
558 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 07:45:34.60 ID:/+irRzAS.net] >>530 負の数や2以上の数は?
559 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 16:02:38.13 ID:zoPPBktH.net] >>534 ・・・!
560 名前:デフォルトの名無しさん [2022/02/01(火) 18:02:38.08 ID:zoPPBktH.net] お題: -1 < n < 1 の実数nを-10 < m < 10の実数m(ただし1桁目が0を除く)に桁上げせよ(>>530 の改良) < 0.123 > 1.23 < -0.00056 > -5.6
561 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 20:01:29.11 ID:TQ6+L4kb.net] 負だったらabsolute取るだけのことじゃん
562 名前:デフォルトの名無しさん [2022/02/01(火) 23:48:43.79 ID:/+irRzAS.net] >>536 perl ワンライナー。以下はbashのコマンドラインから実行して試した。 入力は標準入力で一つづつ改行する。 perl -ne 'chomp;$n=$_;while(int(abs($n))<1){$n*=10}print "$n\n";' やってることは見ての通り殆ど何も考えず10倍し続けるだけ。
563 名前:デフォルトの名無しさん mailto:sage [2022/02/21(月) 17:49:01.62 ID:QCKFV9kK.net] もうすぐ22日、今年は "22/2/22"といつもより多め [お題] 偶数ゾロ目 URLのページに都道府県別の人口が載っている。 URL: https://ideone.com/2w86hj 今回使用するのは、2020/10のデータ 同じ県は一回のみで、異なる県を 22 県選らぶ。 (単純な選び方は全部で NCR(47, 22) = 約14.8兆通り) 整数A,Bが与えられる(1<=A<=B<=1億) 選択した22県の人口合計が A以上B以下となるのは何通りか? 1) 44444444 44444444 --> 214209 2) 22222222 44444444 --> ? 3) 44444444 66666666 --> ? ※上の三問を全部で5秒程度で 想定解はあるが、もっとスマートな方法がありそう 「またか」と思った人、以前の問題とは想定解はかなり違う
564 名前:デフォルトの名無しさん [2022/02/23(水) 19:08:44.10 ID:jKeAH0Dy.net] >>536 やぱしn==0は除外?
565 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 00:35:12.16 ID:5B3hmiET.net] >>540 一桁目が0は除外してね
566 名前:デフォルトの名無しさん [2022/02/24(木) 08:38:30.17 ID:GiducjAN.net] 難しい、こんなの小学生が解けるのか? 今年の中学受験の算数で一番の良問がこれらしい [976717553] https://hayabusa9.5ch.net/test/read.cgi/news/1645558073/
567 名前:539 mailto:sage [2022/02/25(金) 17:25:00.82 ID:STd/IFZD.net] >>539 旬だと思って出題 https://ideone.com/2w86hj 下部に追加 半分全列挙 + 尺取り法 早い言語でしかできない解答例でした
568 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 19:14:08.69 ID:RZ7O9d2K.net] >>543 乙 時間取れなくてやれてないが季節感あるネタ好き
569 名前:デフォルトの名無しさん [2022/02/26(土) 19:41:18.44 ID:4VT1Qgxn.net] haskellでやったらやっぱり5秒はきつか
570 名前:チた [] [ここ壊れてます]
571 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 02:34:25.32 ID:VdMMR1Xg.net] お題: RustかGoでバイナリーサーチを実装してください
572 名前:デフォルトの名無しさん mailto:sage [2022/03/20(日) 12:30:16.47 ID:nN0Ys+dW.net] お題: トライ木を使ってサジェスト機能を実装してください $ prog > w world would will wish 辞書は任意の大きさとする 入力は英語、または日本語とする
573 名前:デフォルトの名無しさん mailto:sage [2022/03/20(日) 19:32:45.03 ID:Ycqbgo6j.net] >>545 なんかHaskellってGHCのオプションに-O2とか指定すれば結構早くなった記憶がある あとListじゃなくVector使うとか
574 名前:デフォルトの名無しさん mailto:sage [2022/03/20(日) 19:41:12.56 ID:sy393qRd.net] お題 バッタの大冒険 a(1),a(2),⋯,a(n) を相異なる正の整数とし、M を n-1個の正の整数からなる集合と する。また、M は s=a(1)+a(2)+⋯+a(n) を含まない。数直線の 0 の地点にいるバッタが 数直線の正の向きに n 回ジャンプする。 n 回のジャンプの距離は a(1),a(2),⋯,a(n) の並べ替えである。このとき並べ替えをうまく選べば、バッタがM の要素に対応するn-1点に一度も着地しないようにできることを証明せよ。 ↑数学オリンピックの問題 もちろん証明はどうでもよろしい お題は(ジャンプの幅のリスト、禁止点のリスト)から禁止点を交わしていく飛ぶ順を見つけるプログラムを実装せよです 入力 ([3,5,8],[5,10]) 出力 [8,5,3] #着地するのは8,13,16で禁止点5,10をかわしている 入力 ([5,6,8,10,13,15],[2,18,24,29,45]) 出力 [15,13,10,8,6,5] #着地するのは15,28,38,46,51で全ての禁止点をかわしている 入力 ([3,26,30,32,36,44,53,62,68,82],[36,40,59,79,92,126,178,233,394]) 出力 [82,68,62,53,44,36,32,30,26,3] #同文
575 名前:デフォルトの名無しさん mailto:sage [2022/03/20(日) 21:13:54.18 ID:yn4DTgXG.net] 2番目の例着地するのは 15,28,38,46,52,57 ですた
576 名前:デフォルトの名無しさん mailto:sage [2022/03/22(火) 20:44:30.68 ID:0IfoPmot.net] >>549 は数学の問題としても面白いけどココはプログラムのお題スレなのでアルゴリズムそのもの考えるのは嫌な人のためにアルゴリズムひとつ紹介しておきます 以下の探索で線形オーダーで解を見つけられます 自分で考えたい人は無視してください 以下aを最大ジャンプとします a=a(n)としておく (A)一回目を最大ジャンプで飛んだとして最初の禁止点に届かないかギリギリ届くとき 一回目のジャンプが最大ジャンプしたと想定して残りのn-1回ジャンプで最初の禁止点を無視したn-2個の禁止点を交わしたジャンプ順b(1)...b(n-1)を作る この順番でとんて行って最初に最初の禁止点をi回目に超えたとする 解のジャンプとして b(1),b(2),...,b(i-1),a,b(i),...,b(n) とすると全ての禁止点をかわしている (B) 一回目を最大ジャンプで飛んだとすると最初の禁止点を超えて、しかも禁止点以外に着地できるとき 一回目のジャンプが最大ジャンプしたと想定して残りのn-1回ジャンプで最初の禁止点を無視したn-2個の禁止点を交わしたジャンプ順b(1)...b(n-1)を作る 解のジャンプとして a,b(1),...,b(n-1) とすると全ての禁止点をかわしている (C) 一回目を最大ジャンプで飛んだとすると最初の禁止点を超えるが別の禁止点に着地してしまうとき この状況だとa(1)〜a(n-1)のいずれかのジャンプa(i)でa(i)もa+a(i)のどちらも禁止点でないものが取れる( (∵) 全てのi:1〜n-1でa(i)かa+a(i)のどちらかが禁止点とするとこれだけでn-1個の禁止点全部尽くされてしまうけど、この中には最初の仮定である“一回目aで飛んだら禁止点”はこの中には出てこないので矛盾 ) それをa(n-1)としよう 最小の2回をa(n-1),a(n)と飛んだとしてこの時点で最初の禁止点と最初a(n)だと踏んでしまう禁止点の2点は超えているので残りの禁止点はn-3個以下しか残ってない そこでa(1)〜a(n-2)
577 名前:をうまく並べ替えれば全部かわすことができる [] [ここ壊れてます]
578 名前:デフォルトの名無しさん [2022/05/03(火) 15:12:22.98 ID:FP7f4hyR.net] 問題がよくわからなくて解く以前の所で停止。そしてやる気消滅。
579 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 23:10:33.84 ID:JwGzWANE.net] 説明不足で申し訳ない 問題文は数オリの紹介サイトからそのままコピペしてきたのでわかりにくかったかもしれない 1番最初の例 ([3,5,8],[5,10]) だとバッタは最初x=0の地点にいて+3,+5,+8のジャンプでx=16の地点に行こうとしている しかしx=5,x=10の地点は着地禁止地点で着地できない 飛び方は全部で6通りあるがその中から禁止地点に着地しないものを選んで下さいという問題 3回くらいなら総当たりで答え出せるけどジャンプ10回禁止地点9ヶ所だと全数検索すると10!通り必要になって実用にならない どうしますかというテーマだけどもちろん数学オリンピックの問題なので中々自分で答え出すのは難しい でここは数学板ではないので同じ数オリサイトにあった解答を転記して「こんなアルゴリズムが知られているけどアルゴリズムをインプリメントできますか」がお題です
580 名前:デフォルトの名無しさん [2022/05/04(水) 00:16:07 ID:0lMETj8q.net] お題: C/C++でスレッドセーフなstrtok関数を作れ 設計は各自で考えること
581 名前:デフォルトの名無しさん mailto:sage [2022/05/04(水) 08:22:49.31 ID:WTZHV9SY.net] 政府公認のスカトロサークルだって!?じゅるり
582 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 02:33:11.33 ID:FeY8iOM4.net] 高度IT人材、富士通は最大年収3500万円へ AI人材の獲得に超本気 NECが新人事制度を9人に適用、富士通は最大年収3500万円へ 【年収3500万円も】富士通、「ジョブ型」人事制度を導入 幹部社員から 高度IT人材 来年度から副業解禁 人材多様化へ―大同生命次期社長 第一生命HD、副業解禁 約1万5000人対象 第一生命HD、副業解禁 1万5000人対象―大手生保初 IHI、国内8000人の副業解禁 重厚長大企業も転機 IHI、社外兼業を解禁 社内副業もルール化
583 名前:デフォルトの名無しさん [2022/05/05(木) 16:49:02.33 ID:SGcHNlDo.net] >>554 C言語 https://paiza.io/projects/xS5GP9DAU6KzhDsM6x7M6g strtok_r() を strtok_r2() の名前にして自分で実装した。 strsep() も paiza.io のCのライブラリには何故かなかったので strsep2() にして自分で実装した。
584 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 08:28:38.45 ID:zQqHPRjb.net] 思い付きでお題考えてみた 検証してないんだけどどう? お題: ランダムな部屋を移動する最短距離を求める 行列がある 任意の横幅Wと高さHで表現される部屋がランダムに1 <= N <= 5個生成される この部屋を部屋内の座標からランダムに選択した別の部屋の部屋内の座標まで通路を作る 通路の要素は斜めには生成されず横と縦に生成される 通路はランダムに1つの部屋から0 <= R <= 3生成される 各部屋を各通路で繋げ任意の部屋Aと任意の部屋Bを選択する このときAからBまでの最短経路を求めよ
585 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 10:03:08.65 ID:u3pPN9f9.net] ランダムの部分いる?
586 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 19:40:13.01 ID:RtJ1FIjP.net] 日本語がよくわからんから数式で書いてくれ
587 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 19:57:58.11 ID:dPHs0KwZ.net] 数式だと答えになりそうだから図で書いてくれ
588 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 17:53:19 ID:UVEhLnaE.net] さらに、閑古鳥をよびよせるか [お題] 多倍
589 名前:キでは無理!? 整数 S, T が与えられる。(1 <= S <= T <= 400万) S以上T以下の(連続する)整数の最小公倍数(LCM)をもとめる 答えは, 1000000007(10億7)の余りで出力 1) 6 8 --> 168 6,7,8 の最小公倍数、LCM(6, 7)= 42 --> LCM(42, 8)= 168 2) 10 30 --> 89546497 剰余前は、2329089562800 3) 2567890 3456789 --> ? 4) 1 4000000 --> ? [] [ここ壊れてます]
590 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 21:03:46.76 ID:f4mJcXLG.net] >>562 Haskell https://ideone.com/dPbmse
591 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 21:16:43.90 ID:bqW40Z5X.net] √T以下の素数列挙 各数を素因数分解して各素数の指数の最大を求める 10億7の剰余で上の乗算を行う
592 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 22:51:31.74 ID:vGEyxbeO.net] >>562 C https://ideone.com/IWOE9a
593 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 19:19:40.97 ID:nM/DB7wD.net] >>562 https://ideone.com/O9PQbN 想定解としては、(他の人同様) 求める最小公倍数を素因数分解した形に作るイメージ 400万以下の"素数及び素数べき乗"は、高々28.3万件。 S以上T以下で、素数べき乗が割り切れるかどうかチェックしている。 (方法は T/素数べき乗 > (S-1)/素数べき乗 ならあると, O(1)判定) ボトルネックは素数を求める部分なので、手抜きしている。 余談) ・4)を多倍長で計算すると173万桁だった(一分程度ででた) ・10^9+7 ではなく、下9桁を出力だと、4)は 0になる(5^9が範囲にあるから)
594 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 10:06:17.68 ID:GRk1+wVC.net] age
595 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 15:47:14 ID:GJ0Vg4bO.net] お題: 循環リストを検出するプログラムを書け
596 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 19:58:00.80 ID:il671KyI.net] 循環リスト の定義を書いてください
597 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 02:10:30.75 ID:1mXsd8mZ.net] お題: 文字列が整数だったらINT, 実数だったらFLOATと出力するプログラムを作れ 変換できない場合はINVALIDと出力せよ 123 -> INT 1,234 -> INT 1.23 -> FLOAT a123 -> INVALID 12abc -> INVALID 1.23.435 -> INVALID
598 名前:デフォルトの名無しさん [2022/07/02(土) 04:54:46.54 ID:5fwFwNtd.net] >>570 Kotlin 自分ではほとんど何も考えていない脱力感溢れるプログラム https://paiza.io/projects/EK5QmNc2f4MgmmMLM3FcrQ
599 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 05:51:46.20 ID:y+j5RBoo.net] >>570 Ruby f = -> s { case s when /\A(?:0|[1-9]\d*)\z|\A(?:[1-9]\d{0,2})(?:,\d{3})*\z/ :INT when /\A(?:0?|[1-9]\d*)\.\d+\z/ :FLOAT else :INVALID end } %w[123 1,234 1.23 a123 12abc 1.23.435 .142857 1. 0 01 1,234,567 1234,567].each{|s| puts '%s -> %s' % [s, f[s]] } # => 123 -> INT 1,234 -> INT 1.23 -> FLOAT a123 -> INVALID 12abc -> INVALID 1.23.435 -> INVALID .142857 -> FLOAT 1. -> INVALID 0 -> INT 01 -> INVALID 1,234,567 -> INT 1234,567 -> INVALID
600 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 05:58:59.35 ID:At3W7bIA.net] >>570 こう言うのは仕様をちゃんと提示してよ 123. 123.0 12,34 はどうなればいいのか
601 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 08:08:58.00 ID:syeRaQWQ.net] そんな文句みたいな言い方するほどか? 他の問題に比べたらケースちゃんと提示してる方だし そういうのは想定してないってなんとなくわかるだろ 競プロならちゃんと定義必要だろうけど
602 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 08:09:44.82 ID:syeRaQWQ.net] 123.0は確かに気になるけど
603 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 09:41:42.13 ID:At3W7bIA.net] >>574 > そういうのは想定してないってなんとなくわかるだろ お題なんだから想定しろよ でないとそのケースはそうじゃなくて
604 名前:こうすべきとか言う奴が出てきて荒れる元だし [] [ここ壊れてます]
605 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 09:58:04.16 ID:dKfad4Z0.net] はい!
606 名前:デフォルトの名無しさん [2022/07/02(土) 09:58:41.88 ID:COZLaCzb.net] 123.0はfloatだろ常考
607 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 12:04:36.48 ID:oDFjP9XJ.net] 黙って実装して自分なりの仕様を提示するテストケースを追加して提出した>>572 の勝利
608 名前:ハノン mailto:sage [2022/07/02(土) 14:55:56.14 ID:w21fdpYM.net] >>579 激しく同意
609 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 15:40:39.43 ID:ZFJdClOp.net] >>579 クールだよな
610 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 16:54:51.10 ID:RqXE55Ja.net] >>570 こういうアホがソフト仕様を書くと悲惨
611 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 17:49:49.50 ID:Vxz6zO/I.net] 久々に出題者現れたかと思ったらフルボッコでかわいそう
612 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 18:03:20.65 ID:+K04BJMF.net] もっと気楽にやれよ 普段ゴミみたいな案件で意を汲み取れず怒られ理不尽な思いしてる底辺コーダーが叩き行為で鬱憤晴らししたいんだろうけどさw 仕様の隙間をどうするかをこういったところで一般共通認識得るのは有意義 その議論を「荒れる」と捉えるのは違うでしょ
613 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 20:54:40.02 ID:1mXsd8mZ.net] お題: 文字列が整数だったらINT, 実数だったらFLOATと出力するプログラムを作れ 変換できない場合はINVALIDと出力せよ version 1.0.1 123 -> INT 1,234 -> INT 1.23 -> FLOAT a123 -> INVALID 12abc -> INVALID 1.23.435 -> INVALID .142857 -> FLOAT 1. -> INVALID 0 -> INT 01 -> INVALID 1,234,567 -> INT 1234,567 -> INVALID 123.0 -> FLOAT
614 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 23:37:34.43 ID:12WH0HiU.net] >>568 https://ideone.com/WdXv5B
615 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 06:43:46.91 ID:/5k6Ls0P.net] .142857がOKで1.がNG なんか違和感 どの言語の流儀? 具体例だけに頼らないで 定義っぽく書けない? ---- [整数部]、[整数部].[小数部]、.[小数部] のいずれかの形 [整数部] : 0123456789の列1文字以上、もしくはこれを3桁ずつ,で区切った形 2桁以上の場合は先頭は0ではない [小数部] : 0123456789の列1文字以上 .... こんな感じ
616 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 07:10:28.62 ID:3/zKVKew.net] 0.DDD を .DDD と表記するのは欧米では情報系に限らず日常よく見られること CSSもperlも昔のrubyも対応してたんじゃなかったかな
617 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 09:01:07.02 ID:udoKn6Zg.net] 1. がNGなのは? どこの流儀?
618 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 09:17:25.30 ID:aLgpTdvv.net] >>584 > 仕様の隙間をどうするかをこういったところで一般共通認識得るのは有意義 だからその一般認識がないから揉めるって話 既に違和感と言い出す奴とか欧米ガーとか流儀ガーとか言い出してるだろ エディタの宗教戦争と同じで正解なんてないんだからお題を作った奴が決めないと収拾つかんよ
619 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 09:24:18.29 ID:3/zKVKew.net] >>590 1から10まで教えてもらえないとなんもできないのかよ エディタ宗教戦争を例に出してるけどあんなのにガチに捉えてるバカはお前くらいだ
620 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 09:34:46.48 ID:/kuq8Z/3.net] お題: 文字列が整数だったらINT, 実数だったらFLOATと出力するプログラムを作れ 変換できない場合はINVALIDと出力せよ BNFは↓とする INT: digit+
621 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 09:37:29.23 ID:/kuq8Z/3.net] お題: 文字列が整数だったらINT, 実数だったらFLOATと出力するプログラムを作れ 変換できない場合はINVALIDと出力せよ BNFは↓とする version 1.0.2 int: digits float: digits ('.' digits)? digits: digit+ digit: [0-9]+
622 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 10:08:31.69 ID:JHbRyeE7.net] >>591 ガチに捉えるもなにも今でもやってるだろw
623 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 10:15:42.92 ID:JHbRyeE7.net] >>593 カンマとかはなくなってるけど、仕様変更ですか? あと digits: [0-9]+ にしてdigitをやめるか digit: [0-9] にした方がいいかと思いますよ
624 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 12:27:53.93 ID:/kuq8Z/3.net] >>595 お題: 文字列が整数だったらINT, 実数だったらFLOATと出力するプログラムを作れ 変換できない場合はINVALIDと出力せよ BNFは↓とする version 1.0.3 int: comma_
625 名前:digit float: comma_digit '.' digit* | '.' digit* comma_digit: digit_123 { ( ','? digit_3 ) }* digit_3: digit digit digit digit_123: digit digit? digit? digit: [0-9] どや?完璧だろこのBNF これで文句ないな [] [ここ壊れてます]
626 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 12:41:01.89 ID:E32cFzvb.net] >>596 "1."、"01"、"1234,567" が INVALID になりませんし "." だけでも FLOAT になるのはどうかと思いますが...
627 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 12:54:46.68 ID:/kuq8Z/3.net] >>597 お題: 文字列が整数だったらINT, 実数だったらFLOATと出力するプログラムを作れ 変換できない場合はINVALIDと出力せよ BNFは↓とする version 1.0.4 int: comma_digit float: comma_digit '.' digit_09+ | '.' digit_09+ comma_digit: digit_123 { ( ','? digit_3 ) }* digit_3: digit_09 digit_09 digit_09 digit_123: digit_19 digit_09? digit_09? digit_19: [1-9] digit_09: [0-9] どや?
628 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 14:30:14.53 ID:+vJDgzA0.net] 勉強になる
629 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 15:35:40.90 ID:VBJi0e3g.net] >>598 指摘された箇所すら直せないとかどう見ても向いてないからやめたら? > "1234,567" が INVALID になりませんし
630 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 15:38:27.96 ID:7UQlj4nA.net] ハズレ上司感
631 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 15:41:49.46 ID:yV0MWMu9.net] >>570 ocaml https://ideone.com/j9z2um
632 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 16:15:01.49 ID:/kuq8Z/3.net] >>600 めんどくせ~な~ お前やれよ
633 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 16:24:52.83 ID:/kuq8Z/3.net] >>600 version 1.0.5 int: comma_digit | normal_digit float: ( comma_digit | normal_digit ) '.' digit_09+ | '.' digit_09+ comma_digit: digit_123 { ',' digit_3 }* normal_digit: digit_19 digit_09* digit_3: digit_09 digit_09 digit_09 digit_123: digit_19 digit_09? digit_09? digit_19: [1-9] digit_09: [0-9] ていうか1234,567にはならんはずだぞ
634 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 16:30:18.21 ID:/kuq8Z/3.net] >>600 version 1.0.6 int: comma_digit | normal_digit float: ( comma_digit | normal_digit ) '.' digit_09+ | '.' digit_09+ comma_digit: digit_123 { ',' digit_3 }* normal_digit: ( digit_19 digit_09+ ) | digit_09 digit_3: digit_09 digit_09 digit_09 digit_123: digit_19 digit_09? digit_09? digit_19: [1-9] digit_09: [0-9] おら!完璧だろ!
635 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 17:25:11.12 ID:bGSSCSEx.net] >>604 > ていうか1234,567にはならんはずだぞ しれっと変えといてさすがにそれは恥ずかしいな >>598 > comma_digit: digit_123 { ( ','? digit_3 ) }* >> 604 > comma_digit: digit_123 { ',' digit_3 }* >>605 まあ、よしとしてやろう
636 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 20:20:25.60 ID:H80x+Ni5.net] 問題を解かずに出題の形式美に必死になるなんて、このスレ的にどうなのよ?
637 名前:蟻人間 mailto:sage [2022/07/03(日) 21:46:41.57 ID:wwKaul6r.net] char buf[64]; fgets(buf, 64, stdin); char *endptr; strtol(buf, &endptr, 10); if (*endptr == 0) { puts("INT"); return; } strtod(buf, &endptr); if (*endptr == 0) { puts("FLOAT"); return; } puts("INVALID");
638 名前:デフォルトの名無しさん mailto:sage [2022/07/04(月) 22:09:22.65 ID:hLP3lYAM.net] >>570 dart https://ideone.com/hT8xrN
639 名前:デフォルトの名無しさん mailto:sage [2022/07/08(金) 20:02:47.21 ID:N6PR1KyM.net] お題 非負整数xが16進数表記で与えられる。xのビットu~lの範囲を逆順にした値を出力せよ。 [入力] x u l [例] 0x80 7 0 => 0x1 (8bit全体をreverse) 0xABCD 11 4 => 0xA3DD (真ん中8bitをreverse, 0xBC=0b10111100 -> 0b00111101=0x3D) 0x2 99 1 => 0x8000000000000000000000000 (2の99乗)
640 名前:デフォルトの名無しさん mailto:sage [2022/07/08(金) 22:06:04.39 ID:ju1TxHLl.net] >>610 Ruby f = -> (*a) {_, e, s = a.map(&:to_i); '0x%X' % a[0].hex.digits(2).concat(Array.new(e, 0)).tap{_1[s..e] = _1[s..e].reverse}.reverse.reduce{|s, i| 2 * s + i}} ['0x80 7 0', '0xABCD 11 4', '0x2 99 1'].each{puts '%s -> %s' % [_1, f[*_1.split]]} # => 0x80 7 0 -> 0x1 0xABCD 11 4 -> 0xA3DD 0x2 99 1 -> 0x8000000000000000000000000
641 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 09:28:21.31 ID:72Wr/ML/.net] >>610 octave https://ideone.com/4MacE3
642 名前:デフォルトの名無しさん [2022/07/09(土) 21:45:11.70 ID:A5P06KhI.net] >>610 Kotlin https://paiza.io/projects/hUR6DylxGsrJBWKI-gmaKg BigInteger 使ったので、ビット数がかなり多くても大丈夫。
643 名前:デフォルトの名無しさん [2022/07/24(日) 20:03:09.74 ID:RqwYi
] [ここ壊れてます]
644 名前:vmm.net mailto: あげ [] [ここ壊れてます]
645 名前:デフォルトの名無しさん [2022/07/26(火) 20:19:27.06 ID:wEdk200U.net] お題:数字をミラーリングせよ 入力 < 123 出力 > 123321 reverse系メソッドを使わなかったら加点とする
646 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 20:33:23.78 ID:gSFNKY8C.net] >>615 Ruby $><<(a=gets.scan /./)*'';$><<$a while$a=a.pop -*- input -*- 123 -*- output -*- 123321
647 名前:デフォルトの名無しさん [2022/07/26(火) 22:30:32.74 ID:LilaKoZu.net] >>615 Java static String mirror(String src) { var dest = new char[src.length() * 2]; var a = src.toCharArray(); for (var i = 0; i < a.length; i++) { dest[i] = a[i]; dest[dest.length - 1 - i] = a[i]; } return new String(dest); }
648 名前:アリ人間 mailto:sage [2022/07/26(火) 22:36:21.87 ID:SFGiBpCo.net] >>615 派生お題: 文字列処理を使わずに与えられた整数を回文にせよ。
649 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 23:38:05.85 ID:ceC8PDvA.net] >>615 octave https://ideone.com/Aa9KII f = @(a) a([1:end end:-1:1]); f('123')
650 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 23:41:29.56 ID:DU0tXUgh.net] 魔法の計算式とか無いん?
651 名前:デフォルトの名無しさん mailto:sage [2022/07/27(水) 00:03:13.42 ID:MKIa5t3g.net] 俺も考えてみたけど調べても回分数のシグマ使わない一般式は無いみたいだな
652 名前:デフォルトの名無しさん mailto:sage [2022/07/27(水) 00:09:31.00 ID:C/59UMec.net] >>615 JavaScript const mirror = (n, c, ...args) => c === null ? (answer => 0 <= n && answer <= Number.MAX_SAFE_INTEGER ? answer : RangeError(`${n} is invalid.`))(args.reduce((s, d) => s * 10 + d, n)) : c == undefined ? mirror(Number.parseInt(n), Number.parseInt(n), ...args) : mirror(n, c < 10 ? null : Math.floor(c / 10), ...args, c % 10); // test for (const [n] of [[-1, 'x'], [0, 'o'], [1, 'o'], [12345678, 'o'], [123456789, 'x'], [123.456, 'o (123321)']]) { const answer = mirror(n); console[answer instanceof RangeError ? 'error' : 'log'](answer); }
653 名前:デフォルトの名無しさん mailto:sage [2022/07/27(水) 01:46:36.04 ID:7bF+Pf0F.net] octave綺麗
654 名前:96 mailto:sage [2022/08/02(火) 01:11:31.65 ID:6KqVNIq0.net] >>615 Perl5 use feature qw{say signatures}; no warnings 'experimental'; sub f($i, @a) { $i and @a ? (f(@a), $i) : $i } @a = split'',123; say @a, f(@a); 実行結果 ~ $ perl 20_615_mirror.pl 123321
655 名前:96 mailto:sage [2022/08/02(火) 01:20:34.60 ID:6KqVNIq0.net] >>615 Perl5 (リスト処理版) @a = split '', 123; print @a, map{@a[$#a - $_]} 0..$#a; 実行結果 ~ $ perl 20_615_mirror_list.pl 123321
656 名前:デフォルトの名無しさん mailto:sage [2022/08/02(火) 22:22:16.97 ID:9ppQHDnA.net] >>615 ocaml https://ideone.com/FFhxw9 let f s = let csc c s = Char.escaped c ^ s ^ Char.escaped c in let rec aux t = function 0 -> t | n -> aux (csc s.[n - 1] t) (n - 1) in aux "" @@ String.length s let () = print_endline @@ f "123"
657 名前:デフォルトの名無しさん [2022/08/02(火) 23:32:00 ID:49BZsXJW.net] >>615 Kotlin https://paiza.io/projects/2Pe625DoTzToywf3zB2lvA わざわざ Iterator を実装して実現。
658 名前:デフォルトの名無しさん mailto:sage [2022/08/03(水) 00:34:26.60 ID:xChmGTXr.net] >>615 ocaml https://ideone.com/6Y
659 名前:qGis let f s = s ^ String.init (String.length s) (fun i -> s.[String.length s - 1 - i]) let () = print_endline @@ f "123" [] [ここ壊れてます]
660 名前:デフォルトの名無しさん [2022/08/05(金) 11:38:46.19 ID:1Af6TgAi.net] >>615 おもしれーことやってんじゃん じゃあperlの再帰する正規表現で行くかな https://paiza.io/projects/dxhWJaJSrcZdAFpJKe9uvQ
661 名前:デフォルトの名無しさん [2022/08/05(金) 13:16:58.45 ID:6eafuacR.net] gnuWin32を基本使っています。 で行のソートなのですが、各行の末尾から逆向きの文字でソートって出来ませんか たとえば aaaaCB bbbBA cccccDB とかあったとき、これを bbbBA aaaaCB cccccDB としたいのです。 もし難しそうであれば、各行を反転、つまり abcde を edcba とする方法でもいいです。
662 名前:デフォルトの名無しさん [2022/08/05(金) 13:43:08.90 ID:Vk8oFh91.net] >>630 Java Arrays.sort(a, (left, right) -> { var l = left.length() - 1; var r = right.length() - 1; while (l > -1 && r > -1) { var c = Character.compare(left.charAt(l), right.charAt(r)); if (c != 0) { return c; } l--; r--; } if (l > -1) { return 1; } if (r > -1) { return -1; } return 0; });
663 名前:96 mailto:sage [2022/08/05(金) 19:36:20 ID:Rv34IsoP.net] >>630 Perl5が使える環境であれば… ~ $ cat 20_630_isort.pl chomp (@a = <>); sub f {join '', reverse split'', $_[0]} print "$_\n" for sort{f($a) cmp f($b)} @a; ~ $ cat input.txt aaaaCB bbbBA cccccDB ~ $ perl 20_630_isort.pl < input.txt > output.txt ~ $ cat output.txt bbbBA aaaaCB cccccDB
664 名前:デフォルトの名無しさん mailto:sage [2022/08/05(金) 20:52:38 ID:C4r7F682.net] >>630 ruby https://ideone.com/lQz0m2 f = ->(a) {a.sort_by &:reverse} p f.(%w(aaaaCB bbbBA cccccDB)) >>630 octave https://ideone.com/AUCxr3 function i = sorti(varargin), [~, i] = sort(varargin{:}); end f = @(a) a(sorti(cellfun(@(s) {flip(s)}, a))); f({'aaaaCB' 'bbbBA' 'cccccDB'})
665 名前:96 mailto:sage [2022/08/05(金) 22:43:00.57 ID:Rv34IsoP.net] >>632 しまった、これだとsortの計算量 N・log N に応じた回数、比較のための文字列逆転 sub f の呼出しが起き、 データの行数が多いと遅いな
666 名前:96 mailto:sage [2022/08/06(土) 00:54:37.07 ID:pYJx8bVL.net] >>630 Perl5、計算量の抑制に配慮したバージョンと実行例 $ cat 20_630_isort2.pl print $_->[0] for sort{$a->[1] cmp $b->[1]} map{[$_, scalar reverse $_]} <>; $ cat input.txt aaaaCB bbbBA cccccDB $ perl 20_630_isort2.pl input.txt > output.txt $ cat output.txt bbbBA aaaaCB cccccDB
667 名前:96 mailto:sage [2022/08/06(土) 01:06:37.87 ID:pYJx8bVL.net] >>635 これ各行の行末の改行まで含めてreverseしてsortキーとするので、 もし入力ファイルの最後の行に改行が欠けていて無かったらsort結果がおかしくなる。 そのような万が一の場合に対してもrubstさも持たすならこうか chomp(@a = <>); print "$$_[0]\n" for sort{$$a[1] cmp $$b[1]} map{[$_, scalar reverse]} @a;
668 名前:デフォルトの名無しさん [2022/08/06(土) 05:59:59.26 ID:UcInr7RU.net] >>630 Kotlin https://paiza.io/projects/bK5T2CQgxXwvVlcjKvw-dA ただ処理を連結しただけだな。コマンドラインでパイプ使ったみたいな感じ。
669 名前:デフォルトの名無しさん [2022/08/06(土) 06:11:51.22 ID:UcInr7RU.net] >>630 Linux 等の UNIX 系 OS で rev コマンドと sort コマンドが使える環境ならシェルのコマンドラインからこう入力するとできる。 (入力文字列は input.txt に入ってい
670 名前:驍ニして)。 rev input.txt | sort | rev Windows の環境でやる場合は互換性のあるコマンドを利用するか、または Cygwin や WSL や WSL2 等の UNIX 互換環境の中でコマンドラインから実行できる。 [] [ここ壊れてます]
671 名前:96 mailto:sage [2022/08/06(土) 08:20:40.77 ID:pYJx8bVL.net] >>610 Perl5 use Bit::Vector; $v = Bit::Vector->new(101); for (<DATA>) { ($h, $s, $e) = /0x(\S+) (\S+) (\S+)/; $v->from_Hex("$h"); $v->Interval_Reverse($e, $s); ($r) = $v->to_Hex() =~ /0+(\w+)/; print "$_ => 0x$r\n"; } __DATA__ 0x80 7 0 0xABCD 11 4 0x2 99 1 ※インデントを見易くするため全角スペースに置換しています 実行結果 $ perl 20_610_rebitfld.pl 0x80 7 0 => 0x1 0xABCD 11 4 => 0xA3DD 0x2 99 1 => 0x8000000000000000000000000
672 名前:デフォルトの名無しさん [2022/08/06(土) 10:15:53 ID:8a3zeEyr.net] >>638 Linux環境ではrevというのがあるのですね gnuWin32は全部揃ってないのですね。なんだかなあ rev以外でもLinuxにあってgnuWin32にはないのがあるのかな rev、自分で作ろうかな
673 名前:デフォルトの名無しさん mailto:sage [2022/08/06(土) 11:17:00.60 ID:y9e1BfKB.net] >>630 ocaml https://ideone.com/zdWLHX let rev s = String.init (String.length s) (fun i -> s.[String.length s - 1 - i]) let (<<) f g x = f (g x) let f = List.map (fun (r, s) -> s) << List.sort compare << List.map (fun s -> (rev s, s)) let () = List.iter print_endline @@ f ["aaaaCB"; "bbbBA"; "cccccDB"];
674 名前:96 mailto:sage [2022/08/06(土) 15:02:55.35 ID:ddLJv/Kp.net] >>640 gnuWin32 用の rev.exe が欲しいなら、書き起こさなくともutil-linux-ng パッケージに入っていると思うが… util-linux-ng for Windows gnuwin32.sourceforge.net/packages/util-linux-ng.htm Util-Linux contains miscellaneous utilities: col: filter reverse line feeds from input colcrt: filter nroff output for CRT previewing colrm: remove columns from a file ddate: converts Gregorian dates to Discordian dates getopt: parse command options (enhanced) hexdump: ascii, decimal, hexadecimal, octal dump line: read one line rename: rename files rev: reverse lines of a file or files ← tailf: follow the growth of a log file whereis: locate the binary, source, and manual page files for a command 作りたいというなら類似のsampleソースはゴマンと転がっとるし C reverse string rev.c strrev - Google 検索 https://www.google.com/search?q=C+reverse+string+rev.c+strrev C program to reverse a string | Programming Simplified https://www.programmingsimplified.com/c-program-reverse-string C_69 C Program to Reverse a String | with strrev() and without strrev() function - YouTube https://www.youtube.com/watch?v=530jWnBMD2M … 好きにしんしゃい
675 名前:96 mailto:sage [2022/08/06(土) 15:16:53.43 ID:ddLJv/Kp.net] Cygwin などに使われている util-linux パッケージのオリジナルな現行のソースは GitHub - util-linux/util-linux https://github.com/util-linux/util-linux かな。そのうち rev.c のソースは util-linux/rev.c at master ・ util-linux/util-linux ・ GitHub https://github.com/util-linux/util-linux/blob/master/text-utils/rev.c ちな util-linux パッケージは2006年に fork した
676 名前:ニき名前に -ng をつけて util-linux-ng になったが 2010年に util-linux に名前を戻している。 cf.) util-linux - Wikipedia https://en.wikipedia.org/wiki/Util-linux ついつい、調べ物をしてしまった…orz [] [ここ壊れてます]
677 名前:デフォルトの名無しさん [2022/08/06(土) 17:24:05.41 ID:8a3zeEyr.net] >>642 ありがとう。そんなとこにあったのか
678 名前:デフォルトの名無しさん [2022/08/07(日) 09:51:45.46 ID:UY2OKMya.net] >>642 linuxのrevでやってみました。ところが、全角日本語はやはりダメですね なので、AHK
679 名前:デフォルトの名無しさん [2022/08/07(日) 09:52:47.25 ID:UY2OKMya.net] >>642 linuxのrevでやってみました。ところが、全角日本語はやはりダメですね なので、AHKで自作で作ってみました rev input.txt | sort | rev で問題なく動きました
680 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 16:26:03 ID:BSSIjy3s.net] >>645 環境変数 LANG の設定の問題とか? こっちでは日本語での rev できたよ。 CentOS 7 で bash で LANG=ja_JP.UTF-8 の状態。そこに Windows から TeraTerm で ssh ログインして試したらできた。 $ echo $LANG ja_JP.UTF-8 $ ( echo 見城徹 ; echo 箕輪厚介 ; echo ガーシー ; echo 木原誠二官房副長官 ) | rev 徹城見 介厚輪箕 ーシーガ 官長副房官二誠原木 $
681 名前:デフォルトの名無しさん [2022/08/07(日) 18:30:22.20 ID:C65TbvUb.net] お題 0~2がランダムに8個入力されます 8個の数字を:で結合して出力してください 0が連続する場合は連続する0を::に置換してください 0の連続を::に置換できるのは1回のみです 0の連続が複数存在する場合は長い方を置換してください 長さが同じ場合は先頭の方を置換してください 1個の0は置換してはいけません 例 0, 0, 0, 1, 2, 1, 2, 2 → ::1:2:1:2:2 2, 1, 2, 0, 0, 0, 1, 1 → 2:1:2::1:1 1, 1, 2, 2, 1, 0, 0, 0 → 1:1:2:2:1:: 2, 0, 0, 2, 0, 0, 0, 2 → 2:0:0:2::2 1, 0, 0, 1, 2, 0, 0, 2 → 1::1:2:0:0:2 0, 1, 2, 0, 1, 1, 0, 2 → 0:1:2:0:1:1:0:2
682 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 19:28:27.32 ID:MpscsJR5.net] >>648 Ruby f = -> s { x = s.gsub(', ', ?:); y = x.scan(/0(?::0)+/).max&.count(?0) || 0; x.sub(/:?0(:0){#{y - 1}}+:?/, '::') } [ '0, 0, 0, 1, 2, 1, 2, 2', '2, 1, 2, 0, 0, 0, 1, 1', '1, 1, 2, 2, 1, 0, 0, 0', '2, 0, 0, 2, 0, 0, 0, 2', '1, 0, 0, 1, 2, 0, 0, 2', '0, 1, 2, 0, 1, 1, 0, 2' ].each{ |s| puts '%s -> %s' % [s, f[s]] } # => 0, 0, 0, 1, 2, 1, 2, 2 -> ::1:2:1:2:2 2, 1, 2, 0, 0, 0, 1, 1 -> 2:1:2::1:1 1, 1, 2, 2, 1, 0, 0, 0 -> 1:1:2:2:1:: 2, 0, 0, 2, 0, 0, 0, 2 -> 2:0:0:2::2 1, 0, 0, 1, 2, 0, 0, 2 -> 1::1:2:0:0:2 0, 1, 2, 0, 1, 1, 0, 2 -> 0:1:2:0:1:1:0:2
683 名前:デフォルトの名無しさん [2022/08/07(日) 19:57:31.19 ID:xO94aiKw.net] >>648 perl5 https://paiza.io/projects/5qVZ3qjP3YDPyVVywRVEEQ
684 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 20:01:42.93 ID:H+tq1Ypt.net] 正規表現のreplace一個で行けそうと思ったけど最長マッチみたいなの無理なのか
685 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 20:16:36.94 ID:MpscsJR5.net] 拡張正規表現の中にはチューリング完全なものもあるけどね
686 名前:デフォルトの名無しさん [2022/08/07(日) 20:17:47.43 ID:xO94aiKw.net] そうか 単純に s/0{$n}/::/; を連射して増やしていくだけでいいんだな 最後に成功したのを返す感じで
687 名前:デフォルトの名無しさん [2022/08/07(日) 20:58:47.87 ID:xO94aiKw.net] >>648 perl5 # sub squash0 を>653 で書き替えた https://paiza.io/projects/pNwwe9yNB_dczFaRbV3ZeA
688 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 22:19:54.37 ID:UmcKtz1r.net] >>648 octave https://ideone.com/3Udpgi function s = f(a) c = di
689 名前:ff(find([1 diff(a) 1])); e = cumsum(c); b = e - c + 1; n = arrayfun(@(i) a(i), e); [~, i] = max(c.*(n == 0)); s = arrayfun(@(n) {int2str(n)}, a); if (1 < c(i)) s(b(i):e(i)) = ':'; end s = regexprep(strjoin(s, ':'), ':::+', '::'); end [] [ここ壊れてます]
690 名前:655 mailto:sage [2022/08/07(日) 23:28:54.94 ID:UmcKtz1r.net] 結果同じだけど若干の整理可能だった n = arrayfun(@(i) a(i), e); [~, i] = max(c.*(n == 0)); ↓ [~, i] = max(c.*(a(e) == 0));
691 名前:96 [2022/08/08(月) 01:54:39.48 ID:Fkng8CYp.net] >>648 Perl5 use List::Util 'max'; for (<DATA>) { %h = map{length($_) => $_} /(,?0(?:,0)+,?)/g; $n = max keys %h; chomp($i = $_); s/$h{$n}/::/ if $n; s/,/:/g; print "$i => $_"; } __DATA__ 0,0,0,1,2,1,2,2 2,1,2,0,0,0,1,1 1,1,2,2,1,0,0,0 2,0,0,2,0,0,0,2 1,0,0,1,2,0,0,2 0,1,2,0,1,1,0,2 ※見易くするためインデントを全角スペースに置換してあります。 実行結果 $ perl 20_648.pl 0,0,0,1,2,1,2,2 => ::1:2:1:2:2 2,1,2,0,0,0,1,1 => 2:1:2::1:1 1,1,2,2,1,0,0,0 => 1:1:2:2:1:: 2,0,0,2,0,0,0,2 => 2:0:0:2::2 1,0,0,1,2,0,0,2 => 1::1:2:0:0:2 0,1,2,0,1,1,0,2 => 0:1:2:0:1:1:0:2
692 名前:デフォルトの名無しさん [2022/08/08(月) 18:20:49.05 ID:911TGIju.net] >>648 Common Lisp https://ideone.com/p9qSmC JavaScript https://ideone.com/2pXZdF
693 名前:デフォルトの名無しさん mailto:sage [2022/08/10(水) 20:35:58.72 ID:xa8ST9bT.net] >>648 ocaml https://ideone.com/j7yye2
694 名前:デフォルトの名無しさん mailto:sage [2022/08/10(水) 21:08:31.81 ID:xa8ST9bT.net] >>648 octave https://ideone.com/Uyr9cV ・[1, 1, 1, 1, 1, 1, 1, 1]のとき正しくなかったのを修正
695 名前:デフォルトの名無しさん [2022/08/11(木) 15:24:25.24 ID:/k5aJ7yS.net] >>648 Kotlin https://paiza.io/projects/NFrxhMlgOO7dQdW20u_-kw できたことはできたが、なんかもっと良いやり方がありそうな気もする。
696 名前:デフォルトの名無しさん [[ここ壊れてます] .net] >>648 敢えて正規表現使わずKotlinで。ややこしかったわ https://ideone.com/JZcPdU
697 名前:デフォルトの名無しさん [[ここ壊れてます] .net] >>661 別の解き方が見れておもろい
698 名前:デフォルトの名無しさん mailto:sage [2022/08/11(木) 22:42:32.18 ID:lr7eXs7b.net] >>648 java https://ideone.com/f5yjN8
699 名前:661 [2022/08/12(金) 00:33:44.04 ID:DNG+vRxr.net] 全部0の時に :: にならなかったので>>661 はちょっと修正した。
700 名前:デフォルトの名無しさん [2022/08/13(土) 14:28:26.51 ID:JbrEzaSr.net] お題 1~37からランダムに重複なく7つの数を選び出して小さい順にソートしてください それを5つ出力してください 例 [2, 4, 9, 13, 20, 29, 36] [1, 4, 12, 13, 15, 20, 33] [1, 3, 5, 7, 11, 20, 24] [3, 7, 8, 21, 27, 33, 34] [1, 2, 14, 23, 26, 35, 36]
701 名前:デフォルトの名無しさん mailto:sage [2022/08/13(土) 14:31:07.91 ID:JPhXlbrB.net] >>666 Ruby [*1..37].sample(7).sort # => [4, 8, 15, 20, 24, 26, 37]
702 名前:デフォルトの名無しさん [2022/08/13(土) 18:53:16.03 ID:jyB6kjuE.net] >>666 Common Lisp https://ideone.com/NMCh3O
703 名前:デフォルトの名無しさん [2022/08/13(土) 19:08:33.35 ID:jyB6kjuE.net] >>668 投稿後一部訂正、n の範囲チェックを追加 負数は弾く (check-type n (integer 0 *)) 上限はシーケンスの長さ (loop repeat n ↓ (loop (min n (length sequence))
704 名前:デフォルトの名無しさん mailto:sage [2022/08/13(土) 19:54:15.55 ID:JW3gpbYe.net] >>666 octave https://ideone.com/Iml4xq f = @() sort(randperm(37, 7)); cell2mat(arrayfun(@(~) {f()}, (1:5)'))
705 名前:デフォルトの名無しさん mailto:sage [2022/08/14(日) 00:39:46.54 ID:YzvfyuVN.net] >>666 Kotlin script repeat(5) { println((1..37).toList().shuffled().slice(0..6).sorted()) } 実行例 [6, 7, 9, 10, 16, 2
706 名前:2, 27] [2, 8, 9, 11, 16, 32, 33] [11, 13, 18, 25, 26, 30, 34] [2, 3, 12, 14, 20, 27, 37] [7, 13, 14, 19, 27, 30, 35] [] [ここ壊れてます]
707 名前:671 mailto:sage [2022/08/14(日) 00:41:50.08 ID:YzvfyuVN.net] >>671 はこれでも同じだった (toList() 抜き)。 repeat(5) { println((1..37).shuffled().slice(0..6).sorted()) }
708 名前:96 mailto:sage [2022/08/14(日) 01:45:55.09 ID:jl8HjsTF.net] >>666 Perl5 use List::Util 'shuffle'; @a = 1..37; $" = ', '; print "@{[(shuffle@a)[0..6]]}\n" for 1..5; 実行結果 $ perl 20_666_shuffle1-37x5.pl 3, 2, 10, 25, 9, 23, 27 35, 6, 30, 8, 37, 29, 36 20, 29, 19, 18, 37, 21, 23 12, 30, 29, 7, 3, 31, 26 34, 12, 1, 14, 28, 2, 21
709 名前:デフォルトの名無しさん mailto:sage [2022/08/14(日) 01:54:16.92 ID:v+rcxIed.net] >>673 ソートされてないじゃん
710 名前:96 mailto:sage [2022/08/14(日) 01:59:26.66 ID:jl8HjsTF.net] >>666 Perl5、>>673 は sort するの忘れてた…orz use List::Util 'shuffle'; @a = 1..37; $" = ', '; print "@{[sort{$a <=> $b} ((shuffle @a)[0..6])]}\n" for 1..5; 実行結果 $ perl 20_666_shuffle1-37x5.pl 5, 9, 22, 28, 30, 32, 36 1, 2, 7, 21, 23, 26, 36 6, 14, 15, 16, 19, 26, 28 13, 14, 15, 16, 30, 35, 37 1, 3, 10, 20, 27, 29, 30
711 名前:デフォルトの名無しさん mailto:sage [2022/08/14(日) 12:35:56.93 ID:JoIEy2rI.net] >>666 ocaml https://ideone.com/3UpGQV let seq b e = let rec aux acc n = if n < b then acc else aux (n :: acc) (pred n) in aux [] e let (<<) f g x = f (g x) let take n = let rec aux acc n = function [] -> acc | x :: xs -> if n <= 0 then acc else aux (x :: acc) (pred n) xs in List.rev << aux [] n let shuffle = List.map snd << List.sort compare << List.map (fun x -> (Random.bits (), x)) let string_of_ints = Printf.sprintf "[%s]" << String.concat "; " << List.map string_of_int let f () = string_of_ints @@ List.sort compare @@ take 7 @@ shuffle @@ seq 1 37 let () = Random.self_init (); List.iter (print_endline << f << ignore) @@ seq 1 5
712 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] >>666 c https://ideone.com/EHr86S
713 名前:デフォルトの名無しさん mailto:sage [2022/08/14(日) 21:45:18.38 ID:b/j10zkL.net] (1) aとbからなる文字列があるときその中で部分文字列bbaが最初に完成する文字数を求める ab -> 0 aaa -> 0 bba -> 3 bbba -> 4 babbab -> 5 bbabbaa -> 3 (2) ちょうど50文字のaとbからなる全ての並びの文字列の内 50文字目(最後)にbbaが完成するのは何通りあるか? 長さ3文字で3文字目に完成するのはbbaのひとつだけ 長さ4文字で4文字目に完成するのはabbaとbbbaの二通り
714 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] >>678 Ruby (1) %w[ab aaa bba bbba babbab bbabbaa].each do |s| i = s =~ /bba\K/ puts '%s -> %d' % [s, i ? i + 3 : 0] end # => ab -> 0 aaa -> 0 bba -> 3 bbba -> 4 babbab -> 5 bbabbaa -> 3 (2) f = -> (n, a=[0, 0, 1]) {return a[n] if n<a.size; a<<f[n-1,a]+f[n-2,a]+1;a.last} p f[49] # => 12586269024
715 名前:デフォルトの名無しさん mailto:sage [2022/08/14(日) 22:30:32.35 ID:z6QFcjeU.net] 行列の掛け算を実装せよ 二次正方行列 A=((1 -2) (2 3)), B = ((-2 1)(3 -1)) について AB, BA を求めよ 可能であれば二次正方行列以外の行列についても対応せよ 実装の細かい点については出題者は指定しないので良きに計らって結構。 <お願い> 行列の積において結合則成立の証明を教えてください
716 名前:デフォルトの名無しさん mailto:sage [2022/08/14(日) 22:43:04.52 ID:0XTzAkvO.net] >>678 c https://ideone.com/hlf3c3 ・(1)(2)ともに自信なし(たぶんお題の意味わかってない)
717 名前:デフォルトの名無しさん mailto:sage [2022/08/14(日) 22:49:01.35 ID:gf0q/4T2.net] >>680 Ruby Matrixクラス不使用 def product(a, b)
718 名前:[ [a[0][0] * b[0][0] + a[0][1] * b[1][0], a[0][0] * b[0][1] + a[0][1] * b[1][1]], [a[1][0] * b[0][0] + a[1][1] * b[1][0], a[1][0] * b[0][1] + a[1][1] * b[1][1]], ] end p product([[1, -2], [2, 3]], [[-2, 1], [3, -1]]) # => [[-8, 3], [5, -1]] # 夏休みの宿題は自分でやりましょう [] [ここ壊れてます]
719 名前:デフォルトの名無しさん mailto:sage [2022/08/14(日) 22:51:54.64 ID:7JC7m3TJ.net] >>682 >二次正方行列以外の行列についても対応せよ
720 名前:デフォルトの名無しさん mailto:sage [2022/08/14(日) 23:05:21.92 ID:gf0q/4T2.net] >>680 >>683 def product(a, b) m = a.first.size c = Array.new(a.size){[]} a.size.times do |i| b.first.size.times do |j| c[j][i] = m.times.map{|k| a[k][i] * b[j][k]}.sum end end c end p product([[1, -2], [2, 3]], [[-2, 1], [3, -1]]) # => [[0, 7], [1, -9]] p product([[-2, 1], [3, -1]], [[1, -2], [2, 3]]) # => [[-8, 3], [5, -1]]
721 名前:デフォルトの名無しさん [2022/08/14(日) 23:09:42.44 ID:ct8M+Uij.net] NxMのデータをどう定義するか だけの問題だな 毎回悩む 下は後悔してるタイプ (defparameter *position-IO* (loop for input in '(7 8 9 4 5 6 1 2 3) for pos below 9 collect (cons input pos)))
722 名前:デフォルトの名無しさん [2022/08/15(月) 00:42:19.42 ID:PTEGgn5Q.net] >>679 どういう頭してたらその法則性に気づくん???
723 名前:デフォルトの名無しさん [2022/08/15(月) 01:31:39.90 ID:b/MTJSvV.net] >>678 Kotlin script (1) listOf("ab","aaa","bba","bbba","babbab","bbabbaa").forEach { print("$it ->"); it.indexOf("bba").let { if (it >= 0) println(it + 3) else println(0) } } 実行時の出力 ab ->0 aaa ->0 bba ->3 bbba ->4 babbab ->5 bbabbaa ->3 (2) println(1L shl (50 - 3)) 実行時の出力 140737488355328
724 名前:デフォルトの名無しさん mailto:sage [2022/08/15(月) 01:56:11.12 ID:RG8mAl+Q.net] (2) 出題の仕方が間違ってた 最後に唯一のbbaが現れるパターンと書くべきだった 自分の中ではこのことしか考えてなかったから >>679 さんは汲んでくれたようで、早さにも驚いたけど
725 名前:デフォルトの名無しさん mailto:sage [2022/08/15(月) 09:19:59.19 ID:jWRkxbjN.net] なるほど, 再帰的に構成すればいいのか aから始まる時: a + x[n-1] baから始まる時: ba + x[n-2] bbから始まる時: bb...bba
726 名前:デフォルトの名無しさん [2022/08/15(月) 09:43:22.06 ID:90U51paY.net] >>686 そういう漸化式は普通に受験で良くでてくる
727 名前:デフォルトの名無しさん mailto:sage [2022/08/15(月) 17:00:11.92 ID:ioAOBwsA.net] >>680 https://ideone.com/umJbre https://ja.wikibooks.org/wiki/%E7%B7%9A%E5%9E%8B%E4%BB%A3%E6%95%B0%E5%AD%A6/%E8%A1%8C%E5%88%97%E3%81%A8%E8%A1%8C%E5%88%97%E5%BC%8F/%E7%AC%AC%E4%B8%89%E9%A1%9E/%E8%A1%8C%E5%88%97%E3%81%AE%E7%A9%8D#matrix's-associativity
728 名前:デフォルトの名無しさん mailto:sage [2022/08/15(月) 17:16:58.66 ID:RVV7PTHo.net] >>691 c https://ideone.com/47VxwF ・二次元でintのみ
729 名前:デフォルトの名無しさん mailto:sage [2022/08/15(月) 17:19:53.25 ID:RVV7PTHo.net] >>680 https://ideone.com/47VxwF ・二次元でintのみ
730 名前:693 mailto:sage [2022/08/16(火) 16:05:44.79 ID:y+iYdbLW.net] >>680 c https://ideone.com/lWljpL ・>>693 から若干の整理 ・インデントも修正
731 名前:デフォルトの名無しさん [2022/08/16(火) 19:29:50.25 ID:6LZk+vGC.net] >>688 え?言ってる意味がわからない。どういうこと?
732 名前:デフォルトの名無しさん [2022/08/16(火) 20:01:21.15 ID:xodQRDI1.net] bba+gge=momo
733 名前:デフォルトの名無しさん [[ここ壊れてます] .net] >>695 末尾以外にbbaが現れる文字列を除外するってことじゃろう
734 名前:デフォルトの名無しさん mailto:sage [2022/08/16(火) 21:15:34.85 ID:dhC56AkH.net] bbaが最後に達成されるんじゃなければ2^47計算するだけのなん
735 名前:フ面白みもない問題になるからそこで気付く人は気づくよね [] [ここ壊れてます]
736 名前:デフォルトの名無しさん mailto:sage [2022/08/16(火) 23:04:49.04 ID:mbmTGUKF.net] ついでに50文字で今度は最後がbbaじゃなくて bbbのときとbabのときのそれぞれのパターン数を求めるって問題
737 名前:デフォルトの名無しさん mailto:sage [2022/08/17(水) 01:28:19.97 ID:0f27vmNE.net] >>697 なるほど。やっと意味がわかった。
738 名前:デフォルトの名無しさん mailto:sage [2022/08/17(水) 14:04:15.12 ID:UFtMHmKs.net] お題:分割されている顔文字を結合して表示してください 1つの顔文字は半角4字で構成。左右対称。2字ずつ半分に分割されてシャッフルされている 出力する顔文字の順番は自由とする 入力 < ^)(^ 出力 > (^^) 入力 < ^)(-(^-)(vv) 出力 > (^^)(--)(vv)
739 名前:デフォルトの名無しさん mailto:sage [2022/08/17(水) 14:59:27.47 ID:2ZT38iyw.net] お題:ナンプレ(数独)における「縦9マス(列)」「横9マス(行)」「3x3マス」をそれぞれ表示する方法を示してください 便宜的に、ナンプレのマスには左上から右へ、右下に向かい0〜80までの数値を入れます。 0 1 2 3 4 5 6 7 8 ... ...............80 左から1列目の9マスは
740 名前:デフォルトの名無しさん mailto:sage [2022/08/17(水) 15:10:22.08 ID:2ZT38iyw.net] 途中送信してしまった お題:ナンプレ(数独)における「縦9マス(列)」「横9マス(行)」「3x3マス」のマスをそれぞれ表示する方法を示してください ※便宜的に、ナンプレのマスには左上から右へ、右下に向かい0〜80までの数値を入れます。 0 1 2 3 4 5 6 7 8 ... ...............80 例えば左から1列目の9マスは [0 9 18 27 36 45 54 63 72] となります。 等差を利用して数字だけを表示するものは不可です。 マスに何の値が入っていても表示できるようにしてください。
741 名前:デフォルトの名無しさん mailto:sage [2022/08/17(水) 21:47:42.92 ID:GkJOOerG.net] >>703 c https://ideone.com/lBKsc9
742 名前:デフォルトの名無しさん mailto:sage [2022/08/17(水) 23:34:27.13 ID:yTY/OYLu.net] >>701 (><)
743 名前:デフォルトの名無しさん [2022/08/18(木) 02:15:12.90 ID:KCyiWPRI.net] >>703 perl5 https://paiza.io/projects/amKhSF3cnp1Ny5-2yWLO4g
744 名前:デフォルトの名無しさん mailto:sage [2022/08/18(木) 03:07:13.35 ID:dBOjwuYR.net] >>701 JavaScript > ['^)(^', '^)(-(^-)(vv)', '<)(>'].map((R => input => Array.from(input.matchAll(/\((.)/g)).reduce((output, [l, r]) => output + l + R(r) + ')', ''))(r => r == '>' ? '<' : r)) [ '(^^)', '(--)(^^)(vv)', '(><)' ]
745 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] >>701 Ruby f = -> str do loop do str.sub!(/(.)\)(.*)\(\1/, '(\1\1)\2') || str.sub!(/\((.)(.+)\1\)/, '(\1\1)\2') || (break str) end end %w[ ^)(^ ^)(-(^-)(vv) (-(^-)^)].each do |s| puts '%s -> %s' % [s, f[s.b]] end # => ^)(^ -> (^^) ^)(-(^-)(vv) -> (^^)(--)(vv) (-(^-)^) -> (--)(^^)
746 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] >>703 Ruby PLACEHOLDER = [*0..80] field = 9.times.reduce([]) do |s, y| s << 9.times.map do |x| PLACEHOLDER[9 * y + x] end end puts field.map{|r| r.map{'%02d' % _1}.join} # => 000102030405060708 091011121314151617 181920212223242526 272829303132333435 363738394041424344 454647484950515253 545556575859606162 636465666768697071 727374757677787980
747 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] >>703 お題をよく読んでいなかった >>709 の続き row = -> (n, field) {field[n]} column = -> (n, field) {field.map{_1[n]}} block = -> (n, field) {9.times.map{n * 3 + n / 3 * 18 + _1 + _1 / 3 * 6}.map{field.flatten[_1]}} puts row[7, field].join(?,) # => 63,64,65,66,6
748 名前:7,68,69,70,71 puts column[7, field].join($/) # => 7 16 25 34 43 52 61 70 79 puts block[7, field].each_slice(3).map{_1.join(?,)}.join($/) # => 57,58,59 66,67,68 75,76,77 [] [ここ壊れてます]
749 名前:704 mailto:sage [2022/08/18(木) 23:38:15.48 ID:YBxy/c4L.net] >>703 c https://ideone.com/0yXRih ・>>704 から若干の整理
750 名前:デフォルトの名無しさん [2022/08/19(金) 23:42:01.44 ID:GkIv/1vJ.net] お題 <user>:<group>の数 <user>:<group> <user>:<point>の数 <user>:<point> が入力されます <group>ごとに<point>を集計して<group>順に <group>:<point>を出力してください 例) // 入力 6 UserE:GroupC UserD:GroupA UserB:GroupC UserA:GroupC UserC:GroupB UserF:GroupB 6 UserB:3 UserF:2 UserD:5 UserC:13 UserE:11 UserA:7 // 出力 GroupA:5 GroupB:15 GroupC:21
751 名前:デフォルトの名無しさん [2022/08/19(金) 23:58:05.14 ID:zRvvDV0W.net] なんで数を入力してるんだ? 後の情報であきらかではないか まさかグループ名が整数でも良いと考えている?
752 名前:デフォルトの名無しさん mailto:sage [2022/08/20(土) 00:02:54.24 ID:xIohwuBb.net] >>712 Ruby g, p = str.split(/^\d+$/)[1, 2].map{_1.strip.each_line.map{|s| s.chomp.split(?:)}.to_h} puts g.reduce(Hash.new(0)){|h, (k, v)| h[v] += p[k].to_i; h}.sort.map{_1.join(?:)} # => GroupA:5 GroupB:15 GroupC:21
753 名前:デフォルトの名無しさん mailto:sage [2022/08/20(土) 07:49:15.49 ID:/HXUcxOA.net] // >>712 Node.js import readline from 'node:readline'; const rl = readline.createInterface({input: process.stdin, output: process.stdout}); const all = [/* {user, group, point}, ... */]; let usergroup = false; rl.on('line', line => { line = line.trim(); if (line) { if (/^\d+$/.test(line)) { usergroup = !usergroup; } else if (usergroup) { const {groups} = line.match(/^(?<user>[^:]+):(?<group>[^:]+)$/); all.push(groups); } else { const {groups: {user, point}} = line.match(/^(?<user>[^:]+):(?<point>\d+)$/); Object.defineProperty(all.find(_ => _.user == user), 'point', {value: Number(point), enumerable: true}); } } else { rl.close(); } }); rl.on('close', () => { for (const [group, point] of Object.entries(all.reduce((gp, {group, point}) => {gp[group] = (gp[group] ?? 0) + point; return gp;}, {})).sort(([a], [b]) => a < b ? -1 : 1)) { console.log(`${group}:${point}`); } });
754 名前:デフォルトの名無しさん mailto:sage [2022/08/20(土) 17:09:35.31 ID:tvd+mgyM.net] >>712 c https://ideone.com/Edol3U
755 名前:デフォルトの名無しさん [2022/08/20(土) 21:26:59.76 ID:myFbjTal.net] >>712 C# https://paiza.io/projects/IAgPLTHFbJ-HmDcLHFrNYA
756 名前:デフォルトの名無しさん [2022/08/20(土) 22:24:09.90 ID:5JSGWnVi.net] >>703 ってこれじゃだめなのかな 7行で書ける https://ideone.com/eKTMZr
757 名前:96 mailto:sage [2022/08/21(日) 02:42:00.00 ID:P6BPpVvp.net] >>712 Perl5 use feature qw{say signatures}; no warnings "experimental::signatures"; sub ($n, @a) { $h{$$_[0]} = $$_[1] for map{[/(\w+)/g]} @_[1..$n]; sub ($m, @) { $g{$h{$$_[0]}} += $$_[1] for map{[/(\w+)/g]} @_[1..$m]; }->(@a[$n..$#a]); say "$_:$g{$_}" for sort keys %g; }->(<>); ※見易くするためインデントを全角スペースに置換してあります。 実行結果: https://ideone.com/GxsRSY
758 名前:デフォルトの名無しさん [2022/08/21(日) 06:03:07.44 ID:V5T4kdVo.net] >>712 <group>順にって、何を元にして group の順序を決めるの? 入力された順?それだと例の入力のように GroupC, GroupA, GroupC の順で来ている場合はどうするの?
759 名前:デフォルトの名無しさん mailto:sage [2022/08/21(日) 07:03:57.35 ID:3JIuIXQv.net] <group>毎という事だと思う サンプル見るとgroup名か集計したpointの昇順かも知れないけどそこはどうとでもなりそうだし
760 名前:デフォルトの名無しさん mailto:sage [2022/08/21(日) 08:49:24.60 ID:0ZMA3aWJ.net] >>713 実際にここでも数字を使っている例が出て来てるからわかると思うけど 競プロなんかではよくあるフォーマットだよ
761 名前:デフォルトの名無しさん [2022/08/21(日) 18:07:19.66 ID:ecIOs+Jg.net] >>666 C# https://paiza.io/projects/sT_SLT3n0NNab0a-ZD7IHQ
762 名前:デフォルトの名無しさん mailto:sage [2022/08/21(日) 18:28:38.88 ID:Y2TZP89X.net] お題:Hello, World!を出力中にプログラムを強制終了せよ Hello, World!が完全に出力されたらGAME OVERとする
763 名前:デフォルトの名無しさん mailto:sage [2022/08/21(日) 18:45:13.28 ID:ui07Fbeq.net] >>724 Ruby Thread.new{'Hello, World!'.each_char{|c| print c; sleep 0.01}; raise 'GAME OVER'} Thread.new{exit} # => Hello, World!
764 名前:デフォルトの名無しさん [2022/08/21(日) 18:49:48.17 ID:ecIOs+Jg.net] >>701 C# https://paiza.io/projects/D1PZTVPBn2qnksCQnwYQmw?language=csharp
765 名前:デフォルトの名無しさん mailto:sage [2022/08/21(日) 18:51:27.42 ID:ui07Fbeq.net] >>725 訂正 Thread.new{'Hello, World!'.each_char{|c| print c; sleep 0.01}; raise 'GAME OVER'} Thread.new{exit!} # => H
766 名前:デフォルトの名無しさん [[ここ壊れてます] .net] >>703 C# https://paiza.io/projects/HzrEP1l1vX4Z3JUqmHSUwg
767 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] >>724 c https://ideone.com/xaMOR7
768 名前:デフォルトの名無しさん [[ここ壊れてます] .net] >>648 C# https://paiza.io/projects/2cxaJzBNbukA4-EolW07Cw
769 名前:729 mailto:sage [2022/08/22(月) 19:20:01.17 ID:7CA3B9Dd.net] >>724 c https://ideone.com/k8R7TU ・>>729 どう見ても正常終了です。本当にありがとうございました。 ・子プロセスの強制終了を見届けてから自分自身も強制終了
770 名前:デフォルトの名無しさん [2022/08/25(木) 15:38:14.81 ID:bJn+zm7R.net] >>724 その強制終了って人間が Ctrl + C を押すなどしてやるという意味? 間に合わずに全部出力し切った場合は GAME OVER 出すということ?
771 名前:デフォルトの名無しさん mailto:sage [2022/08/25(木) 15:52:23.73 ID:BfuXla1W.net] >>732 強制終了→exit(0)などでプログラム的に終了させる GAME OVER→お題の達成失敗
772 名前:デフォルトの名無しさん mailto:sage [2022/08/25(木) 16:09:53.36 ID:6j74uL6b.net] 54.144.0.0/12といったどこかで見たことあるような形式の文字列を入力すると ^(?!(54.144.|54.145.|54.146.|54.147.|54.148.|54.149.|54.150.|54.151.|54.152.|54.153.|54.154.|54.155.|54.156.|54.157.|54.158.|54.159.)) といったいい感じの文字列が標準出力に出力されるやつ、誰か作れますか? 例の他にも54.208.0.0/13 54.216.0.0/14 54.192.0.0/12 54.160.0.0/11 54.220.0.0/15といった似た感じの文字列が入力され やはりいい感じに処理された別の文字列が出力されます できればライセンスはゼロ条項BSDライセンスでお願いします
773 名前:デフォルトの名無しさん [[ここ壊れてます] .net] ま、まあ、作れなくはないかな…
774 名前:デフォルトの名無しさん [2022/08/25(木) 18:48:07.98 ID:0xws5w3m.net] フワっとした頭の中にしか定義されてない案件なんて誰もこなせないぞ 本人以外は
775 名前:デフォルトの名無しさん [2022/08/25(木) 20:40:48.98 ID:0z7AphVM.net] >>734 Java https://paiza.io/projects/Fot4E7hZfbJ95P_hSbI3NQ
776 名前:デフォルトの名無しさん mailto:sage [2022/08/25(木) 21:10:16.35 ID:/BGaqBqg.net] >>734 JavaScript function _734(ip_range) { const result = []; const as = ip_range.split(/\D/).map(_ => Number(_)); const m = as.at(-1); const q = Math.floor(m / 8
777 名前:); const r = m % 8; const e = 8 - r; const l = as[q].toString(2).padStart(8, '0').slice(0, r); for (let i = 0, sup = 2 ** e; i < sup; i++) { as.splice(q, 1, Number.parseInt(l + i.toString(2).padStart(e, '0'), 2)); result.push(as.slice(0, q + 1)); } return '^(?!(' + result.map(_ => `${_.join('\\.')}${q < 3 ? '\\.' : ''}`).join('|') + '))'; } [] [ここ壊れてます]
778 名前:デフォルトの名無しさん mailto:sage [2022/08/25(木) 22:00:47.00 ID:JPPVgQ9Y.net] beer licenseでよければ書くが
779 名前:デフォルトの名無しさん mailto:sage [2022/08/26(金) 04:09:37.08 ID:NIKxWs5c.net] 割とすぐに出来るもんなんですね どちらも実用上問題なさそうな、いい感じの実行結果です >738は最新の実行環境に心当たりがなかったので確認に手間どりましたが Chromeのコンソールから実行して確認できました (cscriptで実行しようとしたらat()に対応してなかったので) いやー勉強になります、ありがとう
780 名前:デフォルトの名無しさん mailto:sage [2022/08/26(金) 04:49:22.52 ID:0rX9u4fb.net] >>740 スレタイも読めないアホは消えろ
781 名前:96 mailto:sage [2022/08/26(金) 05:19:52.33 ID:GgZblxs6.net] >>740 人をタダで利用してない?
782 名前:デフォルトの名無しさん [2022/08/26(金) 11:51:47.61 ID:d54FvNjc.net] >>733 マルチスレッドかマルチタスクで "Hello, world!" を出力する処理と、ランダムなタイミングでそれを強制終了させる処理が動くということで良いのか? そして出力中に停止できなかったら "GAME OVER" が最後に出ると。
783 名前:デフォルトの名無しさん mailto:sage [2022/08/26(金) 14:32:15.45 ID:71YXfdUw.net] >>743 その実装でもいいよ 題意はいかにHello, World!出力中にプログラムを終了させるかだから sleep挟んでもいい
784 名前:デフォルトの名無しさん [2022/08/26(金) 18:44:07.03 ID:NQ4mbOjq.net] >>733 #!/usr/bin/env sh cat <<"EOL" | perl -ne '/(Hello, World)(?:[!])/ ? die " $1 got failed." : print' > foo > bar > baz > Hello, World > Hello, World > Hello, World! > you can't see me, right? > EOL foo bar baz Hello, World Hello, World Hello, World got failed. at -e line 1, <> line 6.
785 名前:デフォルトの名無しさん mailto:sage [2022/08/26(金) 21:28:18.28 ID:NIKxWs5c.net] はて?プログラミングのお題を投げて、競技的な興味をもって答えたくなった人が答え その回答に興味があれば参照して「普段は扱ってないこの言語だとそういうやりかたなのか」 「自分とは違うスマートなやり方があったのか」と思ったりするスレ、という理解でしたが もしかして投げたときに”お題”という文字が抜けてたのが問題ありましたか? 概ね正解とするに足る実行結果を、実用上問題なさそうと表現したことが拙かったですか? もしそうなら申し訳ない、次からは気をつけます
786 名前:デフォルトの名無しさん mailto:sage [2022/08/26(金) 21:31:39.94 ID:NIKxWs5c.net] ついでというかなんというか>734の自分のお題に対する自己回答です(色々と手抜きしてありますが) #!/usr/bin/ksh function proc { typeset A B C D E F N M L I IFS='.','/' read A B C D E <<XYZ $1 XYZ let N="(${E}+8)/8" let M="8-(${E}%8)" if [ $N -eq 5 ]; then echo -n "${A}.${B}.${C}.${D}"; return; fi set -A BASE dummy "" "${A}." "${A}.${B}." "${A}.${B}.${C}." set dummy $A $B $C $D; shift $N; F=$1; let L="$F-1+(1<<$M)" for I in `seq $F $L`; do echo -n "|${BASE[$N]}${I}."; done; } if [ $# -eq 0 ]; then echo "need CIDR/s"; exit 65; fi set -A CIDR dummy $@; echo -n "^(?!dummy"; for I in `seq 1 $#`; do proc ${CIDR[$I]}; done; echo ")" exit 0
787 名前:96 mailto:sage [2022/08/29(月) 02:30:43.54 ID:QAZMtAov.net] >>734 Perl5 for (<>) { print; @a = /(\d+)/g; $w = pop @a; $o = ($w - 1) >> 3; $m = $w - $o * 8; $n = 2**(8 - $m); $l = join '.', @a[0..$o-1]; $l .= '.' if '' ne $l; $h = $a[$o] & (255 << (8 - $m)); $r = $o < 3 ? '.' : ''; @b = map{$l . ($h + $_) . $r} 0..($n - 1); print '^(?!(' . join('|', @b) . "))\n"; print "\n"; } ※見易くするためインデントを全角スペースに置換しています。 実行例: https://ideone.com/VBJMMo
788 名前:96 mailto:sage [2022/08/29(月) 02:55:16.14 ID:QAZMtAov.net] >>748 128.0.0.0/1 の結果が変 バグ入りだ、ゴメンチャイ
789 名前:96 mailto:sage [2022/08/29(月) 03:01:45.22 ID:QAZMtAov.net] あれ?いいのかな? 仕様を推測して作ったけどちょっと混乱したかも… 寝るわ
790 名前:デフォルトの名無しさん [2022/09/09(金) 22:29:09.28 ID:zwPgoVui.net] お題 長方形の1辺の長さのリストと正方形の面積のリストが入力されます それぞれの正方形の面積について 長方形の1辺の長さのリストから2つを選んで掛け合わせ長方形の面積を計算します 長方形の面積が正方形の面積以上でかつ最小の面積となる組み合わせを探して出力してください 見つからなかった場合はerrorを出力してください (例) // 1辺の長さのリスト [17, 3, 3, 1, 6, 13, 11, 17, 2, 5, 7, 18, 16, 5, 8, 6, 5, 1, 11, 1] // 正方形の面積のリスト [390, 240, 37, 396, 198, 99, 242, 53, 329, 202] // 出力 390:error 240:16,17 37:3,13 396:error 198:11,18 99:6,17 242:16,17 53:3,18 329:error 202:13,16
791 名前:デフォルトの名無しさん mailto:sage [2022/09/09(金) 23:02:00.41 ID:Un8DgV3E.net] >>751 a = [17, 3, 3, 1, 6, 13, 11, 17, 2, 5, 7, 18, 16, 5, 8, 6, 5, 1, 11, 1] b = [390, 240, 37, 396, 198, 99, 242, 53, 329, 202] c = a.group_by(&:itself).values.map{_1.size > 2 ? _1[0, 2] : _1}.flatten.permutation(2).map{[_1 * _2, [_1, _2].sort]}.uniq.sort.to_h b.each{|s| puts '%d: %s' % [s, c.find{_1[0] >= s}&.[](1)&.join(?,) || :error]} # => 390: error 240: 16,17 37: 3,13 396: error 198: 11,18 99: 6,17 242: 16,17 53: 3,18 329: error 202: 13,16
792 名前:デフォルトの名無しさん mailto:sage [2022/09/09(金) 23:46:43.88 ID:3788iROh.net] >>751 ruby https://ideone.com/hBHe51 def f(as, bs) c = as.combination(2).map(&:sort).to_a.uniq.map {|x, y| [x * y, x, y]}.sort_by(&:first).each_cons(2) bs.map do |b| d = c.find {|e, f| e[0] < b && b <= f[0]} "#{b}:#{d ? d[1][1..2].join(',') : 'error'}" end end a = [17, 3, 3, 1, 6, 13, 11, 17, 2, 5, 7, 18, 16, 5, 8, 6, 5, 1, 11, 1] b = [390, 240, 37, 396, 198, 99, 242, 53, 329, 202] puts f(a, b)
793 名前:753 mailto:sage [[ここ壊れてます] .net] >>751 https://ideone.com/2UDrLT ・>>753 を若干の整理 ・>>752 さんのを見て&.を勉強 def f(a, b) c = a.combination(2).map(&:sort).to_a.uniq.map {|x, y| [x * y, x, y]}.sort b.map {|b| "#{b}:#{c.find {|e| b <= e[0]}&.[](1..2)&.join(',') || 'error'}"} end a = [17, 3, 3, 1, 6, 13, 11, 17, 2, 5, 7, 18, 16, 5, 8, 6, 5, 1, 11, 1] b = [390, 240, 37, 396, 198, 99, 242, 53, 329, 202] puts f(a, b)
794 名前:デフォルトの名無しさん mailto:sage [2022/09/10(土) 00:34:04.51 ID:sDbT/M8A.net] みんな解くのはえーなぁ
795 名前:96 mailto:sage [2022/09/10(土) 02:29:07.85 ID:7pWsuKpo.net] >>751 Perl5 $ls = [17, 3, 3, 1, 6, 13, 11, 17, 2, 5, 7, 18, 16, 5, 8, 6, 5, 1, 11, 1]; $ss = [390, 240, 37, 396, 198, 99, 242, 53, 329, 202]; sub f {2 < @_ ? (f(@_[1..$#_]), map{[$_[0] * $_, $_[0], $_]} @_[1..$#_]) : ()} @rs = sort{$$a[0] <=> $$b[0]} f @$ls; for $aa (@$ss) { @b = grep{$aa <= $$_[0]} @rs; print @b ? "$aa:$b[0][1],$b[0][2]\n" : "$aa:error\n"; } 実行結果 $ perl 20_751.pl 390:error 240:17,16 37:3,13 396:error 198:18,11 99:17,6 242:17,16 53:3,18 329:error 202:13,16
796 名前:デフォルトの名無しさん mailto:sage [2022/09/10(土) 11:29:46.54 ID:q8enYz1J.net] >>751 octave https://ideone.com/WGkm27 function c = f(a, b) u = unique(sort(nchoosek(a, 2), 2), 'rows'); p = prod(u, 2); c = cell(size(b)); for i = 1:numel(b) d = min(p(b(i) <= p)); if isempty(d) c{i} = sprintf('%d:error', b(i)); else s = strjoin(arrayfun(@(n) {num2str(n)}, u(p == d, :)), ','); c{i} = sprintf('%d:%s', b(i), s); end end end a = [17, 3, 3, 1, 6, 13, 11, 17, 2, 5, 7, 18, 16, 5, 8, 6, 5, 1, 11, 1]; b = [390, 240, 37, 396, 198, 99, 242, 53, 329, 202]; cellfun(@disp, f(a, b))
797 名前:デフォルトの名無しさん mailto:sage [2022/09/10(土) 13:32:08.25 ID:q8enYz1J.net] >>751 c https://ideone.com/Cqx8M3 #include <stdio.h> void f(int *a, int *b, int na, int nb) { int i, j, k, found, min, x, y; for (i = 0; i < nb; i++) { found = 0; for (j = 0; j < na; j++) for (k = 0; k < na; k++) if (j != k && b[i] <= a[j] * a[k] && (!found || a[j] * a[k] < min)) found = 1, min = a[j] * a[k], x = a[j], y = a[k]; if (!found) printf("%d:error\n", b[i]); else printf("%d:%d,%d\n", b[i], x, y); } } int main() { int a[] = {17, 3, 3, 1, 6, 13, 11, 17, 2, 5, 7, 18, 16, 5, 8, 6, 5, 1, 11, 1}; int b[] = {390, 240, 37, 396, 198, 99, 242, 53, 329, 202}; f(a, b, sizeof a / sizeof *a, sizeof b / sizeof *b); return 0; }
798 名前:デフォルトの名無しさん [2022/09/10(土) 19:18:11.93 ID:PLqR4TKQ.net] >>751 Kotlin 可能な限り漢字を使ったプログラムにしてみたが、余計にゴチャゴチャしてしまったかな? https://paiza.io/projects/ay4L7Wchnt6lGUvkh6h21A 240 が 16, 17 ではなく 17, 16 のように出るが、まあよかろう。 (リストの順番で覚えているのでこうなる)。
799 名前:デフォルトの名無しさん [2022/09/10(土) 22:25:19.23 ID:7X0yi8nW.net] お題 >>751 の問題について 長方形の1辺の長さをソートして縦方向と横方向に並べて交差するところに長方形の面積を入れて表にします https://downloadx.getuploader.com/g/angel556/90/%E3%81%97%E3%82%83%E3%81%8F%E3%81%A8%E3%82%8A%E6%B3%95.png この図は50を探すところを描いています 青色の斜めの値の中から正方形の面積以上かつ最小の値を見つけその場所を出発点とします 長方形の面積が正方形の面積よりも大きい場合は表を上にたどり、長方形の面積が正方形の面積よりも小さい場合は表を右にたどります 右方向から上方向に切り替わるところが回答の候補でその中から最小値を探すことで効率よく回答を見つけることができます しゃくとり虫が動いてるように見えるのでこれをしゃくとり法と呼ぶことにします >>751 の問題をしゃくとり法で解いてください
800 名前:デフォルトの名無しさん [2022/09/10(土) 22:51:25.27 ID:7X0yi8nW.net] > 右方向から上方向に切り替わるところが回答の候補でその中から最小値を探すことで効率よく回答を見つけることができます これは間違いかも、これだと55を見つけられない 各自で考えていただければありがたく
801 名前:デフォルトの名無しさん [2022/09/10(土) 22:52:41.16 ID:7X0yi8nW.net] いや、いいのか!? ダメだ混乱してきたもうパニックですわ
802 名前:デフォルトの名無しさん mailto:sage [2022/09/10(土) 22:57:53.10 ID:sDbT/M8A.net] おちつけ
803 名前:デフォルトの名無しさん [2022/09/10(土) 23:12:42.56 ID:7X0yi8nW.net] >>760 > 右方向から上方向に切り替わるところが回答の候補でその中から最小値を探すことで効率よく回答を見つけることができます これは間違いでした、上方向から右方向に変わる直前の値が回答候補ですね 50を探す場合、56,55,51が候補です https://downloadx.getuploader.com/g/angel556/91/%E3%81%97%E3%82%83%E3%81%8F%E3%81%A8%E3%82%8A%E6%B3%95_%E8%A8%82%E6%AD%A3.png
804 名前:素数を数えるんだ [2022/09/10(土) 23:25:22.59 ID:22kPJ9rf.net] 2, 3, 5, 7, 11, 13, 17, 19......
805 名前:デフォルトの名無しさん [2022/09/11(日) 01:04:25.98 ID:/LH0BDzE.net] お題 2~19までの素数を生成し掛け算の表を出力してください
806 名前:デフォルトの名無しさん [2022/09/12(月) 01:50:52.46 ID:xawmAmgS.net] >>751 Java https://paiza.io/projects/9bNWiYGC-KndYn1QmRsYIA
807 名前:デフォルトの名無しさん [2022/09/12(月) 10:44:10.79 ID:VxR6iqOp.net] >>764 Kotlin https://paiza.io/projects/caNg1GtDFhBF9Rk6AwC52Q 出力をHTMLにするとそれっぽく表示できた。 50は正方形の面積リストの最初に入れたが例の画像と同じような見た目になった。
808 名前:デフォルトの名無しさん mailto:sage [2022/09/12(月) 18:32:56.65 ID:eGlSQ2pk.net] >>751 ttps://ideone.com/mFYcmC >>764 ttps://ideone.com/vwjQvN
809 名前:デフォルトの名無しさん [2022/09/13(火) 22:22:38.95 ID:B0VHMNYc.net] >>766 C# https://paiza.io/projects/mR6tnluHgitHnC0VJWc6Wg
810 名前:デフォルトの名無しさん [2022/09/13(火) 22:25:19.07 ID:V4Kz63G0.net] お題:OpenGLで四角形を3つ描画せよ 一番下の四角形が1番大きく赤色 その上にのってる四角形は2番目に大きく緑色 さらにその上にのってる四角形は3番目に大きく青色
811 名前:デフォルトの名無しさん [2022/09/14(水) 12:47:57.36 ID:LkrioAg+.net] お題 フェアフィールドの公式は、西暦1年1月1日から指定した日付までの日数を求めるもので次の式です 日数 = (365 * Y) + (Y / 4) - (Y / 100) + (Y / 400) + (306 * (M + 1) / 10) + D - 428 UNIX時間は、西暦1970年1月1日午前0時0分0秒からの経過秒数です フェアフィールドの公式を用いてUNIX時間から年月日を求めて出力してください (例) 1000000000 → 2001-09-09T01:46:40 1234567890 → 2009-02-13T23:31:30
812 名前:デフォルトの名無しさん mailto:sage [2022/09/14(水) 15:20:59.73 ID:s+3MjQLV.net] >>772 bat @echo off &setlocal call :Conv_uTime2iso 1000000000 call :Conv_uTime2iso 1234567890 pause&exit /b :Conv_uTime2iso set /a "GD=(UT=%~1)/86400+719468, h=100+(R=UT%%86400)/3600, n=100+(R%%=3600)/60, s=100+R%%60, y=400*(GD/146097), y+=100*(i=(R=GD%%146097)/36524), y+=(R%%=36524)/1461*4, y+=j=(R%%=1461)/365, R=R%%365+365*(L=(i|j)/4), f=(k=(R*5+2)/153)/10, d=R+101-(306*k+4)/10, m=k+103-f*12, y+=f-L" echo %y%-%m:~-2%-%d:~-2%T%h:~-2%:%n:~-2%:%s:~-2%
813 名前:デフォルトの名無しさん mailto:sage [2022/09/15(木) 05:31:46.38 ID:LgD4XKTt.net] //>>772 JavaScript function _772(epoch) { /**/epoch = BigInt(epoch);if (epoch < 0n) {throw new RangeError('');} /**/const lastDateOfMonth = (_ => Object.fromEntries(Array.from([, , , ..._.slice(2), _[0], _[1]].entries()).filter(([, v]) => v)))(Array.from(new Array(12).keys()).map(m => BigInt(new Date(2_022, m + 1, 0, 0, 0 - new Date().getTimezoneOffset()).getDate()))); /**/const FAIRFIELD = fairfield(1_969n, 12n, 31n) + epoch / 86_400n + 1n; /**/let [Y, M, D] = [1_969n, 13n, 1n]; /**/for (; D <= 58n; D++) {if (FAIRFIELD == fairfield(Y, M, D)) {return {Y: 1_970n, M: 1n + D / 31n, D: D % 31n};}} /**/for (Y = 1_970n; Y <= Number.MAX_SAFE_INTEGER; Y++) { /**//**/for (M = 3n, D = 1n; D <= 366n; D++) { /**//**//**/if (FAIRFIELD == fairfield(Y, M, D)) { /**//**//**//**/if (D == 366n) { /**//**//**//**//**/if (isLeapFullYear(Y + 1n)) { /**//**//**//**//**//**/
814 名前:return {Y: Y + 1n, M: 2n, D: 29n}; /**//**//**//**//**/} else { /**//**//**//**//**//**/return {Y: Y + 1n, M: 3n, D: 1n}; /**//**//**//**//**/} /**//**//**//**/} else { /**//**//**//**//**/for (; lastDateOfMonth[M] <= D; D -= lastDateOfMonth[M++]); /**//**//**//**//**/if (M <=12n) { /**//**//**//**//**//**/return {Y, M, D}; /**//**//**//**//**/} else { /**//**//**//**//**//**/return {Y: Y + 1n, M: M % 12n, D}; /**/}}}}} /**/function isLeapFullYear(Y) {return Y % 4n == 0n && Y % 100n != 0n || Y % 400n == 0;} /**/function fairfield(Y, M, D) {return Y * 365n + Y / 4n - Y / 100n + Y / 400n + 306n * (M + 1n) / 10n + D - 428n;} } [] [ここ壊れてます]
815 名前:デフォルトの名無しさん mailto:sage [2022/09/15(木) 22:07:10.52 ID:AaudQZzp.net] うるう秒のテーブルがないと求められなくない?
816 名前:デフォルトの名無しさん mailto:sage [2022/09/16(金) 00:34:31.77 ID:ETiYX3D6.net] 400年で146097日増えるみたいだから適当にバイアス付けて146097で割る予感
817 名前:デフォルトの名無しさん mailto:sage [2022/09/16(金) 00:35:51.49 ID:ETiYX3D6.net] 違う 適当にバイアス付けて÷365.2425だ
818 名前:デフォルトの名無しさん mailto:sage [2022/09/16(金) 01:05:26.42 ID:/mniU0r8.net] フェアフィールドの公式てwikipediaに書かれている出自不明な公式でも何でも無いでっち上げの記事でしょ 式の解説文がこれまた頭悪くて、なのに誰も修正しないという
819 名前:デフォルトの名無しさん mailto:sage [2022/09/16(金) 01:13:35.77 ID:mMDmJ4/Z.net] グレゴリオ歴のとこに解説載ってるよ https://ja.m.wikipedia.org/wiki/%E3%82%B0%E3%83%AC%E3%82%B4%E3%83%AA%E3%82%AA%E6%9A%A6
820 名前:デフォルトの名無しさん [2022/09/16(金) 21:18:24.66 ID:k/2PI65L.net] >>772 Java https://paiza.io/projects/GkxKdFMCsjdM1lSoxk8mhQ
821 名前:デフォルトの名無しさん [2022/09/17(土) 17:48:30.91 ID:fw6a0lZo.net] お題 2*2の整数行列がいくつか与えられる。 これらを適当な順番で掛け合わせる(行列積)ことで零行列を作ることが可能かどうか判定せよ。 ただし、同じ行列を2回以上使用してもよい。 例 [[1, 0], [0, 0]], [[0, -1], [1, 0]] =>可能(行列1*行列2*行列1==0) [[1, 2], [3, 4]], [[0, -3], [2, 4]] =>不可能(正則行列だから)
822 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 18:42:03.76 ID:ZMguHADz.net] >>781 零因子の発掘ですか、濃ゆいお題ですね…
823 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 11:34:42.07 ID:qZaavGGf.net] お題:循環参照を開放せよ。 java https://ideone.com/xe64l4 ・ガベコレの対象になったのを確認まででヨシとす c++ https://ideone.com/1gXTAX
824 名前:デフォルトの名無しさん [2022/09/18(日) 12:52:34.73 ID:BMeW7wRv.net] >>783 Java https://paiza.io/projects/KPlcyOa7-yBMKlBes0ImXg
825 名前:デフォルトの名無しさん [2022/09/18(日) 16:37:27.93 ID:BMeW7wRv.net] >>783 Python https://paiza.io/projects/xCNkUNUSXbwUSWTf8OEA-Q
826 名前:デフォルトの名無しさん [2022/09/19(月) 02:47:41.37 ID:/08McGz8.net] >>783 Kotlin https://paiza.io/projects/dZhh0NhaeEwnxD45W6V7Ng Java VM 上で動くから Java と同じで参照している変数を null にして System.gc() するだけ。
827 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 01:13:05.90 ID:uYRJl5GL.net] >>772 亀レスHaskell https://ideone.com/y7jYXr 色々考えて結局テーブル作って処理という最後の手段 わざわざ公開するほどのもんでもないけど一区切りつけるため 暦の勉強になった なんで大の月と小の月の配置はこんなみっともないことになってるんだろ? 歴史家が調べでよくわからんみたいだけど
828 名前:デフォルトの名無しさん [2022/09/24(土) 04:40:38.82 ID:6vPOYH6k.net] >>772 だめ。その式に当てはめると必ずずれる。
829 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 07:42:29.88 ID:aunrhsr3.net] うるう秒を考慮しないとずれる
830 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 09:42:29.34 ID:v3rIJe0P.net] >>788 問題には書かれていないけれどその式は条件によって前処理が必要 ・1-2月は前年として扱う。 1年を3-14月として計算 m=1 or 2 の時 y=y-1, m=m+12 >>789 UNIXTIMEにうるう秒なんて無い
831 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 11:33:11.17 ID:aunrhsr3.net] >>790 日付に変換する過程でうるう秒考慮しないとずれるでしょう
832 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 12:13:55.28 ID:v3rIJe0P.net] >>791 UNIXTIMEは「epocからの実時間の秒数」では無い 実時間から、うるう秒は加減され含まれず、1日は86400秒換算 だからそれを日時に変換しても「うるう秒の時刻を表せない」だけでズレなど発生しない
833 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 12:34:24.41 ID:aunrhsr3.net] >>792 レスありがとう。不勉強だったわ。
834 名前:デフォルトの名無しさん [2022/09/24(土) 16:57:05.53 ID:6vPOYH6k.net] >>790 出題ミスか。 これまでに作られたプログラムはその辺のことを考慮したプログラムになっていたのかな? だったら分かってたんだからその辺の事を書いておいて欲しかったな。
835 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 22:38:52.94 ID:Fvr5cAu6.net] wikiにはそこまで詳しい解説はなかったけど式みたらわかったけどな ⌊(m+1)/30.6⌋ という項 ⌊x/30.6⌋という関数は0,1,2,3,4となる値が 31,30,31,30,31,31,(繰り返し)‥① と変化してコレを周期153で繰り返す 月の長さは3月から見ると 31,30,31,30,31,31,30,31,30,31,31,28(29) となってるから①を一月分左に平行移動すれば良いとわかる からの⌊(m+1)/30.6⌋
836 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 22:45:27.51 ID:Fvr5cAu6.net] >>795 間違えた ⌊m×30.6⌋という関数は0,1,2,3,4,‥の時の値が 31,31,30,31,30 の繰り返し 件の公式のmの項はコレを一月分ずらしてる
837 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 02:17:31.98 ID:UDkh+W3M.net] お題:4回呼び出したらその内の1回が失敗する関数を書け 失敗した場合は「failed」と表示、成功した場合は「ok」と表示せよ
838 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 09:47:46.29 ID:+QlM3L0o.net] seed変数はパラメータ渡しで良いですか
839 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 19:05:59.31 ID:WptV1D3q.net] >>797 c https://ideone.com/PIpRmD void f() { static int i = 0, j, k = 4; if (i == 0) j = rand() % k; puts(i == j ? "failed" : "ok"); i = (i + 1) % k; }
840 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 22:51:23.95 ID:7XofIB3A.net] >>797 Ruby def f $f_cnt||=0 puts$f_cnt==3||(rand(4)==~-$f_cnt+=1)?:failed: :ok end
841 名前:デフォルトの名無しさん [2022/09/30(金) 04:16:06.13 ID:F2zw9Wj+.net] >>797 Kotlin https://paiza.io/projects/QipeLOxxfW3_GNBarDA-8w Int型1つ分のワークエリアを呼ぶ側から与えてそこでカウントして必ず4回の内1回が失敗になる。 乱数を使うと4回の内1回失敗ではなくなる可能性があるので使っていない。 引数としてInt型の参照を渡しても中身を変えられないのでIntArray(Java なら int[] に相当)で1要素作ってIntArrayの参照を渡している。 クラスでやっても良かったが、わざわざクラス作るほどのことでもないと思ったのでこの方式にした。
842 名前:デフォルトの名無しさん [2022/10/01(土) 01:23:09.73 ID:I5nFps2z.net] >>797 Java https://paiza.io/projects/AOePb_OJDX44jb_jRddrsw?language=java
843 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] お題: あみだ https://imgur.com/6XtTF0E.png 画像のようなマス目の上に直線を引いたあみだを次のように表現することにします。 N: 縦線の本数(列数) M: 橋が架けられている行数 B: M行N-1列の二次元配列で、橋が架けられていたら1、そうでない場合は0が格納されています。 あらかじめ、あみだの入力には左から0〜N-1までの整数が割り振られていることにします。また、同じ行に橋が二つ連続で隣り合うことは禁止されています。 一応の制約: 2 <= N <= 100, 1 <= M <= 100 あみだに橋が1つも存在しない場合、M=1となり、Bは1行N-1列の大きさで、すべての要素が0の2次元配列になることにします。 お題1: N, M, Bが与えられるので、あみだの出力を求めてください。(入出力のフォーマットは各自で適宜変更してもいいです。) 入力例(画像のもの): 4 4 1 0 1 0 1 0 1 0 0 0 1 0 出力例: 3 0 1 2 お題2: Nとあみだの出力が与えられるので、Mをできるだけ小さくしたあみだを求め、Mと Bの一例 を表示してください。 入力例: 5 2 4 0 1 3 出力例: 3 0 1 0 1 1 0 1 0 0 1 0 0 あみだ関連のお題は過去スレで何回か見かけたがろくに相手にされていなかったのであげてみる。
844 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 00:03:47.74 ID:Em47unOv.net] reduced expressionのまとめられる積を出来るだけまとめたものが必ず最短になるなら簡単なんだけどな
845 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 12:25:25.51 ID:CId/Nblu.net] Gapとか使えばいいんじゃね
846 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 15:00:17.69 ID:AiOpkeUk.net] reduced expression の長さ自体の計算は簡単だけどこの問題は"reduced expressionの長さを求めよ"ではないからそこまで数学的に単純じゃないよ
847 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 20:53:48.73 ID:uiS3Rjx/.net] >>803 お題1 ttps://paiza.io/projects/tUaZay_JvtZRkIaUhjYF7Q お題2 ttps://paiza.io/projects/1yDZy-Vx-C9Q9Z_Oc03Mtw お題1とお題2でそれぞれ入力と出力をあわせるようにした Mをできるだけ小さくって難しいな これでいいのかわからん
848 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 21:09:44.88 ID:TC3V9vEZ.net] アルゴリズムが存在するのは明らかだしひとつ答え見つけるアルゴリズムも簡単 でもreduced expression見つけるアルゴリズムと同程度のアルゴリズムとなると途端に難しくなる reduced expressionの場合には置換σのreduced expressionを見つけるには (1) σ = idであるか否か判定する、σ=idなら空列を返して終了 (2) そうでない場合σ(i) > σ(i+1)であるiを見つける、見つけたiに対してτ=σ(i i+1)とおいてτほreduced expression sを求める (3)
849 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 21:16:09.04 ID:TC3V9vEZ.net] (3) s ( i i+1 )を返して終了 でもとまる ここでミソはreduced expressionの1番右は( i i+1 )と決め打ち出来ること、コレがあるから多項式時間で終わる しかしアミダの場合1番右の初手をそんなに簡単に決定出来るかが分からん 初手の可能性は転置全部の可換な集合のうち極大であるもの全体のいずれかに最短が入る事は簡単に示せるけど、そのような極大な可換集合をどれとっても必ずうまくいくことの証明がむずかしい 多分出来るんだとは思うけど正直数学板で話題にするような話でプロ板で出すような問題じゃない気がする
850 名前:441 [2022/10/11(火) 10:43:04.37 ID:Q+yx5xdI.net] >>803 最近やっとpythonを学び始めたレベルだから合ってるかわからん コメントとかもちゃんと書いたほうがいいのだろう
851 名前:か 暇な人添削してくれると嬉しい お題1 https://ideone.com/uQ0lEu お題2 https://ideone.com/IvtRj2 [] [ここ壊れてます]
852 名前:デフォルトの名無しさん [2022/10/11(火) 12:04:38.77 ID:xv8Y5zzF.net] しゃぶれよ
853 名前:96 mailto:sage [2022/10/13(木) 07:01:45.31 ID:JNehkz2R.net] >>773 自分でやれ
854 名前:デフォルトの名無しさん [2022/10/22(土) 02:49:22.02 ID:ql0xnxKt.net] やってるやん
855 名前:デフォルトの名無しさん [2022/10/24(月) 10:24:26.56 ID:sCRx2Xsd.net] お題 プリンタAは1分間に1ページ印刷できます プリンタBは3分間に1ページ印刷できます プリンタCは5分間に1ページ印刷できます プリンタを3台同時に動かして100ページを印刷します 100ページを印刷し終わるのに何分掛かるか求めてください
856 名前:デフォルトの名無しさん [2022/10/24(月) 12:38:35.85 ID:PxuF7JuF.net] >>814 perl5 https://paiza.io/projects/6hPV0H0VMJ6oloujnOVF8w
857 名前:デフォルトの名無しさん mailto:sage [2022/10/24(月) 13:32:21.38 ID:LLDppSf/.net] >>815 バグってるぞ 65分だと99枚しか印刷されない
858 名前:デフォルトの名無しさん mailto:sage [2022/10/24(月) 14:17:54.79 ID:l9s5dDsa.net] >>814 cmd set /a "p=100, n=15*p/23+!!(15*p%23)"
859 名前:デフォルトの名無しさん mailto:sage [2022/10/24(月) 15:31:07.39 ID:FSEywfH4.net] haskell pages n = sum $ map ( div n ) [ 1,3,5 ] main = print $ head [ n | n <- [1..], pages n >= 100 ]
860 名前:デフォルトの名無しさん mailto:sage [2022/10/24(月) 20:20:16.51 ID:112hix5y.net] >>814 aow = 100 power = (1 + 1r/3 + 1r/5) printf(aow / power) // => 65.21739130434783
861 名前:デフォルトの名無しさん mailto:sage [2022/10/24(月) 22:40:57.89 ID:SGYFZ2pJ.net] >>814 octave https://ideone.com/BOXjxs f = @(n) ceil(n * 15 / 23);
862 名前:デフォルトの名無しさん [2022/10/25(火) 01:46:09.54 ID:m3snEfri.net] >>814 Kotlin 何も考えずただカウントして求めるように書いた。 https://paiza.io/projects/8SWBhDQ_Bfr2ICXJpLmxhQ
863 名前:デフォルトの名無しさん mailto:sage [2022/10/25(火) 06:54:39.16 ID:LZqPXT/2.net] >>817 ,820 逆算はページ数によってはダメ 例えば3ページの時、3分4ページが正解だけど (B=2/3)+(C=2/5) で1繰り上がって2分が出て来る
864 名前:デフォルトの名無しさん mailto:sage [2022/10/25(火) 07:50:54.84 ID:V4E25MPr.net] A, B, Cでそれぞれ45/23, 15/23, 9/23ページ印刷すれば45/23分で3ページ印刷し終わるよ
865 名前:デフォルトの名無しさん [2022/10/25(火) 08:18:47.97 ID:5cB2OctB.net] 100ページだからセーフ
866 名前:デフォルトの名無しさん mailto:sage [2022/10/25(火) 13:35:12.41 ID:xp4U3IJL.net] >>814 JavaScript https://paiza.io/projects/I8_n6kEMrNGxbh-vwbTkqQ
867 名前:デフォルトの名無しさん [2022/10/25(火) 20:38:44.30 ID:Er29dtqL.net] 甘えんな 印刷周期を一定と仮定した上で解として取りうる離散値のどれになるかを小数単位で求めるプログラムも書こうよ
868 名前:デフォルトの名無しさん [2022/10/25(火) 21:08:38.15 ID:idE58GAF.net] すまん、1分に3枚じゃなくて3分に1枚かorz
869 名前:デフォルトの名無しさん [2022/10/25(火) 22:03:54.71 ID:b0dw4lqu.net] >>814 Java https://paiza.io/projects/3CptMd1jsIwuiYqU1IQYyg?language=java
870 名前:デフォルトの名無しさん [2022/10/25(火) 22:28:13.40 ID:F6XUw+z/.net] じゃあ1分に1枚、3枚、5枚のプリンターでの印刷というお題も出すか。
871 名前:デフォルトの名無しさん mailto:sage [2022/10/25(火) 22:38:49.46 ID:d0t/LHiA.net] >>814 octave https://ideone.com/0V6LlD function m = f(n, m) if nargin == 1 m = f(n, 0); elseif sum(idivide(m, [1 3 5])) < n m = f(n, m + 1); end end >>814 ocaml https://ideone.com/4iPTJS let f n = let rec aux m = if n <= (m + m / 3 + m / 5) then m else aux (m + 1) in aux 0
872 名前:デフォルトの名無しさん [2022/10/25(火) 23:47:11.01 ID:b0dw4lqu.net] >>829 Java public static void main(String[] args) { var pages = 100; var s = IntStream.of(1, 3, 5).sum(); System.out.println((pages + s - 1) / s); }
873 名前:デフォルトの名無しさん [2022/10/26(水) 13:26:51.44 ID:FciA0hc1.net] お題 オークA「ぐっふっふ…… 俺は媚薬を盛ってないぜ……」 オークB「ぐふっ…… 媚薬を盛ったやつはAかCのどちらかだぜ…」 オークC「オークBかDは嘘をついているぜ…ぐっふっふっふっ……」 オークD「ぐふふ…媚薬を盛った奴はB,Eの中にはいないぜ……ぐひっ…」 オークE「げひひっ……媚薬を盛ったやつは本当の事を言っているぞ…」 オーク達「ちなみに、お前に媚薬を盛ったのはこの中の一匹で、俺たちの中で一匹が嘘をついているぞ……」 女騎士「くうぅ…誰が嘘をついて誰が私に媚薬を盛ったんだ……!」 オーク達「ぐっふっふ……」 論理演算を用いて答えを求めてください
874 名前:デフォルトの名無しさん [2022/10/26(水) 13:33:52.83 ID:FciA0hc1.net] オークCとオークEがめんどくさいな
875 名前:デフォルトの名無しさん mailto:sage [2022/10/26(水) 15:30:35.63 ID:DM8ZU7Du.net] 全てが媚薬を盛って全員が嘘をついている これで全員の発言と矛盾がないと思う
876 名前:デフォルトの名無しさん mailto:sage [2022/10/26(水) 16:28:02.83 ID:xzd5i3vP.net] さすがに > オーク達「ちなみに、お前に媚薬を盛ったのはこの中の一匹で、俺たちの中で一匹が嘘をついているぞ……」 は正しいと仮定しないとなんでもありありになっちゃうだろ
877 名前:デフォルトの名無しさん mailto:sage [2022/10/26(水) 18:06:43.51 ID:VWCwwszG.net] さすがに > オーク達「ちなみに、お前に媚薬を盛ったのはこの中の一匹で、俺たちの中で一匹が嘘をついているぞ……」 コレウソついてるのは一匹“だけ”つて意味だよね? “少なくとも一匹はウソついてる” じゃないよね?
878 名前:デフォルトの名無しさん mailto:sage [2022/10/26(水) 18:20:40.38 ID:S3XzLK/s.net] このタイプの論理問題ってよく見かけるな 初出ってどこなんだろうな
879 名前:デフォルトの名無しさん mailto:sage [2022/10/26(水) 19:23:29.30 ID:gD5qQ1ZG.net] >>836 > “少なくとも一匹はウソついてる” だと、全員嘘つきでもいいからなんでもありになっちゃう気がする
880 名前:デフォルトの名無しさん mailto:sage [2022/10/26(水) 20:30:42.10 ID:dmTYCGjA.net] >>832 Haskell まだ自信なし https://ideone.com/7p50VK
881 名前:デフォルトの名無しさん mailto:sage [2022/10/26(水) 21:23:18.21 ID:OrdcPqRc.net] オーク達「」が真であることは、 この世界の神である出題者が保証してるわけだな?
882 名前:デフォルトの名無しさん mailto:sage [2022/10/26(水) 21:38:57.12 ID:Bjop1AC4.net] 出題者が嘘をついていて、オークがそのような発言をしていない可能性もある
883 名前:デフォルトの名無しさん mailto:sage [2022/10/27(木) 01:22:34.18 ID:s7i1htqL.net] >>832 Haskell 一ヶ所間違ってたので訂正 あとウソつきはちょうど1人という条件つけたら解一個になった https://ideone.com/vAXrzD
884 名前:デフォルトの名無しさん mailto:sage [2022/10/27(木) 09:19:06.82 ID:Uf+5HE/G.net] Haskell ウソつき1人としてループを5×5に 5人しかいないので大して変わらないけど https://ideone.com/zxaBcf
885 名前:デフォルトの名無しさん [2022/10/27(木) 14:26:07.23 ID:QRorZadJ.net] >>832 Java https://paiza.io/projects/VlDcOv5HhoHc1rQjRbF3dA?language=java
886 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 19:11:19.58 ID:O3TXZpYa.net] お題 Kの倍数の桁の和 自然数nに対してf(n)をnの10進表示の各桁の和とします (例 f(1024) = 1+2+4 = 7) 自然数kに対してg(k)を g(k) = { f(n) | nはkの倍数である自然数 } とします 入力kに対してg(k)を出力するコードを書いて下さい
887 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 19:33:57.73 ID:uuZ1gbyy.net] >>845 g(k)って必ずしも有限集合にならなくない?
888 名前:デフォルトの名無しさん mailto:sage [2022/10/29(土) 19:39:30.16 ID:O3TXZpYa.net] >>946 orz 訂正 g(k) = min{ f(n) | nはkの倍数である自然数 }
889 名前:デフォルトの名無しさん [2022/10/30(日) 00:28:15.63 ID:BQOGiCuF.net] お題 プレーヤーの前に閉じた3つのドアがあります 1つのドアの後ろには景品の新車があります 2つのドアの後ろにははずれを意味するヤギがいます プレーヤーは新車のドアを当てると新車がもらえます プレーヤーが1つのドアを選択したあとに司会のモンティが残りのドアのうちヤギがいるドアを開けてヤギを見せます ここでプレーヤーは「最初に選んだドアを残っている開けられていないドアに変更してもよい」と言われます ここでプレーヤーはドアを変更すべきだろうか? 乱数を使ったシミュレーションで答えを求めてください
890 名前:デフォルトの名無しさん [2022/10/30(日) 03:55:05.76 ID:KHak5nKt.net] >>848 モンティ・ホール問題だな。 Kotlin https://paiza.io/projects/8jlKawdSqlrp5JHr0uWC4w
891 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 08:09:55.23 ID:oF72FRjI.net] ドアを変更するかどうかのところはランダムにする必要無くない? 二択なので一方に決めていれば残りが逆側の確率
892 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 10:05:48.56 ID:Rpnmj8SE.net] まぁ 交換戦略「必ず交換する」 非交換戦略「決して交換しない」 確率交換戦略「ある分布に従って確率的に交換するかしないか決める」 で答えが変わる事を確認せよだからな ある意味最初2つの戦略も最後の戦略の特別な場合
893 名前:デフォルトの名無しさん [2022/10/30(日) 11:47:05.86 ID:0KuBg4yb.net] お題N x Nのルービックキューブのパターン数を求めよ
894 名前:デフォルトの名無しさん [2022/10/30(日) 18:39:10.46 ID:KHak5nKt.net] >>850 なるほど。
895 名前:デフォルトの名無しさん [2022/10/30(日) 18:54:42.34 ID:Sqe0pI7B.net] モンティ・ホール問題のシミュレートのように見えて実はちょっと違う モンキーホール問題だったのだ
896 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 20:02:07.15 ID:4vBwn6CZ.net] >>848 octave https://ideone.com/LGCuAh
897 名前:デフォルトの名無しさん [2022/10/31(月) 00:39:33.45 ID:MKojko7I.net] お題 ジュールトムソン効果っぽいものをシミュレーションで再現せよ
898 名前:デフォルトの名無しさん [2022/11/04(金) 07:13:30.92 ID:jLlmakBU.net] お題:1~10までの合計を求めよ *ただしライブラリ、ループ文を使わないこと
899 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 07:18:56.49 ID:yh54R4RT.net] >>857 PHP 55
900 名前:デフォルトの名無しさん [2022/11/04(金) 08:24:04.42 ID:TDQ1gw2t.net] (1+10)*5
901 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 12:00:50.88 ID:ryvUUS8Q.net] >>857 cmd set /a "A=1, B=10, (B-A+1)/2*(A+B)+(B-A+1)%2*(A+B)/2" &rem A≦B
902 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 15:50:39.28 ID:q0UsXtCi.net] 1+2+3+4+5+6+7+8+9+10
903 名前:デフォルトの名無しさん [2022/11/04(金) 15:52:05.99 ID:TBUnPbqZ.net] >>857 $ dc -e'1 10+5*p' 55 $
904 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 16:28:57.36 ID:q0UsXtCi.net] 整数とは書いてないな 三角数とか実数とか何か別のものを想定してるかもしれない
905 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 16:32:28.85 ID:q0UsXtCi.net] 高級言語なら大抵暗黙のうちにライブラリは使ってるだろうし内部的にループも使ってるかもしれない ループの定義も問題になるかと gotoは?再帰は?列挙は?...
906 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 16:36:48.58 ID:BHFqhq9y.net] >>863 その場合は > 1~10までの合計 の定義を書かないとね
907 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 16:55:47.69 ID:q0UsXtCi.net] 「その場合」に限定する理由は無いよね?
908 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 17:35:42.12 ID:u3TD418O.net] >>866 整数なら > 1~10までの合計 についてほぼ合意できる定義があると思うけど?
909 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 18:32:31.67 ID:iggZ7AM6.net] そう思ってない人もいる
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 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています