プログラミングのお題スレ Part21

■ このスレッドは過去ログ倉庫に格納されています
2022/11/13(日) 19:00:36.84ID:ZCYlhUwL
プログラミングのお題スレです。

【出題と回答例】
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/

宿題は宿題スレがあるのでそちらへ。

※前スレ
プログラミングのお題スレ Part20
https://mevius.5ch.net/test/read.cgi/tech/1624028577/
2023/02/19(日) 16:38:47.61ID:H7J+ByWh
>>415
haskell

https://ideone.com/VHHFhk

春分の日、秋分の日は内閣府のhpにも2023,2024しかない
しゃあないのでwikiにあった2299年までのデータベース利用
数式に起こせるかもしれないけどどのみち未来永劫使えるわけでもなし、そんな俺様公式使ってもしゃあないし
曜日の計算はツェラーの公式
2023/02/19(日) 16:52:57.61ID:tpbM8io3
お題: かな漢字混じり文を入力とし、それに含まれるHTMLの特殊文字をエスケープ処理し、さらに漢字にHTMLのルビを振ったHTML文字列を出力せよ。カタカナにはルビを振る必要はないものとする。

「親子丼を食べたい。」→「<ruby>親子丼<rt>おやこどん</rt></ruby>を<ruby>食<rt>た</rt></ruby>べたい。」
「チャーハン美味しい!」→「チャーハン<ruby>美味<rt>おい</rt></ruby>しい!」
「電話に出んわ」→「<ruby>電話<rt>でんわ</rt></ruby>に<ruby>出<rt>で</rt></ruby>んわ」
423デフォルトの名無しさん
垢版 |
2023/02/19(日) 16:56:15.40ID:1QQUowPQ
>>415
Java
https://paiza.io/projects/dt5Wqy46kXUFqhS60ND_ow?language=java
2023/02/19(日) 17:07:42.42ID:PUYJwCgy
# 10進数128ビット浮動小数点数をIEEE754内部表現の2進数と16進数に変換する関数(python)
https://paiza.io/projects/DjBcWyn3v0D-xpwVQ7FrCg?language=java

上記のプログラムにはバグがあり、特定の値を変換できません。
どう直したら全ての128ビット浮動小数点数を網羅できるのかお考え下さい。
425デフォルトの名無しさん
垢版 |
2023/02/19(日) 23:35:38.77ID:k8LiuZ++
>>422
PowerShell (Microsoft Excelがインストールされている環境限定。例文に特殊文字はないのでエスケープ処理は省略)

Add-Type -AssemblyName Microsoft.VisualBasic
$Excel = New-Object -ComObject Excel.Application
foreach ($s in "親子丼を食べたい。", "チャーハン美味しい!", "電話に出んわ") {
 $r = [Microsoft.VisualBasic.Strings]::StrConv($Excel.GetPhonetic($s), 32)
 $p1 = $s -replace "[^\p{IsHiragana}\p{IsKatakana}\p{P}]+", "(.+)"
 $p2 = [Microsoft.VisualBasic.Strings]::StrConv($p1, 32)
 $t1 = [RegEx]::split($s, $p1)
 $t2 = [RegEx]::split($r, $p2)
 $t3 = [RegEx]::split($p1, "\(\.\+\)")
 ((0..($t1.count - 1) |% {"<ruby>$($t1[$_])<rt>$($t2[$_])</rt></ruby>$($t3[$_])"}) -join "") -replace "<ruby><rt></rt></ruby>", ""
}
2023/02/20(月) 00:32:29.95ID:S/Y0RwmV
応用お題: かな漢字混じり文が回文かどうか判定。
2023/02/20(月) 00:35:10.73ID:S/Y0RwmV
応用お題: 現在の日時からX営業日後を計算せよ。
2023/02/20(月) 00:39:43.23ID:S/Y0RwmV
お題: 1番目、2番目、3番目など、いわゆる順序数は、英語で1st, 2nd, 3rdなどのように、アラビア数字と英字を混ぜて表記することがある。
入力された整数をこのような英語の順序数として出力せよ。
2023/02/20(月) 00:40:21.61ID:S/Y0RwmV
お題: 任意の英単語を複数形にせよ。
2023/02/20(月) 00:59:45.86ID:S/Y0RwmV
お題: 日本語の文が非文ではないことを判定する。

