プログラミングのお題スレです。
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
結果がある場合はそれも
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part18
https://mevius.5ch.net/test/read.cgi/tech/1594702426/
プログラミングのお題スレ Part19
■ このスレッドは過去ログ倉庫に格納されています
2020/11/30(月) 00:04:05.21ID:TF2Czp0y
552デフォルトの名無しさん
2021/03/30(火) 03:21:24.51ID:6PAqNnFi >>518
Kotlin
https://paiza.io/projects/Y2U2DgK9pKbNVqwu8gjpQQ
1のビットを数える方法は以前どっかで見た方法をそのまんま使った。
これ + じゃなくて xor にするとパリティビット求められるんだよね。
Kotlin
https://paiza.io/projects/Y2U2DgK9pKbNVqwu8gjpQQ
1のビットを数える方法は以前どっかで見た方法をそのまんま使った。
これ + じゃなくて xor にするとパリティビット求められるんだよね。
553デフォルトの名無しさん
2021/03/31(水) 02:13:57.15ID:tcwzWNiV >>550
bash のコマンドラインから Perl 使ってでできた。標準入力から入力して標準出力に出力する。但し端末の入出力は UTF-8 。
perl -MEncode=from_to -pe 's/\{SJIS:(.*?)\}/from_to($s=pack("H*",$1),"cp932","utf8");$s/ge'
bash のコマンドラインから Perl 使ってでできた。標準入力から入力して標準出力に出力する。但し端末の入出力は UTF-8 。
perl -MEncode=from_to -pe 's/\{SJIS:(.*?)\}/from_to($s=pack("H*",$1),"cp932","utf8");$s/ge'
554デフォルトの名無しさん
2021/03/31(水) 22:33:07.77ID:IiEAnaBT お題
数字のみの文字列を昇順の数値の列になるように
区切るすべての場合を求める。
0で始まるものは数値とはみなさない。
数字の順番は変更しない。
数字のみの文字列を昇順の数値の列になるように
区切るすべての場合を求める。
0で始まるものは数値とはみなさない。
数字の順番は変更しない。
>>554
入力および対応する出力例をください
入力および対応する出力例をください
556デフォルトの名無しさん
2021/04/01(木) 01:04:50.12ID:b9nwt5sF >>554
長さ1も可、狭義単調増加、文字列は全て0〜9のみとして
Haskell
https://ideone.com/zOXDf0
入力 "20210401"
出力 [[20210401],[2,210401],[2,21,401],[2,210,401],[20,210401],[20,21,401],[20,210,401],[202,10401]]
長さ1も可、狭義単調増加、文字列は全て0〜9のみとして
Haskell
https://ideone.com/zOXDf0
入力 "20210401"
出力 [[20210401],[2,210401],[2,21,401],[2,210,401],[20,210401],[20,21,401],[20,210,401],[202,10401]]
557デフォルトの名無しさん
2021/04/01(木) 02:05:13.86ID:b9nwt5sF >>554
> 0で始まるものは数値とはみなさない。
↑これ見落としてた
Haskell
https://ideone.com/OyB9LO
入力:20210401
出力:[[20210401],[20,210401],[20,210,401],[202,10401]]
> 0で始まるものは数値とはみなさない。
↑これ見落としてた
Haskell
https://ideone.com/OyB9LO
入力:20210401
出力:[[20210401],[20,210401],[20,210,401],[202,10401]]
558デフォルトの名無しさん
2021/04/01(木) 19:18:16.37ID:E1T4qUFj ところで「チンポがシコシコする」という日本語表現は、学術的に正しいと言えるのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、自ら勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、自ら勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
559デフォルトの名無しさん
2021/04/01(木) 21:20:26.68ID:TdeptelQ 「象は鼻が長い」でググれ
560デフォルトの名無しさん
2021/04/01(木) 21:38:06.12ID:yB6nLlLi お題
下の入力文字列を、「あいう」で始まる文字列に、分割せよ。
出力形式は、配列・改行区切りの文字列などで良い
入力
abあいう1あいう23あいうxyz
出力
["あいう1", "あいう23", "あいうxyz"]
下の入力文字列を、「あいう」で始まる文字列に、分割せよ。
出力形式は、配列・改行区切りの文字列などで良い
入力
abあいう1あいう23あいうxyz
出力
["あいう1", "あいう23", "あいうxyz"]
561デフォルトの名無しさん
2021/04/02(金) 01:30:32.24ID:X/M76jvg562デフォルトの名無しさん
2021/04/02(金) 07:24:15.78ID:7wcW7Xmo563デフォルトの名無しさん
2021/04/02(金) 08:28:35.26ID:FK0Gf9rF >>560 Ruby
p "abあいう1あいう23あいうxyz".split(/(?=あいう)/)[1..]
p "abあいう1あいう23あいうxyz".split(/(?=あいう)/)[1..]
564デフォルトの名無しさん
2021/04/02(金) 18:13:44.89ID:mPelzphB >>558
チンポに主体性はない。胸は心に繋がって心には主体性がある
チンポに主体性はない。胸は心に繋がって心には主体性がある
565デフォルトの名無しさん
2021/04/02(金) 18:20:21.68ID:LmM0ztAD >>564
主体性とはなにか説明せよ
主体性とはなにか説明せよ
567デフォルトの名無しさん
2021/04/03(土) 08:17:43.34ID:McIcD2xB >>566
予定では 2.5系は今年の3月末で公式サポート切れですので早めの移行をおすすめします
https://www.ruby-lang.org/ja/news/2020/04/05/support-of-ruby-2-4-has-ended/
予定では 2.5系は今年の3月末で公式サポート切れですので早めの移行をおすすめします
https://www.ruby-lang.org/ja/news/2020/04/05/support-of-ruby-2-4-has-ended/
568デフォルトの名無しさん
2021/04/03(土) 20:31:52.16ID:HCHjqGIn569デフォルトの名無しさん
2021/04/04(日) 01:19:15.65ID:TsxWz5pg570デフォルトの名無しさん
2021/04/04(日) 04:15:17.77ID:i8ul4qcC >>560
Perl でこんな感じでできた。(1行目はbashのコマンドラインからの入力。2行目が出力)
echo 'abあいう1あいう23あいうxyz' | perl -ne 'chomp;@d=split/あいう/;shift(@d);print "[" . join(", ", map { qq("あいう$_") } @d) . "]\n"'
["あいう1", "あいう23", "あいうxyz"]
Perl でこんな感じでできた。(1行目はbashのコマンドラインからの入力。2行目が出力)
echo 'abあいう1あいう23あいうxyz' | perl -ne 'chomp;@d=split/あいう/;shift(@d);print "[" . join(", ", map { qq("あいう$_") } @d) . "]\n"'
["あいう1", "あいう23", "あいうxyz"]
571デフォルトの名無しさん
2021/04/05(月) 20:31:30.41ID:o12owsbD 「像は鼻が長い」でグクった
なるほど気付かなかった
なるほど気付かなかった
572デフォルトの名無しさん
2021/04/06(火) 01:25:45.23ID:zN4gWhl4 次の検索結果を表示しています: 象は鼻が長い
573デフォルトの名無しさん
2021/04/06(火) 13:58:55.66ID:ounqm2YM 数学板より
お題:足して9
各桁の和が9である自然数を小さい物順に並べる
9,18,27,36,45,54,63,72,81,90,108,117....
n番目を求める関数を実装せよ
入力:12
出力:117
入力:12345
出力:100204200
入力:123456789
出力:30000100000100000021000001000
お題:足して9
各桁の和が9である自然数を小さい物順に並べる
9,18,27,36,45,54,63,72,81,90,108,117....
n番目を求める関数を実装せよ
入力:12
出力:117
入力:12345
出力:100204200
入力:123456789
出力:30000100000100000021000001000
574デフォルトの名無しさん
2021/04/06(火) 15:10:20.38ID:8eKBKzx+ プロおじのオナニースレ
575デフォルトの名無しさん
2021/04/06(火) 15:49:51.64ID:5jp1nWlk プロおじってなんだ?
576デフォルトの名無しさん
2021/04/06(火) 15:59:26.26ID:sYlI8eNJ 数学板の荒らし
577デフォルトの名無しさん
2021/04/06(火) 16:27:52.36ID:vlqQXHl9578デフォルトの名無しさん
2021/04/06(火) 16:52:22.76ID:sYlI8eNJ579デフォルトの名無しさん
2021/04/06(火) 16:55:57.07ID:RTS/XrJR 数学板では
プログラム好き好きおじさんと
プログラム怖い怖いおじさんが
意味の無い罵り愛を展開しているのだそうな
プログラム好き好きおじさんと
プログラム怖い怖いおじさんが
意味の無い罵り愛を展開しているのだそうな
5809
2021/04/07(水) 01:03:14.39ID:lZ4PPQGS 意味のない愛か…
イサキが大漁そうだな
アホ草
イサキが大漁そうだな
アホ草
581デフォルトの名無しさん
2021/04/07(水) 03:29:39.17ID:nO5/cs4F プログラムこわい
落語かよ
落語かよ
582蟻人間 ◆T6xkBnTXz7B0
2021/04/10(土) 19:40:12.57ID:Sahzdf8n お題: かなとアルファベットと数字からなる文字列をモールス信号に変換するプログラム。ただし、長音を「−」、短音を「・」で表し、モールス信号に変換できない文字は下駄文字(〓)に置き換える。全角・半角の両方に対応すること。
参考:
https://ja.m.wikipedia.org/wiki/%E3%83%A2%E3%83%BC%E3%83%AB%E3%82%B9%E7%AC%A6%E5%8F%B7
参考:
https://ja.m.wikipedia.org/wiki/%E3%83%A2%E3%83%BC%E3%83%AB%E3%82%B9%E7%AC%A6%E5%8F%B7
583デフォルトの名無しさん
2021/04/11(日) 01:48:43.24ID:yXhW6xoe584デフォルトの名無しさん
2021/04/11(日) 04:58:14.74ID:b01EJxrZ モールスか。前にもあったな。そんなお題。
その時は確か音まで出す気合の入った回答をした人も居たと思った。
その時は確か音まで出す気合の入った回答をした人も居たと思った。
585デフォルトの名無しさん
2021/04/11(日) 18:30:35.89ID:b01EJxrZ お題
>>582と同じでモールス信号作成。但し、定義ファイルに文字ごとに対応する信号を入れておきそれを指定して動く方式。(これにより言語が関係なくなる)。
日本語用定義ファイルを指定して動かせばそれに従って日本語での変換が行われ、英語用のを指定すれば英語での変換になるようにする。
プログラムと定義ファイルを最低一つ作ること。定義ファイルの内容は定義に従って正しく変換がされるかの確認が出来る程度で良い(例えば数字の変換だけでも良い)。
>>582と同じでモールス信号作成。但し、定義ファイルに文字ごとに対応する信号を入れておきそれを指定して動く方式。(これにより言語が関係なくなる)。
日本語用定義ファイルを指定して動かせばそれに従って日本語での変換が行われ、英語用のを指定すれば英語での変換になるようにする。
プログラムと定義ファイルを最低一つ作ること。定義ファイルの内容は定義に従って正しく変換がされるかの確認が出来る程度で良い(例えば数字の変換だけでも良い)。
586デフォルトの名無しさん
2021/04/11(日) 18:33:36.97ID:b01EJxrZ 定義ファイルのエンコードはご自由に。でも UTF-8 にしておくとあちこちで使えて良いかも知れない。(Javaとか自動変換してくれるやつだと漢字も1文字扱い出来て楽だし)。
587デフォルトの名無しさん
2021/04/11(日) 19:48:32.73ID:yXhW6xoe588蟻人間 ◆T6xkBnTXz7B0
2021/04/11(日) 21:31:44.93ID:xF2ZqhuB お題: UTF-8のCSVファイル(BOMなし)をテキトーにJSONファイルに変換せよ。
589蟻人間 ◆T6xkBnTXz7B0
2021/04/11(日) 21:37:50.73ID:xF2ZqhuB お題: 現在のディレクトリに連番のファイル(000.txt〜999.txt)を作成せよ。
590蟻人間 ◆T6xkBnTXz7B0
2021/04/11(日) 21:49:03.91ID:xF2ZqhuB お題: 現在のディレクトリの中から「jewel」と書かれたバイナリファイルを探索せよ(ファイル名およびファイルの中身)。大文字小文字、全角半角を区別すること。
591デフォルトの名無しさん
2021/04/11(日) 21:49:37.43ID:oovdLEo5 >>589 コマンドプロンプト直打ち
>for /L %X in (0,1,9) do @for /L %Y in (0,1,9) do @for /L %Z in (0,1,9) do @echo.%X%Y%Z>%X%Y%Z.txt
>for /L %X in (0,1,9) do @for /L %Y in (0,1,9) do @for /L %Z in (0,1,9) do @echo.%X%Y%Z>%X%Y%Z.txt
592デフォルトの名無しさん
2021/04/11(日) 23:08:08.91ID:b01EJxrZ >>590
grep jewel *
grep jewel *
593デフォルトの名無しさん
2021/04/12(月) 00:41:18.68ID:PERQzDfp594デフォルトの名無しさん
2021/04/12(月) 00:42:24.60ID:PERQzDfp ごめん。 .dat じゃなくて .txt か。
まあでもその部分だけ直せばできる。
まあでもその部分だけ直せばできる。
595デフォルトの名無しさん
2021/04/12(月) 02:59:02.12ID:McWTq0EP 推奨NGワード: 蟻
596デフォルトの名無しさん
2021/04/12(月) 03:54:37.45ID:PERQzDfp597デフォルトの名無しさん
2021/04/12(月) 04:32:56.67ID:PERQzDfp 関係ないけどDMMブックスの7割引きは凄いな。高い本バスケットに入れまくりだ。
598蟻人間 ◆T6xkBnTXz7B0
2021/04/12(月) 20:48:48.64ID:AVNmNVln お題: マルチスレッドを使うと処理完了が早くなる例を示しなさい。※CPUはマルチコアを前提とする。
599デフォルトの名無しさん
2021/04/13(火) 05:15:20.29ID:RNIiO4nm >>589 Ruby
("0000".."9999").each{|x|open(x+".txt","w").close}
("0000".."9999").each{|x|open(x+".txt","w").close}
600蟻人間 ◆T6xkBnTXz7B0
2021/04/15(木) 20:54:26.73ID:IlyHVFTA お題: ここに3つのタンクA,B,Cがある。それぞれの最大容量は20L, 15L, 10Lである。初め、Aには水15Lが入っていて、Bには水10L入っていて、
Cは空っぽだ。重力により、水は2L/sの速さでAからBに流入し、3L/sの速さでBからCに流入する。
このような水の流れとタンク内容量の変化を再現してCがいっぱいになったときのAとBの内容量を求めよ。
Cは空っぽだ。重力により、水は2L/sの速さでAからBに流入し、3L/sの速さでBからCに流入する。
このような水の流れとタンク内容量の変化を再現してCがいっぱいになったときのAとBの内容量を求めよ。
601蟻人間 ◆T6xkBnTXz7B0
2021/04/15(木) 21:05:03.04ID:PVf346K4 >>600
その「水タンク-システム」=水時計って、水位差と流出量が比例するのほうがおもしろいのでは?
その「水タンク-システム」=水時計って、水位差と流出量が比例するのほうがおもしろいのでは?
603デフォルトの名無しさん
2021/04/16(金) 00:35:37.34ID:b5uchwAM 受験の頻出問題で排出される水量が√水位に比例するというのがあった
大学入ってやっとベルヌーイの定理というものだと知った
大学入ってやっとベルヌーイの定理というものだと知った
604デフォルトの名無しさん
2021/04/16(金) 14:13:28.80ID:jtvNbV+8 バカみたいな受験数学教えてないでストレートにベルヌーイの定理教えりゃいいのに
ガキに能力キャップを付けて伸びないようにバカはバカのまんまでいいとする教育法が全部悪い
そろそろ文科省は解体した方がいい
ガキに能力キャップを付けて伸びないようにバカはバカのまんまでいいとする教育法が全部悪い
そろそろ文科省は解体した方がいい
605デフォルトの名無しさん
2021/04/16(金) 19:04:19.26ID:xRzMNGAE606蟻人間 ◆T6xkBnTXz7B0
2021/04/16(金) 20:35:12.47ID:WHFzsZ51 お題: 計算可能な未知の関数f(x)が与えられる。x=-5〜+5において数値微分してf(x)の導関数の近似グラフを描画せよ。
(1) f(x)=x**2.
(2) f(x)=3*sin(x).
(3) f(x)=sqrt(abs(x)).
(1) f(x)=x**2.
(2) f(x)=3*sin(x).
(3) f(x)=sqrt(abs(x)).
607蟻人間 ◆T6xkBnTXz7B0
2021/04/16(金) 21:05:20.24ID:WHFzsZ51 なお、グラフィックスが使えない言語では、テキストによる「仮想画面」を使って描画すること。
608デフォルトの名無しさん
2021/04/16(金) 21:12:44.84ID:DiXcAXcy609デフォルトの名無しさん
2021/04/16(金) 22:53:37.77ID:zdKOg7Co >>604
まともな学校では数学好きな奴は高校の内から高木貞二読んだりしてたぞ
まともな学校では数学好きな奴は高校の内から高木貞二読んだりしてたぞ
610デフォルトの名無しさん
2021/04/17(土) 07:31:04.20ID:lD3utFKx 計算不能な既知の関数て何?
611デフォルトの名無しさん
2021/04/17(土) 09:03:16.04ID:3IkVvJ6C612デフォルトの名無しさん
2021/04/17(土) 11:28:29.30ID:Mked9+jN 中受算数をやる時間が無駄じゃん
そこで解析が出るならまだしも
ならストレートに連立方程式やら積分やらを出せばいい
そこで解析が出るならまだしも
ならストレートに連立方程式やら積分やらを出せばいい
613デフォルトの名無しさん
2021/04/17(土) 12:39:29.81ID:3vy+q5kN 自分でやれば?としか思わないんだが
614デフォルトの名無しさん
2021/04/17(土) 21:59:24.27ID:sbDPbhaa お題
同じ形の洗濯バサミの足を挟んでつなげてリングを作る。
最初の洗濯バサミの先頭から次のせんたくばさみの先頭までの長さAをとする。
以下同様につなげていくとすると洗濯バサミは何個必要だろうか?
同じ形の洗濯バサミの足を挟んでつなげてリングを作る。
最初の洗濯バサミの先頭から次のせんたくばさみの先頭までの長さAをとする。
以下同様につなげていくとすると洗濯バサミは何個必要だろうか?
615デフォルトの名無しさん
2021/04/18(日) 00:18:58.62ID:3FSrV0IS 360 / θ 個
616デフォルトの名無しさん
2021/04/18(日) 03:37:38.28ID:MhI7DTLG >>614訂正
洗濯バサミを3個つないだ状態で
最初の洗濯バサミの先頭から2番目の洗濯バサミの先頭までの長さをAとする。
2番目の先頭から3番目の先頭までをAとする。
1番目の先頭から3番目の先頭までをBとする。
洗濯バサミを3個つないだ状態で
最初の洗濯バサミの先頭から2番目の洗濯バサミの先頭までの長さをAとする。
2番目の先頭から3番目の先頭までをAとする。
1番目の先頭から3番目の先頭までをBとする。
617デフォルトの名無しさん
2021/04/18(日) 06:09:43.55ID:RQ5SqrPJ 絵を描いた方が分かりやすい
618デフォルトの名無しさん
2021/04/18(日) 15:55:26.09ID:oZ702Pek 数学の問題やん?
計算機を使って何をしろと?
A,Bが入力されたときに答え出せばいい?
計算機を使って何をしろと?
A,Bが入力されたときに答え出せばいい?
619デフォルトの名無しさん
2021/04/18(日) 16:11:00.76ID:oZ702Pek620蟻人間 ◆T6xkBnTXz7B0
2021/04/20(火) 14:33:35.54ID:fjai9OEL お題: 依存関係のあるソート。与えられたいくつかの項目について、各項目ごとに依存関係が指定される。依存対象が先に来るように項目のリストをソートしなさい。
依存関係に循環がある場合は「ERROR」と出力しなさい。依存関係がない場合は名前の順でソートしなさい。
例1) {A, B, C}
AはB, Cに依存する。
BはCに依存する。
Cは何にも依存しない。
例2) {A, B, C, D}
AはCに依存する。
BはDに依存する。
CはB, Dに依存する。
Dは何にも依存しない。
依存関係に循環がある場合は「ERROR」と出力しなさい。依存関係がない場合は名前の順でソートしなさい。
例1) {A, B, C}
AはB, Cに依存する。
BはCに依存する。
Cは何にも依存しない。
例2) {A, B, C, D}
AはCに依存する。
BはDに依存する。
CはB, Dに依存する。
Dは何にも依存しない。
621蟻人間 ◆T6xkBnTXz7B0
2021/04/20(火) 14:57:48.16ID:fjai9OEL 例3) {A, B, C, D, E}
AはEに依存する。
BはDに依存する。
CはBに依存する。
Dは何にも依存しない。
EはBに依存する。
AはEに依存する。
BはDに依存する。
CはBに依存する。
Dは何にも依存しない。
EはBに依存する。
622デフォルトの名無しさん
2021/04/20(火) 19:18:30.05ID:4HfXomGv 例ってそれぞれの入力してでどう言う出力なのか答え出さないと例にならんやん?
623蟻人間 ◆T6xkBnTXz7B0
2021/04/20(火) 20:00:19.11ID:fjai9OEL624蟻人間 ◆T6xkBnTXz7B0
2021/04/20(火) 20:07:07.92ID:fjai9OEL 全順序じゃないから、単純なソートアルゴリズムじゃダメみたいだね。
625蟻人間 ◆T6xkBnTXz7B0
2021/04/20(火) 20:14:12.39ID:fjai9OEL626608
2021/04/20(火) 23:18:11.98ID:F5cpVo8A627デフォルトの名無しさん
2021/04/21(水) 00:20:12.53ID:BjBFMDAR628デフォルトの名無しさん
2021/04/21(水) 04:35:47.26ID:BjBFMDAR630デフォルトの名無しさん
2021/04/21(水) 11:28:35.43ID:feIJLTYL 例えば>>821の時は順序の生成元が
E<A, D<B, B<C, B<E
この中で先頭に持ってきて良いものを探す
それはつまり「何かに依存していないもの」
この状態ではA,B,C,Eは何かに依存しているのでダメ
よってこの場合Dしかない
残りA,B,C,Eの順序を決める
その際順序の生成元からD<Xの形は取り除く
つまり
E<A, B<C, B<E
依存していないものはBのみなのでBが2番目
残りA,C,Eで順序の生成元はE<Aのみ
依存してないのはC,Eでどちらがきても良い
‥
数学的には“何かに依存していない”はその“半順序”における“極小元”
そして極小元になり得る必要十分条件がまさに「順序の生成系の中でそれより小さいものがないもの」、すなわち「何かに依存してないもの」とわかる(証明も簡単)
そしてこの作業に於いて順序の生成系にループが有れば、例えばx<y,y<z,z<xのようなものが有ればx,y,zは最後まで取り除かれず、最後には「まだ元は残ってるけど極小元なし」の状態に到達してしまうのでその時点でerror判定して終了すれば良い
E<A, D<B, B<C, B<E
この中で先頭に持ってきて良いものを探す
それはつまり「何かに依存していないもの」
この状態ではA,B,C,Eは何かに依存しているのでダメ
よってこの場合Dしかない
残りA,B,C,Eの順序を決める
その際順序の生成元からD<Xの形は取り除く
つまり
E<A, B<C, B<E
依存していないものはBのみなのでBが2番目
残りA,C,Eで順序の生成元はE<Aのみ
依存してないのはC,Eでどちらがきても良い
‥
数学的には“何かに依存していない”はその“半順序”における“極小元”
そして極小元になり得る必要十分条件がまさに「順序の生成系の中でそれより小さいものがないもの」、すなわち「何かに依存してないもの」とわかる(証明も簡単)
そしてこの作業に於いて順序の生成系にループが有れば、例えばx<y,y<z,z<xのようなものが有ればx,y,zは最後まで取り除かれず、最後には「まだ元は残ってるけど極小元なし」の状態に到達してしまうのでその時点でerror判定して終了すれば良い
632デフォルトの名無しさん
2021/04/21(水) 12:03:04.18ID:v7jA28gl お題が気持ち悪い
単に有向グラフの辺となるものだけ指定すれば良いのに
依存とか書いちゃうから以下みたいな間接依存が許されない雰囲気
AはBに依存
BはCに依存
単に有向グラフの辺となるものだけ指定すれば良いのに
依存とか書いちゃうから以下みたいな間接依存が許されない雰囲気
AはBに依存
BはCに依存
633デフォルトの名無しさん
2021/04/21(水) 19:33:37.67ID:tmGizupL 蟻野郎が順序集合理解してるとも思えない。
634デフォルトの名無しさん
2021/04/21(水) 19:35:00.12ID:/BbfB4Z5635デフォルトの名無しさん
2021/04/21(水) 19:48:52.11ID:Y7fj3JnX 順序集合の定義自体は超簡単じゃね?
順序集合の定理なんか使わないから順序集合なんて言葉を使う必要もないけど
アルゴリズム的には
極大(極小)元の中で名前順の先頭である元を取り出す
を繰り返すだけで良い
取り出せなくなってまだ残っていたらERROR
>>630みたいに無駄に長く説明しなくて良い
順序集合の定理なんか使わないから順序集合なんて言葉を使う必要もないけど
アルゴリズム的には
極大(極小)元の中で名前順の先頭である元を取り出す
を繰り返すだけで良い
取り出せなくなってまだ残っていたらERROR
>>630みたいに無駄に長く説明しなくて良い
636デフォルトの名無しさん
2021/04/21(水) 19:59:05.72ID:tmGizupL 順序集合真面目にやるなら集合と位相について学ぶ必要があるわけで
637デフォルトの名無しさん
2021/04/21(水) 20:12:32.68ID:rPf7kV48 そりゃーC++には半順序がバンバン出てくるから選ばれた人間向けの言語だよ。
638蟻人間 ◆T6xkBnTXz7B0
2021/04/21(水) 22:08:22.58ID:OiYnhzgp >>634
ちゃんと理解して実装したぜ。
https://github.com/katahiromz/OleBow/commit/f65c774b625385e855971adb1275de1fd6ebee0c
循環参照の例がうまくいかないけど。
// :: IBindCtx: IRunningObjectTable
// :: IEnumMoniker: IMoniker
// :: IMoniker: IBindCtx
// :: IMoniker: IEnumMoniker
// :: IRunningObjectTable: IEnumMoniker
// :: IRunningObjectTable: IMoniker
// :: PartitionMoniker: IMoniker
// :: SoapMoniker: IMoniker
ポインタ型とかは後回しでいっかな。
ちゃんと理解して実装したぜ。
https://github.com/katahiromz/OleBow/commit/f65c774b625385e855971adb1275de1fd6ebee0c
循環参照の例がうまくいかないけど。
// :: IBindCtx: IRunningObjectTable
// :: IEnumMoniker: IMoniker
// :: IMoniker: IBindCtx
// :: IMoniker: IEnumMoniker
// :: IRunningObjectTable: IEnumMoniker
// :: IRunningObjectTable: IMoniker
// :: PartitionMoniker: IMoniker
// :: SoapMoniker: IMoniker
ポインタ型とかは後回しでいっかな。
639デフォルトの名無しさん
2021/04/22(木) 06:53:19.23ID:fMSh/hUg 俺ももっと勉強しないとなあ
640デフォルトの名無しさん
2021/04/22(木) 07:08:36.76ID:DXDf8hNh >>620 Ruby
# Array
rule = []
while gets
break unless m = /^\s*(\w)は(\w)?(?:,\s*(\w))*/.match( $_ )
rule << m.to_a[1..] - [nil]
end
solution = []
loop {
free = []
break if rule.delete_if{|a| a.size == 1 && free << a[0] && solution << a[0] }.empty?
free.each{|d| rule.each_index{|i| rule[i] -= [d] } }
}
puts (rule.empty?)? "(#{solution.join(', ')})." : "ERROR"
# Array
rule = []
while gets
break unless m = /^\s*(\w)は(\w)?(?:,\s*(\w))*/.match( $_ )
rule << m.to_a[1..] - [nil]
end
solution = []
loop {
free = []
break if rule.delete_if{|a| a.size == 1 && free << a[0] && solution << a[0] }.empty?
free.each{|d| rule.each_index{|i| rule[i] -= [d] } }
}
puts (rule.empty?)? "(#{solution.join(', ')})." : "ERROR"
641デフォルトの名無しさん
2021/04/22(木) 07:09:10.65ID:DXDf8hNh >>620 Ruby
# Bit演算
rule = []
while gets
break unless m = /^\s*([A-Z])は([A-Z])?(?:,\s*([A-Z]))*/i.match( $_ )
rule << [ m[1].upcase, m.to_a[2..].inject(0){|r,c| (c)? r | (1 << c.upcase.ord - ?A.ord) : r } ]
end
solution = []
loop {
free = []
break if rule.delete_if{|a| a[1] == 0 && free << a[0] && solution << a[0] }.empty?
free.each{|d| rule.each_index{|i| rule[i][1] &= ~ (1 << d.ord - ?A.ord) } }
}
puts (rule.empty?)? "(#{solution.join(', ')})." : "ERROR"
# Bit演算
rule = []
while gets
break unless m = /^\s*([A-Z])は([A-Z])?(?:,\s*([A-Z]))*/i.match( $_ )
rule << [ m[1].upcase, m.to_a[2..].inject(0){|r,c| (c)? r | (1 << c.upcase.ord - ?A.ord) : r } ]
end
solution = []
loop {
free = []
break if rule.delete_if{|a| a[1] == 0 && free << a[0] && solution << a[0] }.empty?
free.each{|d| rule.each_index{|i| rule[i][1] &= ~ (1 << d.ord - ?A.ord) } }
}
puts (rule.empty?)? "(#{solution.join(', ')})." : "ERROR"
642デフォルトの名無しさん
2021/04/22(木) 20:40:45.65ID:euTe4E7l お題
JSONでシリアライズされた未知のm×nの行列が与えられる。
転置行列を返せ。転置行列はシリアライズされていなくてもよい。
例
入力
"[[1,2],[3,4]]"
出力
[[1,3],[2,4]]
JSONでシリアライズされた未知のm×nの行列が与えられる。
転置行列を返せ。転置行列はシリアライズされていなくてもよい。
例
入力
"[[1,2],[3,4]]"
出力
[[1,3],[2,4]]
643デフォルトの名無しさん
2021/04/23(金) 05:15:31.62ID:dol38sZT644デフォルトの名無しさん
2021/04/23(金) 07:10:55.59ID:M88Kc634 当然transpose標準で用意されてる言語はそうなるわなw
645デフォルトの名無しさん
2021/04/23(金) 13:43:38.22ID:Vuss2QH6646蟻人間 ◆T6xkBnTXz7B0
2021/04/27(火) 15:35:20.99ID:CrWxBL6F お題: コマンドラインで動作するエクセルもどきを作れ。入力テキストの中身に特定の形式の「フィールド」(field: 欄)を埋め込んでおく。今回はフィールドは以下のような形式で表現される。
(1) {{=数式}}
(2) {{フィールド名:文字列}}
(3) {{フィールド名:=数式}}
フィールドは{{ }}で囲んだ文字列で指定される。
数式にはフィールド名を変数とする式を指定できる。フィールド名は半角英数字の組み合わせとする。
式は少なくとも、丸カッコと、整数の四則演算と、整数から文字列への変換と、文字列の連結をサポートすること。
入力テキストのそれぞれのフィールドを評価後の値に置き換えたテキストを出力せよ。フィールドの循環参照や式のエラーがあった場合はその場所に「ERROR」と出力せよ。
その他の仕様についてはエクセルをできる限りまねること。
(1) {{=数式}}
(2) {{フィールド名:文字列}}
(3) {{フィールド名:=数式}}
フィールドは{{ }}で囲んだ文字列で指定される。
数式にはフィールド名を変数とする式を指定できる。フィールド名は半角英数字の組み合わせとする。
式は少なくとも、丸カッコと、整数の四則演算と、整数から文字列への変換と、文字列の連結をサポートすること。
入力テキストのそれぞれのフィールドを評価後の値に置き換えたテキストを出力せよ。フィールドの循環参照や式のエラーがあった場合はその場所に「ERROR」と出力せよ。
その他の仕様についてはエクセルをできる限りまねること。
647蟻人間 ◆T6xkBnTXz7B0
2021/04/27(火) 15:52:00.73ID:CrWxBL6F >>646 追記。
フィールド名は英字で始まるものとする。
(入力例)
こんにちは、{{NAME:蟻人間}}さん。
今年は{{:=Y}}年です。来年は{{:=Y+1}}年です。
A={{A:=1}}.
B={{B:=2}}.
A+B+4={{=A+B+4}}.
A*B-2={{=A*B-2}}.
日付: {{Y:=2021}}年{{M:=4}}月{{D:=27}}日
{{:="<"&NAME&">"}}
フィールド名は英字で始まるものとする。
(入力例)
こんにちは、{{NAME:蟻人間}}さん。
今年は{{:=Y}}年です。来年は{{:=Y+1}}年です。
A={{A:=1}}.
B={{B:=2}}.
A+B+4={{=A+B+4}}.
A*B-2={{=A*B-2}}.
日付: {{Y:=2021}}年{{M:=4}}月{{D:=27}}日
{{:="<"&NAME&">"}}
648蟻人間 ◆T6xkBnTXz7B0
2021/04/27(火) 16:21:47.75ID:CrWxBL6F >>647 さらに追記。
{{=数式}}と{{:=数式}}は同じように解釈すること。
{{=数式}}と{{:=数式}}は同じように解釈すること。
649デフォルトの名無しさん
2021/04/27(火) 16:53:41.78ID:B18ZzSzj {{数式}}でいいだろセンスねぇな
650蟻人間 ◆T6xkBnTXz7B0
2021/04/27(火) 17:02:02.42ID:CrWxBL6F651蟻人間 ◆T6xkBnTXz7B0
2021/04/27(火) 17:08:35.63ID:CrWxBL6F >>646 お題を書き直します。
お題: コマンドラインで動作するエクセルもどきを作れ。入力テキストの中身に特定の形式の「フィールド」(field: 欄)を埋め込んでおく。今回はフィールドは以下のような形式で表現される。
(1) {{数式}}
(2) {{フィールド名=数式}}
フィールドは{{ }}で囲んだ文字列で指定される。
数式にはフィールド名を変数とする式を指定できる。フィールド名は英字で始まる半角英数字の組み合わせとする。
式は少なくとも、丸カッコと、整数の四則演算と、値の比較と、整数から文字列への変換と、文字列の連結をサポートすること。等号は二文字の==とする。
入力テキストのそれぞれのフィールドを評価後の値に置き換えたテキストを出力せよ。フィールドの循環参照や式のエラーがあった場合はその場所に「ERROR」と出力せよ。
お題: コマンドラインで動作するエクセルもどきを作れ。入力テキストの中身に特定の形式の「フィールド」(field: 欄)を埋め込んでおく。今回はフィールドは以下のような形式で表現される。
(1) {{数式}}
(2) {{フィールド名=数式}}
フィールドは{{ }}で囲んだ文字列で指定される。
数式にはフィールド名を変数とする式を指定できる。フィールド名は英字で始まる半角英数字の組み合わせとする。
式は少なくとも、丸カッコと、整数の四則演算と、値の比較と、整数から文字列への変換と、文字列の連結をサポートすること。等号は二文字の==とする。
入力テキストのそれぞれのフィールドを評価後の値に置き換えたテキストを出力せよ。フィールドの循環参照や式のエラーがあった場合はその場所に「ERROR」と出力せよ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「特に中国は事態悪化を控えるべき」 日中対立巡りフランス高官言及 ★2 [蚤の市★]
- 【速報】 セブンイレブンの揚げ鶏が半額 223円 が 111円 本日のみ [お断り★]
- 【芸能】『バンダイナムコフェス』上海公演 日本人歌手・大槻マキが歌唱中に強制退場… 急に音を止められスタッフらしき人達に★2 [冬月記者★]
- 中居正広、吹き始めた“追い風”フジ裁判で原告の主張に裁判官が難色、訴訟リスクも激減か 水面下では復帰への動きも活発化 [Ailuropoda melanoleuca★]
- 「怒りに震えて涙が出た」 同性婚認めず「合憲」判断に原告が反発 「差別的な判決だ」 ★3 [ぐれ★]
- 【野球】イチローが苦言「一発退場でいい」 現代野球の振る舞いにチクリ「あっちゃいけない」 審判は「威厳を保てなくなっている」 [冬月記者★]
- 他サポ2025-272
- 他サポ2025-270
- 【STARDOM】スターダムワールド Part.33
- ジェフユナイテッド千葉実況 vs 今治
- ジュビロ磐田を応援するにぃ~ vs 鳥栖
- 札幌実況 ★2
- 日テレ「高市首相の台湾有事発言は越えてはいけないライン。岡田が悪いは筋近い」政府関係者「踏み込みすぎ。明らかに答弁ミス」 [931948549]
- 台湾人「えっ、待って!日本人は台湾台湾言ってて大好きっぽいのになんで全然台湾に来ないの…?」 [271912485]
- 【悲報】たぬかな姫、流石に危険を感じたのか返金対応を開始
- AI動画、限界突破。もうこれ実写だろ [485187932]
- 浜田雅功、おわる [329329848]
- ふなっしょい🍬なのらああああああwww🏡
