プログラミングのお題スレ Part22 (863レス)
プログラミングのお題スレ Part22 http://mevius.5ch.net/test/read.cgi/tech/1691038333/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
1: デフォルトの名無しさん [] 2023/08/03(木) 13:52:13.20 ID:/xW45k0z プログラミングのお題スレです。 【出題と回答例】 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/ 宿題は宿題スレがあるのでそちらへ。 ※前スレ プログラミングのお題スレ Part21 https://mevius.5ch.net/test/read.cgi/tech/1668333636/ http://mevius.5ch.net/test/read.cgi/tech/1691038333/1
3: デフォルトの名無しさん [] 2023/08/06(日) 12:21:14.08 ID:/9zIb/V0 お題 1行につき一つの文章が入力されます アルファベット26文字がすべて含まれている文章をフィルタリングしてください 大文字小文字は区別しません そのうちもっとも短い文章を出力してください 入力 The quick brown fox jumps over a lazy dog. The jay, pig, fox, zebra and my wolves quack! Pack my box with seven dozen liquor jugs. The horse, pig, fox, zebra and my wolves quack! Jackdaws love my small sphinx of quartz. Jackdaws love my big sphinx of quartz. The quick brown fox jumps over a lazy cat. Pack my box with five dozen liquor jugs. 出力 Jackdaws love my big sphinx of quartz. http://mevius.5ch.net/test/read.cgi/tech/1691038333/3
8: デフォルトの名無しさん [] 2023/08/07(月) 01:25:47.55 ID:dolrRGoi >>6 それなんて言語? http://mevius.5ch.net/test/read.cgi/tech/1691038333/8
9: 9 [sage] 2023/08/07(月) 01:46:18.23 ID:PMO8D1QO >>3 Perl5 for (<DATA>) { my %h = map{$_ => 1} grep{/[a-z]/i} split ''; push @a, $_ if 26 == keys %h; } @s = sort{length($a) <=> length($b)} @a; print $s[0]; __DATA__ The quick brown fox jumps over a lazy dog. The jay, pig, fox, zebra and my wolves quack! Pack my box with seven dozen liquor jugs. The horse, pig, fox, zebra and my wolves quack! Jackdaws love my small sphinx of quartz. Jackdaws love my big sphinx of quartz. The quick brown fox jumps over a lazy cat. Pack my box with five dozen liquor jugs. ※ 見易くするためインデントを全角スペースに置換してあります。 実行結果: $ perl 22_3_az26.pl Jackdaws love my big sphinx of quartz. http://mevius.5ch.net/test/read.cgi/tech/1691038333/9
17: デフォルトの名無しさん [] 2023/08/10(木) 13:37:16.01 ID:YYBOmFjO >>3 Perl https://paiza.io/projects/05DzwASHT6-4bVjpenNDBQ http://mevius.5ch.net/test/read.cgi/tech/1691038333/17
40: デフォルトの名無しさん [] 2023/08/15(火) 16:29:06.61 ID:eu+UdA0l このサイトより http://agora.ex.nii.ac.jp/digital-typhoon/ 2023/8/1/0/0 から 2023/8/16/23/0 まで 表示日時を変更しながら1時間毎の静止気象衛星画像(地球)を収集し (衛星画像 は 可視光 2048x2048 程度 512x512 等も可 起動オプションで指定出来るとボーナス特典) gif animation または png animation ファイルに変換せよ 例 8/14/0/0 http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/2023/512x512/HMW923081315.globe.1.jpg 8/15/0/0 http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/2023/512x512/HMW923081415.globe.1.jpg 8/15/15/0 http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/2023/512x512/HMW923081505.globe.1.jpg http://mevius.5ch.net/test/read.cgi/tech/1691038333/40
64: デフォルトの名無しさん [sage] 2023/08/24(木) 05:04:40.60 ID:UkV1PQmo お題:2Dゲームのスクロール処理 整数の二次元配列(高さ50, 横幅100)上にランダムに整数1〜9が200個配置される。 この配列を高さ20, 横幅40の矩形領域に切り取って表示したい。キーボードの入力(l, r, t, b)で矩形領域を移動させ切り取る領域を変化させよ。 http://mevius.5ch.net/test/read.cgi/tech/1691038333/64
71: デフォルトの名無しさん [sage] 2023/08/26(土) 20:03:48.42 ID:LJcWLtrE 文字列Sの中に含まれる回文をすべて列挙ってどうやったらいいですかね(*_*) aとかbみたいな一文字でも回文とみなしますです 文字列Sは1文字以上100文字以下で、半角英字であることがわかってます とんでもない計算量になる気がするのですが、鮮やかなやりかたってないものかと…トホ(ヽ´ω`) http://mevius.5ch.net/test/read.cgi/tech/1691038333/71
85: デフォルトの名無しさん [sage] 2023/09/20(水) 14:42:58.26 ID:I55f6i4N お題 abc1.mp4 abc2.mp4 .. abc20.mp4があるとします これを名前順でソートできるようにするため abc001.mp4 abc002.mp4 ... abc020.mp4 とリネームしてください http://mevius.5ch.net/test/read.cgi/tech/1691038333/85
101: デフォルトの名無しさん [sage] 2023/09/28(木) 08:18:15.29 ID:q8VwFY1b お題 文字列S=abcdefghij(10文字)が与えられて 配列[0,4,7]が与えられる このときSの0番目を4番目、4番目を7番目、7番目を0番目に移動した文字列を出力するプログラムを書いてください http://mevius.5ch.net/test/read.cgi/tech/1691038333/101
111: デフォルトの名無しさん [] 2023/09/30(土) 17:32:44.04 ID:xxjzuZuq お題 文字列が入力されます 赤と緑を入れ替えて 黒と白を入れ替えて 黄と青を入れ替えてください 例 入力: 緑のカバンに500万入れて白の紙で黄色のカバン言うて書きながら赤のカバン言いながら置いてくれたら俺黒のカバン言いながら取りに行くわ 出力: 赤のカバンに500万入れて黒の紙で青色のカバン言うて書きながら緑のカバン言いながら置いてくれたら俺白のカバン言いながら取りに行くわ http://mevius.5ch.net/test/read.cgi/tech/1691038333/111
127: デフォルトの名無しさん [sage] 2023/10/14(土) 00:00:08.85 ID:sMwx6jpS お題:角カッコの列が入力されるのでカッコの対応が取れていたら1,取れていなかったら0と表示せよ < [[]] > 1 < [[] > 0 http://mevius.5ch.net/test/read.cgi/tech/1691038333/127
134: デフォルトの名無しさん [sage] 2023/10/18(水) 20:40:59.79 ID:4ifgnZXl お題:Pythonのmath.ulp()と同機能の関数 引数が正規化数限定のサブセットでも可(その旨を明記)。 Pythonで実装する場合は(もちろん)math.ulp()を使ってはならない。 http://mevius.5ch.net/test/read.cgi/tech/1691038333/134
156: デフォルトの名無しさん [sage] 2023/11/25(土) 20:07:06.40 ID:zpqT0hBE お題:ランダムに1から9999までの整数を得た時、何回で全種類出揃うか確認せよ 擬似乱数列生成法については指定しないものとする ruby https://ideone.com/rucuHk require 'set' r = 1..9999 c = r.to_a.fill(0) s = r.to_set while !s.empty? n = rand(r) c[n - r.first] += 1 s.delete n end p c.sum ↓ 84736 http://mevius.5ch.net/test/read.cgi/tech/1691038333/156
171: デフォルトの名無しさん [sage] 2023/11/30(木) 06:46:26.20 ID:/rzYr39l お題:英字の羅列された文字列が与えられる。この文字列を分析して数字列を出力せよ。数字の表記ルールは、その文字の両隣の文字がASCIIコードにおける奇数だったら1、そうでなければ0. http://mevius.5ch.net/test/read.cgi/tech/1691038333/171
179: デフォルトの名無しさん [] 2023/12/13(水) 09:27:48.18 ID:NbIWTS6w お題 ビールの空きビンをN本集めると新品のビール1本と交換してもらえる あなたが新品のビールをP本持っている そのとき、あなたが飲めるビールはR本である N, Pを引数としてRを返す関数を定義してください http://mevius.5ch.net/test/read.cgi/tech/1691038333/179
187: デフォルトの名無しさん [] 2024/01/16(火) 00:33:05.98 ID:n8j0XaXx お題:時刻の文字列が与えられる。その時刻から1秒後の時刻を出力せよ。 例 入力:00:00:00 出力:00:00:01 入力:23:59:59 出力:00:00:00 http://mevius.5ch.net/test/read.cgi/tech/1691038333/187
206: デフォルトの名無しさん [] 2024/02/02(金) 06:41:15.23 ID:CC6U77IS お題 入力データをグループ分けして出力せよ 入力データの、= の左右は同じグループである。 出力する順番は、入力データの出現順とする UnionFind を使えば良いかも 入力データ ["a1=a2", "b1=b2", "b3=b2", "c1=c2", "e1=e2", "a3=a4", "c3=c4", "e1=e3", "a2=a4", "c3=c1", "b3=a4", "c2=d1", "a4=a5", "d2=c1", "b4=b3", "d3=c3"] 出力 [["a1", "a2", "b1", "b2", "b3", "a3", "a4", "a5", "b4"], ["c1", "c2", "c3", "c4", "d1", "d2", "d3"], ["e1", "e2", "e3"]] Ruby で、UnionFind を自作してみた。 下はユニットテストです https://paiza.io/projects/e6nk1EOu3utyWpV3iuWAFQ?language=ruby https://paiza.io/projects/kjeVtTKeDwEnWVrBU5_nbg?language=ruby http://mevius.5ch.net/test/read.cgi/tech/1691038333/206
234: デフォルトの名無しさん [sage] 2024/02/14(水) 09:32:06.19 ID:JjlrBdlD お題:数値が入力されるのでその数値に最も近い回分数を出力せよ 回分数とは回分になっている数(負数含まず)のことである 最も近い回分数が2つある場合は2つとも出力せよ 入力 0 出力 0 入力 17 出力 22 入力 100 出力 99 出力 101 http://mevius.5ch.net/test/read.cgi/tech/1691038333/234
249: デフォルトの名無しさん [] 2024/02/17(土) 20:00:17.98 ID:k6cg1rdP >>234 >>239のC#版 https://ideone.com/glAEMw Julia版 https://ideone.com/cbP5Dm http://mevius.5ch.net/test/read.cgi/tech/1691038333/249
266: デフォルトの名無しさん [sage] 2024/02/21(水) 13:54:29.89 ID:ve9Dz9D8 >>264 私は解答は提出していないが、ざっくりと自分が思いついた方法 まず、以下のような操作を考える A. 1234という入力に対して1234321を返す B. 1234という入力に対して12344321を返す ここで、xという入力に対してA,Bが返す数をA(x),B(x)と表すことにする 次に、与えられた数の桁数で場合分け (1)与えられた数字の桁数が奇数の場合 例として5桁の数字を考える N=a*10000+b*1000+c*100+d*10+e*1 (a~eは1桁の自然数, aは0でない) が与えられたとき、 M=a*100+b*10+c*1 とすると、N=10000の場合を除いて、Nに最も近い回文数は A(M), A(M+1), A(M-1) の3つの候補に絞られる(厳密にはA(M)とNとの大小比較からA(M±1)の何れかは明らかに候補にならないので2つを考えれば良い) N=10000の場合は9999と10001が答え (2)与えられた数の桁数が偶数の場合 例として6桁の数を考える (1)と同様に N=a*100000+b*10000+c*1000+d*100+e*10+f*1 に対して M=a*100+b*10+c*1 とすると、N=100000の場合を除いて B(M), B(M+1), B(M-1) のどれかがNに最も近い回文数(厳密には以下略) N=100000の場合は99999と100001が答え 十分大きな数に対しては虱潰しに回文判定していくより速く求まる http://mevius.5ch.net/test/read.cgi/tech/1691038333/266
282: ◆QZaw55cn4c [sage] 2024/02/24(土) 14:25:41.40 ID:NZEL8Kud 異なる自然数 a, b (a > b) における a^3 - b^3 を「a, b の三乗差」と呼ぶことにする。 異なる5通りの組(a, b) (c, d) ... (j, k) について三乗差がすべて相等しいとき その組(a, b)...(j, k) および三乗差自体を求めよ 異なる6通りの組で三乗差が相等しい場合があるかも検討せよ http://mevius.5ch.net/test/read.cgi/tech/1691038333/282
296: デフォルトの名無しさん [] 2024/03/01(金) 22:22:26.10 ID:6k2oCbjk >>282 C++ https://ideone.com/1c4s5I >>294はa, bの二重ループ内でa³ − b³をD = 5001で割った余りrにより区分していたが、 rのループ内でa, bを変化させるように変更したら、2次元配列がなくなってすっきりした。 その結果、メモリ使用量が激減し、nが大きい場合でも実行できるようになった。 http://mevius.5ch.net/test/read.cgi/tech/1691038333/296
301: デフォルトの名無しさん [] 2024/03/06(水) 22:35:52.23 ID:lIZep5aT >>282 C++ https://ideone.com/PG6UiY >>300の実行時間を分析すると、最も時間が掛かっているのは46〜と47行目だと判明した。 そこで配列ABの第1次元と第2次元を入れ替えてみると、n = 5000では変わらないが、 1万, 2万, 5万, 10万, 20万では35%前後高速になった。これは、改良前には第2次元の添字が 小さい要素に書き込みが集中しているため、改良後のように第1次元に入れ替えた方が 纏まったメモリ領域に書き込みが集中しキャッシュの効きが良くなるからだと考えられる。 一方、n = 100万で高速化しないのは、書き込み集中領域が大きすぎるからだろう。 https://ideone.com/6RzW0n n = 100万の場合にはr2の値によってデータを多数の列へ振り分けるのをやめ、列を1つにして、 その内部でr2の値により2種類に区分し、それぞれの内部で2種類にさらに区分し、…と再帰的に 区分していけば(要するにクイックソートの変形版)、1つの配列内での要素のスワップだけで済み、 キャッシュの効きが改善されるとの予想通り、n = 100万で実行速度は>>296より25%速くなった。 (原理的には>>300より非効率なのでn = 5000では>>300より当然遅い) http://mevius.5ch.net/test/read.cgi/tech/1691038333/301
304: デフォルトの名無しさん [sage] 2024/03/09(土) 22:47:01.30 ID:v99WCN19 お題 460円 580円 600円 の3種類の商品があります これらを組み合わせて合計10個買ったら5360円になりました 組み合わせを求めるプログラムを書いてください ちなみに答えの一つは ・600円×2 ・580円×4 ・460円×4 だそうです https://rio2016.5ch.net/test/read.cgi/cigaret/1706726196/56-57 http://mevius.5ch.net/test/read.cgi/tech/1691038333/304
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.067s