「私はご飯を食べました。」→「非文ではありません」
「投げたんばってんそうらんか。」→「非文の可能性があります」
「やなはまなはなあ。」→「非文の可能性があります」
2023/02/20(月) 01:07:33.83ID:S/Y0RwmV
お題: 英文の各単語の先頭の文字を大文字にせよ。

「The quick brown fox jumps over the lazy dog.」→「The Quick Brown Fox Jumps Over The Lazy Dog.」
432デフォルトの名無しさん
垢版 |
2023/02/20(月) 01:43:32.57ID:4kHRqek0
>>429 js
(word) => word + 's'
433デフォルトの名無しさん
垢版 |
2023/02/20(月) 01:48:53.40ID:4kHRqek0
>>427 js

(today, x) => range(x).map((i) => {
while(!isBusiness(today + x)) today ++
return today
})
434デフォルトの名無しさん
垢版 |
2023/02/20(月) 01:51:51.59ID:4kHRqek0
>>431 js

text.split(' ').map(([h, ...word}) => h.toUpperCase() + word).join(' ' )
2023/02/20(月) 02:03:33.85ID:S/Y0RwmV
>>432
複数形の規則はそんなに簡単じゃないんだ。
ごめんね。
436デフォルトの名無しさん
垢版 |
2023/02/20(月) 02:11:24.54ID:5symYZYJ
>>435
いやsつけるだけだろ
2023/02/20(月) 02:23:51.79ID:S/Y0RwmV
>>436
https://english-club.jp/blog/english-noun-plural/

まず、英単語が加算名詞か非加算名詞か判定し、非加算名詞なら何も付けない。
さらにすでに複数形ならばそのまま。
sやshで終わる場合、esを付ける。
yで終わる場合、そのyを外してiesを付ける。

とか、いった規則があったはず。
438デフォルトの名無しさん
垢版 |
2023/02/20(月) 02:37:40.70ID:4kHRqek0
>>437

(word) =>
isNotKasan(word)
? word
: word.endsWith('s') || word.endsWith('sh')
? word + 'es'
: word.endsWith('y')
? word.slice(0, -1) + 'ies'
: word + 's'
2023/02/20(月) 02:40:42.75ID:S/Y0RwmV
fで終わる場合はfを外してvesをつける。
xで終わるときはesをつける。
またいくつかの単語には例外がある。
mouse→mice
440デフォルトの名無しさん
垢版 |
2023/02/20(月) 02:49:12.44ID:4kHRqek0
ts

(word: string) =>
蟻(word) ?? (
isNotKasan(word)
? word
: word.endsWith('s') || word.endsWith('sh')
? word + 'es'
: word.endsWith('y')
? word.slice(0, -1) + 'ies'
: word + 's')

type 未定義の処理結果 = string
declare function 蟻(word: string): 未定義の処理結果 | null;
2023/02/20(月) 09:45:16.32ID:sIqfmv40
仕様上げろや
仕様はそっちで調べて決めてくださいとか誰もやらん
2023/02/20(月) 10:16:16.88ID:S/Y0RwmV
>>441
すみませんでした。もう少し調べます
2023/02/20(月) 10:48:51.05ID:4EtRnxBT
蟻人間は元々適当なことしか書いてないから相手にしない方がいい
2023/02/21(火) 09:46:29.52ID:03Hzj4B1
>>408
Python
s = input()
print(s == s[::-1])
2023/02/21(火) 19:11:52.19ID:4/c8giY4
お題: 現在の日時をしゃべらせる。
2023/02/21(火) 19:35:21.00ID:KtZ49LjO
言語:シリ
ヘイシリ!時間は?
2023/02/22(水) 10:39:42.72ID:W49C35S1
>>445
ほら適当なことしか書いてない
2023/02/22(水) 19:44:44.02ID:qGoU8D7A
いちいちアホの相手すんな
449デフォルトの名無しさん
垢版 |
2023/02/23(木) 02:57:01.39ID:dGvxcQeE
>>445
date コマンド

