[過去ログ] プログラミングのお題スレ Part15 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(5): 2019/07/28(日)19:39 ID:832c/ukY(1) AAS
プログラミングのお題スレです。
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
結果がある場合はそれも
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
外部リンク:ideone.com
省11
3(3): 2019/07/28(日)21:08 ID:OTB4c+BP(1) AAS
※QZは書き込み禁止
4(4): 2019/07/28(日)21:32 ID:MO+jaDzY(1) AAS
お題
とあるゲームでは、10面ダイスによってスコアを次のように定める
1. x個のダイスを全部振る
2. 振ったダイスのうち、最大の出目をスコアとする
3. 出目がc以上のダイスが存在するなら、その全てのダイスを使って同じ試行を行い、スコアに加算する
例えばc=7の時、2個のダイスの結果が(10,7)→(8,3)→(2)ならスコアは10+8+2=20となる
最初に振るダイスの個数Nとc(≧2)が分かっている時、スコアの期待値を求めよ
5(3): 2019/07/29(月)11:14 ID:3vvajVS9(1/4) AAS
>>4
外部リンク:ideone.com
C++,モンテカルロしてみた。
値がちょっと怖い値になったので、バグ報告歓迎。
6(3): 2019/07/29(月)11:34 ID:3vvajVS9(2/4) AAS
外部リンク:ideone.com
>>5が不安だったので、出力変えてみたけど、最大値で500近くになるんだな。
何かビビった。
23(5): 2019/07/30(火)23:24 ID:2GPXM96o(1) AAS
お題: 1 + 1 を計算させて 3 と出力させなさい
32(4): 2019/07/31(水)17:25 ID:6BPSvdm1(2/2) AAS
プログラミングのお題スレ Part14
2chスレ:tech
漏れは、前スレの981 ではないですが、この問題の応用で、
括弧のネストの深さの最大値を求めよ
括弧の対応が取れていない場合は、-1 を出力せよ。
2種類の括弧が順序通りに、閉じていないものも、-1 です
ヒント : stack を使うと良いかも
省5
48(8): 2019/08/02(金)20:14 ID:fXsI78QL(1) AAS
お題: 数字が与えられるので、その数字を元の数より大きくなるように再構築せよ
大きくできなければ元の数字をそのまま出力せよ
例:
in < 123
out > 231, 213, 321, 312
in < 921
out > 921
73(7): 2019/08/06(火)18:46 ID:/2t+ALeN(1) AAS
お題: スターリンソートを実装せよ
91(14): 2019/08/10(土)22:54 ID:wV6Kn1Zu(1) AAS
お題:
与えられた数列の要素の中で他と被っていない最小のものを求めよ
被っていない要素が存在しないときは-1を出力すること
例:
1,1,1,1,2,2,2,3,3,4 -> 4
1,2,3,4,5,5,4,3,2,1 -> -1
3,1,4,1,5,9,2,6,5,3,5 -> 2
120(12): 2019/08/16(金)00:38 ID:eRShYMGh(1/2) AAS
お題: 任意の2桁の自然数の各桁を、1桁になるまで掛け算する回数の最大回数とその数を示せ
15なら1x5=5と1回
93なら9x3=27, 2x7=14, 1x4=3と3回
137(3): さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/08/17(土)15:58 ID:hkO+8710(1/4) AAS
お題: オカダンゴムシには進行中に壁にぶつかると左へ、次は右へ(あるいは右へ、次は左へ)と交互に曲がっていく習性がある。この行動は「交替性転向反応」といい、左右に交互に曲がる事で天敵から逃げられる確率を高めているといわれている(ウィキペディアより引用)。
何もない整数平面上にスタート地点(S)とゴール地点(G)が与えられる。仮想ダンゴムシ(@)の周辺に壁(#)をいくつか作って、スタート地点からゴール地点まで誘導せよ。
ただし、ダンゴムシは最初は右向きを向いていて、最初にぶつかったら左に曲がるものとする。
90度曲がって目の前にすぐに壁がある場合は同じ方へもう90度曲がるものとする。壁はいくつ作ってもよい。
例) S=(0, 0), G=(5, 2)
→#={(6, 0)}.
例) S=(1, 2), G=(-1, 1)
→#={(2, 2), (1, 3), (0, 2), (1, 0)}.
191(3): 2019/08/28(水)00:57 ID:iZEqAFR9(1/11) AAS
激お題:自動プログラミングプログラムを作るか日本語で説明せよ。方法は各自の言語にゆだねる。
外部リンク:ideone.com
自分は上記のようなものを作った。
4kb位のプログラムができるのに多分数年かかる。
コンパイラの通ったかというのを取れれば文章的に正しいやつは何かを残していく。
でも、コンパイラに投げる動作はわからないので入れてない。
228(14): 2019/08/30(金)06:09 ID:N+Bub+CM(1/2) AAS
お題
1億以下の同じ数字でできている数(1,22,777など)をすべて表示する
245(5): 2019/08/31(土)08:45 ID:h26kuCJS(1) AAS
お題
>>228 を求めることができる
特に最適化を施さないナイーブな実装(例えば>>238 )を書いて
その実行にかかる時間(ミリ秒、秒等)を計測し出力してください
なお遅い言語処理系で1億以下が無理な場合は1千万以下でも構いません
257(8): 2019/09/01(日)18:40 ID:lGQcNl0x(1) AAS
お題: nバイトのデータxをビット列にして出力しなさい
272(4): 2019/09/03(火)03:13 ID:4SpqHsfM(1) AAS
数学的な解き方わからず
このx>=3の自然数解を見つける
a>b、 (a^2 - b^2)^x + (2ab)^y = (a^2 + b^2)^z
313(5): 2019/09/04(水)11:24 ID:P7o6e2y0(1/2) AAS
お題: 平面上にいくつかの円 (内部も含む円) がある
それが重なったり重ならなかったりしていて、最も重なっている箇所ではN個の円が重なっているとする
このとき、各円の座標と半径が与えられた場合にNを返すプログラムを書け
339(7): 2019/09/06(金)21:58 ID:h6IBFFVJ(1/6) AAS
材料グループAと材料グループBがあるとする。
それぞれには、ランダムな固有値を持っており、
固有値の差が、ある数値以下の組み合わせのみ使用可能とする。
ただし、材料グループA、B内の材料は一度使うとなくなるため一度しか組み合わせれない。
それぞれのグループの材料が100ずつあったとして適切に組み合わせれば
全てがマッチングできる。ただ人組でもペアを間違えるとマッチングできない。
こういったことを実現するためには、どういった考え方でプログラミングすればいいでしょうか。
373(12): 2019/09/08(日)23:48 ID:gIfFAHmp(1) AAS
お題
与えられた数列の、隣り合う2要素の差のリストを作る関数等を作ってください。
入力数列例
3 1 4 1 5 9 2 6 5
出力数列例
-2 3 -3 4 4 -7 4 -1
余力があれば、ファイルなどから非常に長い数列を与えられても対処できる実装を試みてください
(外部リンク[html]:gushwell.ldblog.jp を一部改変)
399(3): 2019/09/10(火)21:25 ID:OfzP/6E7(1) AAS
>>392
>>377 も頼む!
400(9): 2019/09/10(火)23:08 ID:aMyCuNre(1) AAS
お題
スネークケースをアッパーキャメルケースに変換せよ
アンダースコアを単語の区切りとみなし、単語の先頭は大文字に、先頭以外は小文字に変換すること
また、単語を連結したときに数字が連続する場合はアンダースコアを残すこと
(例)
snake_case => SnakeCase
ODAI00_99_TEST => Odai00_99Test
x_0_x => X0X
UpperCamelCase => Uppercamelcase
412(14): 2019/09/11(水)21:23 ID:RlhjBlE6(1) AAS
お題:リストの奇数位置にある要素のみを含むリストを作れ
ただし、先頭要素を1番目と数える
[1, 2, 3, 4, 5]
↓
[1, 3, 5]
rust
外部リンク:ideone.com
octave
外部リンク:ideone.com
460(6): 2019/09/16(月)15:26 ID:eLMc9ESO(1) AAS
お題:1から100までの自然数がある。ランダムに30個抜き出せ。
467(11): 2019/09/17(火)17:37 ID:IoM9hprN(1/2) AAS
プログラム言語標準の文字列(e.g. java.lang.String) が与えられ、ランレングス圧縮した結果をプログラム言語標準の文字列で返す関数を作成してください。ただし、入力に数字が入っていた場合のケースは考慮しなくても構いません。
テストケース(関数名 = f)
f("あいうえお") -> "あいうえお"
f("ああいいうう") -> "あ2い2う2"
f("あいうあいう") -> "あいうあいう"
496(7): 2019/09/20(金)04:34 ID:vpcMUgg5(1) AAS
お題
以下の、列区切りが空白である入力文字列を、
最後の列の数値が、小さい順番で、行を並べ替えよ
答えは、上下が反転する
a b c 44
x y 33
z 22
11
504(10): 2019/09/21(土)00:27 ID:dB3ZeAcF(1) AAS
お題: 同じ文字列がいくつあるか数えるプログラムを作成しなさい。
※出力は出現回数順でソートされている必要はありません。
入力
Hoge
Fuga
Foo
Fuga
Foo
Hoge
Bar
省6
514(8): 2019/09/21(土)16:12 ID:ZyFDPzPp(1) AAS
お題:正の整数が与えられるので、英語の序数に変換せよ
1 => 1st
23 => 23rd
12 => 12th
521(7): さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/09/21(土)20:51 ID:BmADEcuL(1/3) AAS
お題: 与えられた西暦年月日を年号年月日に変換しなさい。ただし、変換するのは大正時代から令和までとし、範囲外であればERRORを表示しなさい。
522(8): さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/09/21(土)21:04 ID:BmADEcuL(2/3) AAS
お題: YYYY/MM/DD形式で与えられた西暦年月日の文字列が正しい年月日を表しているかどうか判定せよ。
523(3): 蟻人間 ◆T6xkBnTXz7B0 2019/09/21(土)21:24 ID:BmADEcuL(3/3) AAS
>>522 >>521の順に解いて下さい。
1970/01/05
1990/12/31
2019/04/28
2019/05/01
1920/02/29
541(3): 2019/09/22(日)14:55 ID:yzO2ACAf(1/4) AAS
AA省
548(7): 蟻人間 ◆T6xkBnTXz7B0 2019/09/22(日)20:58 ID:Pb++lLAf(1/2) AAS
お題: マイドキュメントにある全てのファイルの更新日時を取得し、曜日ごとに平均時刻を集計せよ。
559(5): 蟻人間 ◆T6xkBnTXz7B0 2019/09/22(日)22:44 ID:rZK31NHQ(3/5) AAS
お題: 自分のプログラムファイルが何バイトかを表示せよ。
568(3): 蟻人間 ◆T6xkBnTXz7B0 2019/09/23(月)00:23 ID:JAc5gnVl(1) AAS
>>548
出題の狙い。犯罪捜査において被疑者または関係者の生活パターンを知りたいときに、パソコンのファイルの日時の統計のデジタル鑑識により、パソコンの使用実態が類推可能であることを示すものである。
582(5): 2019/09/27(金)21:29 ID:vBAnAZ37(1) AAS
お題:リスト等の重複する要素を削除し、大きい順に並び替えよ
[3, 1, 4, 1, 5]
↓
[5, 4, 3, 1]
java
外部リンク:ideone.com
rust
外部リンク:ideone.com
ruby
外部リンク:ideone.com
省2
588(4): 2019/09/28(土)01:09 ID:HcOq9X6n(2/7) AAS
お題: 指定のディレクトリ以下にある全てのファイルの更新日時を取得し、曜日毎、及び時間毎にしてグラフにして出せ。
これは同じ曜日の同じ時間で更新されているファイルのカウントということね。例えば今週と先週の土曜日の7:00代の更新ファイルが一つづつあれば土曜日7時代のカウントが2になる。
で、グラフにする時は表示方法はなんでもいいので例えばテキストでアスタリスク2個で出す。(後でこちらでもプログラム作るのでそれ参考にしてもいい)。
ディレクトリの指定方法は普通なら引数での指定が良いだろうけどプログラムに埋め込んでも標準入力やファイルから読み込んでも何でもいい。それはこのお題では肝心な事ではないので。
589(3): 2019/09/28(土)02:06 ID:63IK4172(1/3) AAS
それだったらファイル、ディレクトリ操作は除外してランダムに日時発生させるとかでいいだろ
機種依存するので
ランダム生成は依存しない
620(4): 蟻人間 ◆T6xkBnTXz7B0 2019/09/30(月)02:22 ID:i5LhrskR(1) AAS
お題: サイズ15x15の空白マス('_')がある。黒マス('#')をいくつかランダムに置いて、空白マスが縦または横向きに5マス連続に並ばないようにしたい。ただし、
1. なるべく早く黒マスを配置せよ。
2. 実行のたびに常にランダムにまんべんなく配置せよ。
3. 黒マスが縦または横に隣り合ってはいけない。
4. (ア)全て並べる、そして(イ)並びが正しいか検証する、の(ア)と(イ)を15回繰り返してかかる時間を実測せよ。
629(14): 2019/10/01(火)07:35 ID:NlppalS8(1/3) AAS
お題
言語限定(コマンドプロンプト・パワーシェル・bash/csh等のUNIXシェル)
10000までの素数を列挙して出力
当然だが、スクリプト言語処理系やコンパイラに丸投げさせるのは禁止
というか、技量の程度が疑わてしまうのでお勧めしない
637(3): 2019/10/01(火)12:56 ID:ygg8X6aa(1/6) AAS
>>629 コマンドプロンプト(Windows)
外部リンク:ideone.com
おそい…コマンドプロンプトよーわからんですよ
648(3): 2019/10/01(火)22:03 ID:x7eW/FrR(1) AAS
お題: ハッシュマップを実装せよ
675(5): 2019/10/04(金)14:58 ID:BEYT4ZYw(1) AAS
シェルスクリプトって元々プログラミング言語じゃないからな。 あくまでも補助的なもの。
それでプログラミングすると言うのは本末転倒。 間違った方向性でしかない。
貧弱な環境でも使えるものと言うなら、BASIC や、Python の組込型がコンパクト。 PIC や子供のおもちゃにすら入ってる。 百円のチップにすら入ってるからな。
コンパイラでも良いのならCが最もシンプル。
690(4): 2019/10/05(土)20:48 ID:oVPf95FK(1) AAS
お題:
外部リンク:regexcrossword.com
のようなHEXマスの正規表現クロスワードパズルのソルバーを実装せよ。
n=1でいいので処理時間も報告せよ。
696(3): 2019/10/06(日)05:37 ID:oevqPO9x(1) AAS
お題: L形図形を表示する
[入力]
1
[出力]
a
bc
[入力]
2
[出力]
ba
省14
703(8): 2019/10/06(日)17:34 ID:kRqXlweR(1) AAS
お題: プログラム実行後にプログラム自身を削除するプログラムを作れ
実行内容は以下のメッセージを出力する
「このプログラムが起動するのは一度きりである。実行ののち、消去される。」
744(11): 2019/10/11(金)21:55 ID:zKaC3xv0(1) AAS
お題:0〜9999の整数について数字和を求め、数字和の頻度を集計せよ
ocaml
外部リンク:ideone.com
c
外部リンク:ideone.com
octave
外部リンク:ideone.com
ruby
外部リンク:ideone.com
832(14): 2019/10/23(水)20:25 ID:LcbXQT4h(1) AAS
お題:整数配列の奇数要素のみをソートした配列を返す処理を書いてください
入力例:[6, 5, 4, 3, 2, 1]
出力例:[6, 1, 4, 3, 2, 5]
858(12): 2019/10/26(土)07:11 ID:I0XoRu/q(1/2) AAS
お題:>>832 に「偶数要素は2で割って降順ソート」という要件を追加してください
すでに回答済みの場合は最少限の変更でのご対応で腕(もしくは言語のポテンシャル)を見せてください
859(5): 2019/10/26(土)07:27 ID:I0XoRu/q(2/2) AAS
>>858
入力例:[0, 9, 8, 4, 6, 5, 1, 2, 7, 3]
出力例:[4, 1, 3, 2, 1, 3, 5, 0, 7, 9]
899(5): 2019/11/01(金)22:31 ID:5BPqTvCN(1) AAS
お題: 3^3^3^... のような反復指数を10の反復指数に近似するプログラムを作成しなさい。
入力されるそれぞれの指数は1より大きい実数とします。
計算後の最も右の指数xは 1<x≦10 としてください。
例:
3^3^3^3^3^3 = 10^10^10^10^10^1.099
2.718^2.718^2.718^2.718^7.705 = 10^10^10^10^2.983
(5.0e+50)^(6.0e+60)^(7.0e+70)^(8.0e+80)^(9.0e+90) = 10^10^10^10^10^10^1.968
1.1^1.1^1.1^1.1^1.1 = 1.112
909(4): 2019/11/03(日)00:32 ID:ORedds2P(1) AAS
偶数の場合は半分に、奇数の場合は3倍して1加算して結果が1になるまでその数値を出力してください。
1まで出力して完了です。
単純だけど、どこまで短く書ける?
917(6): 2019/11/04(月)07:30 ID:T8mOMaiU(1) AAS
お題:
m から n までの整数のうち、桁数字の和が s になるものをすべて列挙する
関数を書け。
具体的に:
1 から 100 までの整数のうち、桁数字の和が 12 になるものは、
39、48、57、66、75、84、93 である。
関数の実行例:
f(1, 100, 12) → [39, 48, 57, 66, 75, 84, 93]
941(13): 2019/11/12(火)05:31 ID:oeG9wEYf(1) AAS
お題
スレ立てるまでもない質問はここで 152匹目
2chスレ:tech
の3番の問題を勝手に解く
988(4): 2019/11/16(土)09:38 ID:R3eXoa4h(1/2) AAS
お題: 標準入力から読み取った文字列に対して変換候補の単語を表示するスクリプトを作れ
変換候補は 外部リンク[html]:www.cs.cmu.edu のテキストを元にし、英文のみの対応とする
例:
in < on
out > ['on', 'once', 'one', 'only']
in < we
out > ['well', 'went', 'were']
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.260s*