bash から実行した時の例。

$ date '+%T です。'
02:56:11 です。
450デフォルトの名無しさん
垢版 |
2023/02/23(木) 02:57:44.62ID:dGvxcQeE
音声を出したい場合はこのテキストを読み上げソフトで読み上げさせたり自分で声に出して読んだりしてください。
451デフォルトの名無しさん
垢版 |
2023/02/23(木) 02:59:24.34ID:dGvxcQeE
>>445
間違えた。日時だったね。こうだ。

$ date '+%Y/%m/%d %T です。'
2023/02/23 02:58:40 です。
452デフォルトの名無しさん
垢版 |
2023/02/23(木) 13:20:13.85ID:oMKxIthr
【キッシンジャー】 ワクチンを強制し群れを減らす
://rio2016.5ch.net/test/read.cgi/lifesaloon/1662167492/l50
453デフォルトの名無しさん
垢版 |
2023/02/23(木) 17:13:39.72ID:cdZW/MyP
クソ蟻の相手すんなや
馬鹿しかおらんのか
454401
垢版 |
2023/02/23(木) 18:33:45.89ID:n1e6/0k5
>>401
Elixir で作った

{ :ok, input_data } = File.read( "input_data.csv" )
# IO.inspect input_data

# 末尾の改行を削除してから、1行ずつ処理する。カンマで区切る

input_data
|> String.trim
|> String.split( "\n" )
|> Enum.map( fn( line ) -> String.split( line, "," ) end )
|> Enum.each( fn [ custom_num, seq_num, money ] ->
{ from, to } = case String.split( seq_num, "-" ) do
# - を含まない時は、2つに分割できない
[ first ] -> num = String.to_integer( first )
{ num, num }
# - を含む時は、2つに分割できる
[ first, last ] -> { String.to_integer( first ), String.to_integer( last ) }
end

for n <- from..to, do: IO.puts "#{ custom_num },#{ n },#{ div( String.to_integer( money ), to - from + 1 ) }"
end )
# |> IO.inspect
455デフォルトの名無しさん
垢版 |
2023/02/24(金) 02:31:53.29ID:qWDde+97
>>401
Kotlin
https://paiza.io/projects/1pkfbUwcB0nubXQhER9i_w
456デフォルトの名無しさん
垢版 |
2023/02/24(金) 20:55:59.01ID:Kkq1C7fS
>>445
たまには回答側に回ってみなさい

お題
個人の名前,上司の名前,個人の仕事力
が入力されます

個人の仕事力とその上司たちの仕事力を合計した値を出力してください

入力
ガンド部長,ブリ事業部長,9000
モジャコ,ヤズ係長,39000
ワラサ部長,ブリ事業部長,46000
メジロ部長,ブリ事業部長,34000
ブリ事業部長,,32000
ツバイソ,コズクラ係長,24000
ツバス係長,ハマチ課長,23000
ワカナ,ツバス係長,4000
イナダ課長,ワラサ部長,5000
ヤズ係長,ハマチ課長,23000
ワカナゴ係長,イナダ課長,49000
フクラギ課長,ガンド部長,17000
ハマチ課長,メジロ部長,19000
コズクラ係長,フクラギ課長,31000

出力
41000 : ガンド部長 -> ブリ事業部長
147000 : モジャコ -> ヤズ係長 -> ハマチ課長 -> メジロ部長 -> ブリ事業部長
78000 : ワラサ部長 -> ブリ事業部長
-----省略-----
457デフォルトの名無しさん
垢版 |
2023/02/24(金) 22:54:59.85ID:PMEalhSr
ぼくの逞しいおちんぽ
2023/02/24(金) 23:22:44.02ID:3XqkjO93
>>456
仕様がわからん
A→B
というpathは各A,B毎に一意もしくはないのどちらかと仮定して良いの?
A,,x
という入力はどうするの
A,B,x
B,,y
B,C,z
はどうなるの?
2023/02/25(土) 08:48:42.87ID:zHIcIgZr
>>456
仕事力の算出方法を示してないガイジ
名前を考えるのに精一杯だったか?
2023/02/25(土) 11:05:00.42ID:dAzPm75C
>>458
同じ人に複数パターンの上司ってどういうこと?
2023/02/25(土) 13:54:15.17ID:R9oPtKUj
おかしいよな?
しかし

1:ガンド部長,ブリ事業部長,9000
2;ブリ事業部長,,32000

からの出力が

41000 : ガンド部長 -> ブリ事業部長

なら2の行があれば32000を一回足すって事だとしか思えないけど完全に意味不明
2023/02/25(土) 14:00:32.25ID:dAzPm75C
???
何を不思議がっているのかがわからない
2023/02/25(土) 14:21:21.89ID:m5+HOY8+
もういいわ
2023/02/25(土) 14:28:23.84ID:rFr0WMKo
>>456
C++
https://ideone.com/cGkpYd
2023/02/25(土) 14:40:44.77ID:m5+HOY8+
やっとわかった
A,B,n

社員、直属の上司、仕事力
で例外的に部長は直属の上司なしで
A,,n
と記載されている
求められる仕様は全てのAとその上司Bに対してAの直属の上司、その直属の上司、‥でBに至る社員を全てリストアップしてその仕事力の総和を表示せよ
かね
もういいや
2023/02/25(土) 14:53:53.68ID:dAzPm75C
コレは恥ずかしい。
2023/02/25(土) 15:00:57.04ID:m5+HOY8+
まだ間違ってんの?
ならもういいや
仮にまだ間違ってるとして何その言い方?
何様?
そんな空気しか出せないんなら消えろやカス
468デフォルトの名無しさん
垢版 |
2023/02/25(土) 18:30:05.28ID:ylAvVdkX
>>456
Kotlin
https://paiza.io/projects/2L_CKvA3jmXKQHCOjqJy1w
2023/02/26(日) 00:19:46.37ID:RymrPGNU
ID:Kkq1C7fSがあれから一回も書き込んでないあたり、何も考えずにお題出したんでしょ
470デフォルトの名無しさん
垢版 |
2023/02/26(日) 02:21:31.96ID:B5iNMzdY
ガチアスペが暴れるスレッド
2023/02/26(日) 09:46:23.93ID:4Uq2hv6i
お題:N×Nの正方形Aがある。各頂点から点a,b,c,dを正方形の内側のランダムな方向に射出する。点が内側をバウンドし移動してるあいだAの中心点からM×Mの正方形B(最初は点)が徐々に拡大していく。この時、Bの内側に点a,b,c,dが収まるのはMがいくつの時か計算しなさい。
2023/02/26(日) 18:15:13.00ID:aYPcDOt1
Mの拡大率も書いてないし射出した点の速さも書かれてない
仕様が不十分

ROMってね
2023/02/26(日) 19:02:07.54ID:OLcPjaJb
厳密厨って何が楽しくて生きてるんだろうな。
2023/02/26(日) 19:05:44.27ID:6DyDqsNY
指摘するだけで書かない奴な
不足してるなら勝手に補完つくればいいものを
仕事じゃあるまいし
475デフォルトの名無しさん
垢版 |
2023/02/27(月) 02:09:11.98ID:dWqm4C62
勝手に補完するも何も、そのお題は何を言わんとしているのか全く分からないため補完のしようがない。
2023/02/27(月) 02:40:43.98ID:2JCuz1J/
昔はこれぐらいの仕様のお題でも回答ついたけどなぁ
477デフォルトの名無しさん
垢版 |
2023/02/27(月) 04:20:24.87ID:dWqm4C62
読解できたエスパーだけが答えれば良い
2023/02/27(月) 06:41:19.91ID:8KPFEApR
俺なんか厳密中が言うからわざわざbnfまで書いたぞ笑
もうあんなつかれるお題出したくないわ
2023/02/27(月) 10:31:19.36ID:UJX7wwq0
>>476
ないない
2023/02/27(月) 10:33:14.65ID:5JFQlul5
一日経っても反論ないあたり出題者は逃げたってことでいいのかな
2023/02/27(月) 12:42:15.62ID:glsnanmZ
>>473
>>471の内容理解出来てないでしょ
2023/02/27(月) 12:46:22.51ID:glsnanmZ
整数をランダムに4個選ぶ
4個の整数の和はいくつか?

こんな感じ
お題になってない
2023/02/27(月) 18:18:21.52ID:YYxwKNcv
ああ、ランダム性が入ってるのがまずいのか
2023/02/27(月) 18:18:39.12ID:YYxwKNcv
ああ、ランダム性が入ってるのがまずいのか
2023/02/27(月) 18:24:11.89ID:LWteNAWS
蟻は出題がまともに出来てないって自覚がないアホだから
関わっちゃダメ
2023/02/27(月) 20:18:00.93ID:tcBt9uhq
不足してるなら補ってお題として成立されてばいいものを最近の輩はリジェクトすることしか眼中にない
上のお題で言えば速度はプログラムで任意に定義できるようにすればお題として成立されられる
その方向へ持っていこうという気概を見せられないなら黙っていれば良い。
2023/02/27(月) 20:18:42.48ID:LWteNAWS
>>486
言い出しっぺの法則
2023/02/27(月) 20:19:28.33ID:LWteNAWS
お題をみんなで作るスレ
じゃないんだから

完成してから出題しろ
2023/02/27(月) 20:22:36.54ID:Gjavqic5
否定することを糧としているんのだからしゃーない。
2023/02/27(月) 20:27:21.12ID:LWteNAWS
>>489
じゃあお前がやれよ
2023/02/28(火) 02:06:48.72ID:tFrQfTnP
自分で解答作らないで出題するからやろ
2023/02/28(火) 08:02:01.71ID:Kf1fynEF
お題:
>>471からランダム性を抜いて再現性のあるお題に再構築せよ
2023/02/28(火) 08:08:41.98ID:cWa3A3nM
ランダム性ってなんやねん
任意性やろ
2023/02/28(火) 08:37:21.30ID:Kf1fynEF
>>49
うん?乱数で値を決定することを任意性というのか?
知らんかったな
2023/02/28(火) 19:59:24.47ID:2hicZh6u
>>486
さっさとやれ
2023/02/28(火) 20:00:50.02ID:oDIfPEjQ
>乱数で値を決定する
厳密厨ってこの程度の読解力だったのな
2023/02/28(火) 20:04:17.09ID:2hicZh6u
蟻と蟻の自演(単発)が消えれば
このスレももう少しマシになると思う
2023/02/28(火) 20:06:22.93ID:2hicZh6u
>>496
余計な書き込みはいらんから
お前の解釈を書け
2023/02/28(火) 21:52:00.08ID:2hicZh6u
>>486
あれっ?
デカい口叩いてたクセに何もしないの?お前
2023/02/28(火) 21:53:00.63ID:k1W6SlJ8
キチガイが棲んでからオワコン化したスレッド
2023/02/28(火) 21:55:51.04ID:2hicZh6u
「あれっ?」
じゃなくて
「ありっ?」
って書くべきでしたすいません
502デフォルトの名無しさん
垢版 |
2023/03/01(水) 00:27:07.21ID:p5rMIeuq
>>486
元のお題が何を言わんとしているのか分からないので何をどう補ったら良いのかも分からない。
見たこともない文字で書かれた未知の言語に対して補って読めるようにしろと言われても出来ないのと同じようなものだ。
2023/03/01(水) 00:51:10.69ID:OL4XgfHI
ふーん、頭が悪いんだね(笑)
504デフォルトの名無しさん
垢版 |
2023/03/01(水) 01:50:37.77ID:p5rMIeuq
頭が良い人なら多くの人に理解できるようにお題を書くことも可能な筈だ。
2023/03/01(水) 06:31:13.03ID:eH+0RL/Y
>>503
だからお前がやれって
2023/03/01(水) 07:18:11.40ID:P9GDwLN0
なぜ仕事でもないのに厳密性を求めるのか
本当にプログラムを書きたいという意欲があるならそれらしく補完して作ればいいものを。
2023/03/01(水) 07:31:13.17ID:eH+0RL/Y
>>506
どうぞ
2023/03/01(水) 07:54:29.17ID:Sly6s+uh
昔はこのスレは変なお題はみんなスルーしてレスもつかなかったよな
509デフォルトの名無しさん
垢版 |
2023/03/01(水) 22:37:33.72ID:np04zI1T
お題
製品タイプ、製品ID、製品色
が入力されます

製品タイプの配列、製品IDの配列、製品色の配列をJSON形式で出力してください

製品タイプの配列の1番目の値は製品IDの配列の1番目と対応する、というように
それぞれの配列の順番は一致するようにしてください

1つの配列の中で製品タイプは重複してはいけません
出力するJSONの数が最小になるようにしてください

入力例
B,02,B
C,04,Y
F,15,R
E,12,C
C,06,G
D,07,B
D,08,B
D,10,M
C,05,C
F,14,G
A,01,Y
D,09,B
B,03,C
G,16,M
E,11,Y
E,13,B

出力例
{"製品タイプ":["A","B","C","D","E","F","G"],"製品ID":["01","02","04","07","12","15","16"],"製品色":["Y","B","Y","B","C","R","M"]}
{"製品タイプ":["B","C","D","E","F"],"製品ID":["03","06","08","11","14"],"製品色":["C","G","B","Y","G"]}
{"製品タイプ":["C","D","E"],"製品ID":["05","10","13"],"製品色":["C","M","B"]}
{"製品タイプ":["D"],"製品ID":["09"],"製品色":["B"]}
2023/03/02(木) 01:19:19.82ID:qVygpVDj
>>509

Haskell

https://ideone.com/dFgLSr
511デフォルトの名無しさん
垢版 |
2023/03/03(金) 10:31:20.70ID:JG2g5M5t
Haskellすごい
2023/03/04(土) 05:29:06.95ID:SAvF8kPk
>>509
Kotlin
https://paiza.io/projects/sDzTXxh4G5zC4DO7mtbkVg
2023/03/04(土) 19:18:05.94ID:S5cRs10W
>>509

awk

https://ideone.com/rS1puq
514デフォルトの名無しさん
垢版 |
2023/03/05(日) 09:55:30.27ID:GagStXQF
友人がブログを削除したんですが、そのあと、そのURLをクリックすると
アダルトサイトに飛ぶようになりました。本人はずかしいはずです。
これは何が原因なんでしょうか?
2023/03/05(日) 11:12:32.57ID:/Qd0pRlS
こういう話の登場人物
「友人」は大抵が本人
516デフォルトの名無しさん
垢版 |
2023/03/05(日) 11:32:29.47ID:GagStXQF
こんなところで聞く方が無駄だとわかりました。すいません
2023/03/05(日) 11:56:22.33ID:2xMyVUh5
>>516
負けてて草
2023/03/05(日) 12:23:59.19ID:EVYX2Tnh
答えを聞き出す前に暴言はいて逃亡するのは三流
答えを聞き出してから態度を豹変させるのが一流
2023/03/05(日) 12:57:55.93ID:E79AODHp
無駄な労力を費やす前に退却するのが真の一流
520デフォルトの名無しさん
垢版 |
2023/03/05(日) 14:53:40.73ID:YlwUczDE
>>514
println("知らんがな。")
2023/03/05(日) 18:35:08.91ID:Ueh2Ngp1
>>456
Elixir で再帰で書いた。
末尾再帰になっているかどうかは分からないけど。難しかった

https://paiza.io/projects/2HEEsPP7gqa7Yoq2U1darw?language=elixir

以下は、データの変遷

input_list は、[ ["ガンド部長", "ブリ事業部長", "9000"], ["モジャコ", "ヤズ係長", "39000"] ]

input_map は順不同で、%{ "イナダ課長" => {"ワラサ部長", 5000}, "ガンド部長" => {"ブリ事業部長", 9000} }

蓄積変数は、[ {["", "ブリ事業部長", "ガンド部長"], 41000},
{["", "ブリ事業部長", "メジロ部長", "ハマチ課長", "ヤズ係長", "モジャコ"], 147000} ]

出力はリストを逆順にして、
41000 : ガンド部長 -> ブリ事業部長
147000 : モジャコ -> ヤズ係長 -> ハマチ課長 -> メジロ部長 -> ブリ事業部長
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況