プログラミングのお題スレです。
【出題と回答例】
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/
プログラミングのお題スレ Part21
■ このスレッドは過去ログ倉庫に格納されています
2022/11/13(日) 19:00:36.84ID:ZCYlhUwL
474デフォルトの名無しさん
2023/02/26(日) 19:05:44.27ID:6DyDqsNY 指摘するだけで書かない奴な
不足してるなら勝手に補完つくればいいものを
仕事じゃあるまいし
不足してるなら勝手に補完つくればいいものを
仕事じゃあるまいし
475デフォルトの名無しさん
2023/02/27(月) 02:09:11.98ID:dWqm4C62 勝手に補完するも何も、そのお題は何を言わんとしているのか全く分からないため補完のしようがない。
476デフォルトの名無しさん
2023/02/27(月) 02:40:43.98ID:2JCuz1J/ 昔はこれぐらいの仕様のお題でも回答ついたけどなぁ
477デフォルトの名無しさん
2023/02/27(月) 04:20:24.87ID:dWqm4C62 読解できたエスパーだけが答えれば良い
478デフォルトの名無しさん
2023/02/27(月) 06:41:19.91ID:8KPFEApR 俺なんか厳密中が言うからわざわざbnfまで書いたぞ笑
もうあんなつかれるお題出したくないわ
もうあんなつかれるお題出したくないわ
479デフォルトの名無しさん
2023/02/27(月) 10:31:19.36ID:UJX7wwq0 >>476
ないない
ないない
480デフォルトの名無しさん
2023/02/27(月) 10:33:14.65ID:5JFQlul5 一日経っても反論ないあたり出題者は逃げたってことでいいのかな
481デフォルトの名無しさん
2023/02/27(月) 12:42:15.62ID:glsnanmZ482デフォルトの名無しさん
2023/02/27(月) 12:46:22.51ID:glsnanmZ 整数をランダムに4個選ぶ
4個の整数の和はいくつか?
こんな感じ
お題になってない
4個の整数の和はいくつか?
こんな感じ
お題になってない
483デフォルトの名無しさん
2023/02/27(月) 18:18:21.52ID:YYxwKNcv ああ、ランダム性が入ってるのがまずいのか
484デフォルトの名無しさん
2023/02/27(月) 18:18:39.12ID:YYxwKNcv ああ、ランダム性が入ってるのがまずいのか
485デフォルトの名無しさん
2023/02/27(月) 18:24:11.89ID:LWteNAWS 蟻は出題がまともに出来てないって自覚がないアホだから
関わっちゃダメ
関わっちゃダメ
486デフォルトの名無しさん
2023/02/27(月) 20:18:00.93ID:tcBt9uhq 不足してるなら補ってお題として成立されてばいいものを最近の輩はリジェクトすることしか眼中にない
上のお題で言えば速度はプログラムで任意に定義できるようにすればお題として成立されられる
その方向へ持っていこうという気概を見せられないなら黙っていれば良い。
上のお題で言えば速度はプログラムで任意に定義できるようにすればお題として成立されられる
その方向へ持っていこうという気概を見せられないなら黙っていれば良い。
487デフォルトの名無しさん
2023/02/27(月) 20:18:42.48ID:LWteNAWS >>486
言い出しっぺの法則
言い出しっぺの法則
488デフォルトの名無しさん
2023/02/27(月) 20:19:28.33ID:LWteNAWS お題をみんなで作るスレ
じゃないんだから
完成してから出題しろ
じゃないんだから
完成してから出題しろ
489デフォルトの名無しさん
2023/02/27(月) 20:22:36.54ID:Gjavqic5 否定することを糧としているんのだからしゃーない。
490デフォルトの名無しさん
2023/02/27(月) 20:27:21.12ID:LWteNAWS >>489
じゃあお前がやれよ
じゃあお前がやれよ
491デフォルトの名無しさん
2023/02/28(火) 02:06:48.72ID:tFrQfTnP 自分で解答作らないで出題するからやろ
492デフォルトの名無しさん
2023/02/28(火) 08:02:01.71ID:Kf1fynEF お題:
>>471からランダム性を抜いて再現性のあるお題に再構築せよ
>>471からランダム性を抜いて再現性のあるお題に再構築せよ
493デフォルトの名無しさん
2023/02/28(火) 08:08:41.98ID:cWa3A3nM ランダム性ってなんやねん
任意性やろ
任意性やろ
494デフォルトの名無しさん
2023/02/28(火) 08:37:21.30ID:Kf1fynEF495デフォルトの名無しさん
2023/02/28(火) 19:59:24.47ID:2hicZh6u >>486
さっさとやれ
さっさとやれ
496デフォルトの名無しさん
2023/02/28(火) 20:00:50.02ID:oDIfPEjQ >乱数で値を決定する
厳密厨ってこの程度の読解力だったのな
厳密厨ってこの程度の読解力だったのな
497デフォルトの名無しさん
2023/02/28(火) 20:04:17.09ID:2hicZh6u 蟻と蟻の自演(単発)が消えれば
このスレももう少しマシになると思う
このスレももう少しマシになると思う
498デフォルトの名無しさん
2023/02/28(火) 20:06:22.93ID:2hicZh6u499デフォルトの名無しさん
2023/02/28(火) 21:52:00.08ID:2hicZh6u500デフォルトの名無しさん
2023/02/28(火) 21:53:00.63ID:k1W6SlJ8 キチガイが棲んでからオワコン化したスレッド
501デフォルトの名無しさん
2023/02/28(火) 21:55:51.04ID:2hicZh6u 「あれっ?」
じゃなくて
「ありっ?」
って書くべきでしたすいません
じゃなくて
「ありっ?」
って書くべきでしたすいません
502デフォルトの名無しさん
2023/03/01(水) 00:27:07.21ID:p5rMIeuq >>486
元のお題が何を言わんとしているのか分からないので何をどう補ったら良いのかも分からない。
見たこともない文字で書かれた未知の言語に対して補って読めるようにしろと言われても出来ないのと同じようなものだ。
元のお題が何を言わんとしているのか分からないので何をどう補ったら良いのかも分からない。
見たこともない文字で書かれた未知の言語に対して補って読めるようにしろと言われても出来ないのと同じようなものだ。
503デフォルトの名無しさん
2023/03/01(水) 00:51:10.69ID:OL4XgfHI ふーん、頭が悪いんだね(笑)
504デフォルトの名無しさん
2023/03/01(水) 01:50:37.77ID:p5rMIeuq 頭が良い人なら多くの人に理解できるようにお題を書くことも可能な筈だ。
505デフォルトの名無しさん
2023/03/01(水) 06:31:13.03ID:eH+0RL/Y >>503
だからお前がやれって
だからお前がやれって
506デフォルトの名無しさん
2023/03/01(水) 07:18:11.40ID:P9GDwLN0 なぜ仕事でもないのに厳密性を求めるのか
本当にプログラムを書きたいという意欲があるならそれらしく補完して作ればいいものを。
本当にプログラムを書きたいという意欲があるならそれらしく補完して作ればいいものを。
507デフォルトの名無しさん
2023/03/01(水) 07:31:13.17ID:eH+0RL/Y >>506
どうぞ
どうぞ
508デフォルトの名無しさん
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"]}
製品タイプ、製品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"]}
510デフォルトの名無しさん
2023/03/02(木) 01:19:19.82ID:qVygpVDj511デフォルトの名無しさん
2023/03/03(金) 10:31:20.70ID:JG2g5M5t Haskellすごい
512デフォルトの名無しさん
2023/03/04(土) 05:29:06.95ID:SAvF8kPk513デフォルトの名無しさん
2023/03/04(土) 19:18:05.94ID:S5cRs10W514デフォルトの名無しさん
2023/03/05(日) 09:55:30.27ID:GagStXQF 友人がブログを削除したんですが、そのあと、そのURLをクリックすると
アダルトサイトに飛ぶようになりました。本人はずかしいはずです。
これは何が原因なんでしょうか?
アダルトサイトに飛ぶようになりました。本人はずかしいはずです。
これは何が原因なんでしょうか?
515デフォルトの名無しさん
2023/03/05(日) 11:12:32.57ID:/Qd0pRlS こういう話の登場人物
「友人」は大抵が本人
「友人」は大抵が本人
516デフォルトの名無しさん
2023/03/05(日) 11:32:29.47ID:GagStXQF こんなところで聞く方が無駄だとわかりました。すいません
517デフォルトの名無しさん
2023/03/05(日) 11:56:22.33ID:2xMyVUh5 >>516
負けてて草
負けてて草
518デフォルトの名無しさん
2023/03/05(日) 12:23:59.19ID:EVYX2Tnh 答えを聞き出す前に暴言はいて逃亡するのは三流
答えを聞き出してから態度を豹変させるのが一流
答えを聞き出してから態度を豹変させるのが一流
519デフォルトの名無しさん
2023/03/05(日) 12:57:55.93ID:E79AODHp 無駄な労力を費やす前に退却するのが真の一流
520デフォルトの名無しさん
2023/03/05(日) 14:53:40.73ID:YlwUczDE >>514
println("知らんがな。")
println("知らんがな。")
521デフォルトの名無しさん
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 : モジャコ -> ヤズ係長 -> ハマチ課長 -> メジロ部長 -> ブリ事業部長
Elixir で再帰で書いた。
末尾再帰になっているかどうかは分からないけど。難しかった
https://paiza.io/projects/2HEEsPP7gqa7Yoq2U1darw?language=elixir
以下は、データの変遷
input_list は、[ ["ガンド部長", "ブリ事業部長", "9000"], ["モジャコ", "ヤズ係長", "39000"] ]
input_map は順不同で、%{ "イナダ課長" => {"ワラサ部長", 5000}, "ガンド部長" => {"ブリ事業部長", 9000} }
蓄積変数は、[ {["", "ブリ事業部長", "ガンド部長"], 41000},
{["", "ブリ事業部長", "メジロ部長", "ハマチ課長", "ヤズ係長", "モジャコ"], 147000} ]
出力はリストを逆順にして、
41000 : ガンド部長 -> ブリ事業部長
147000 : モジャコ -> ヤズ係長 -> ハマチ課長 -> メジロ部長 -> ブリ事業部長
522デフォルトの名無しさん
2023/03/06(月) 14:19:42.45ID:qyV2HHpm >>456
awkで書いてみた
https://ideone.com/Ufy2b4
再帰呼び出ししてみた。
表示順を考えなくて良いならmember[]は要らなくなるので
BEGIN{}も要らないし、もう一段簡単になる。
awkで書いてみた
https://ideone.com/Ufy2b4
再帰呼び出ししてみた。
表示順を考えなくて良いならmember[]は要らなくなるので
BEGIN{}も要らないし、もう一段簡単になる。
523デフォルトの名無しさん
2023/03/07(火) 12:52:38.48ID:XpfdbiSa お題
個人の名前,上司の名前,個人の仕事力
が入力されます
個人の仕事力とその部下たちの仕事力を合計した値を出力してください
ブリ事業部長は全員の仕事力の合計になります
入力
ガンド部長,ブリ事業部長,9000
モジャコ,ヤズ係長,39000
ワラサ部長,ブリ事業部長,46000
メジロ部長,ブリ事業部長,34000
ブリ事業部長,,32000
ツバイソ,コズクラ係長,24000
ツバス係長,ハマチ課長,23000
ワカナ,ツバス係長,4000
イナダ課長,ワラサ部長,5000
ヤズ係長,ハマチ課長,23000
ワカナゴ係長,イナダ課長,49000
フクラギ課長,ガンド部長,17000
ハマチ課長,メジロ部長,19000
コズクラ係長,フクラギ課長,31000
出力
ガンド部長:81000
モジャコ:39000
ワラサ部長:100000
-----省略-----
個人の名前,上司の名前,個人の仕事力
が入力されます
個人の仕事力とその部下たちの仕事力を合計した値を出力してください
ブリ事業部長は全員の仕事力の合計になります
入力
ガンド部長,ブリ事業部長,9000
モジャコ,ヤズ係長,39000
ワラサ部長,ブリ事業部長,46000
メジロ部長,ブリ事業部長,34000
ブリ事業部長,,32000
ツバイソ,コズクラ係長,24000
ツバス係長,ハマチ課長,23000
ワカナ,ツバス係長,4000
イナダ課長,ワラサ部長,5000
ヤズ係長,ハマチ課長,23000
ワカナゴ係長,イナダ課長,49000
フクラギ課長,ガンド部長,17000
ハマチ課長,メジロ部長,19000
コズクラ係長,フクラギ課長,31000
出力
ガンド部長:81000
モジャコ:39000
ワラサ部長:100000
-----省略-----
524デフォルトの名無しさん
2023/03/07(火) 13:16:03.87ID:bbtrqWNc お題:数字が入力されるので日付かどうか判定してください
in < 20230306
out > true
in < 20232250
out > false
in < 20230306
out > true
in < 20232250
out > false
525デフォルトの名無しさん
2023/03/07(火) 14:17:27.14ID:+pZA1cjF 仕事そっちのけでやり始めちゃいそうないいお題だ
526デフォルトの名無しさん
2023/03/07(火) 21:36:23.54ID:kYiYHi9/ >>524
ChatGPTに聞いたら瞬殺だった。
@Python
import datetime
def is_valid_date(date_string):
try:
datetime.datetime.strptime(date_string, '%Y%m%d')
return True
except ValueError:
return False
ChatGPTに聞いたら瞬殺だった。
@Python
import datetime
def is_valid_date(date_string):
try:
datetime.datetime.strptime(date_string, '%Y%m%d')
return True
except ValueError:
return False
527526
2023/03/07(火) 21:37:25.32ID:kYiYHi9/ インデントに失敗した orz
528デフォルトの名無しさん
2023/03/07(火) 22:32:08.33ID:3eieSVrf >>524
haskell
https://ideone.com/1oSNqd
“数値が読めない”とかは無視
純粋にy/m/dがグレゴリオ歴として成立するかどうかの判定
wikiに載ってたy/m/dから修正ユリウス通日を計算する公式を使ってその月の長さを(次の月の初日のユリウス通日)-(その月の初日のユリウス通日)で算出
haskell
https://ideone.com/1oSNqd
“数値が読めない”とかは無視
純粋にy/m/dがグレゴリオ歴として成立するかどうかの判定
wikiに載ってたy/m/dから修正ユリウス通日を計算する公式を使ってその月の長さを(次の月の初日のユリウス通日)-(その月の初日のユリウス通日)で算出
529デフォルトの名無しさん
2023/03/07(火) 23:34:02.90ID:s3GtgFEy >>524
Kotlin
java.time.LocalDate クラスに判定させるという超手抜きプログラム。
https://paiza.io/projects/giMWgob2AM7gEy4sGrP50w
Kotlin
java.time.LocalDate クラスに判定させるという超手抜きプログラム。
https://paiza.io/projects/giMWgob2AM7gEy4sGrP50w
530デフォルトの名無しさん
2023/03/08(水) 10:26:04.32ID:/qygPgTx531デフォルトの名無しさん
2023/03/08(水) 13:26:39.43ID:dHMh5Dpe532デフォルトの名無しさん
2023/03/08(水) 21:40:39.00ID:Vy/Qcp0S533デフォルトの名無しさん
2023/03/09(木) 01:22:26.54ID:fNPpmDIo お題:引数の絶対値を1-2-5シリーズ(1, 2, 5と、その10の整数べき乗の集合
(..., 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, ...)に切り捨てる関数。
IEEE754で正確に表現出来ない数(0.2とか)になる場合、最も近い値を返す事。
(例 : 0.2の場合は0x1.999999999999ap-3
その場合でも、(切り捨てなので)引数の絶対値を超えてはならない)
f(1) → 1
f(1.1) → 1
f(1.9) → 1
f(2) → 2
f(2.1) → 2
f(4.9) → 2
f(5) → 5
f(5.1) → 5
f(9.9) → 5
f(10) → 10
f(10.1) → 10
発展的なお題:
引数の絶対値が5e-308未満の場合の望ましいと思われる振る舞いについて述べよ
(「思われる」なので正解はありません)。
(..., 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, ...)に切り捨てる関数。
IEEE754で正確に表現出来ない数(0.2とか)になる場合、最も近い値を返す事。
(例 : 0.2の場合は0x1.999999999999ap-3
その場合でも、(切り捨てなので)引数の絶対値を超えてはならない)
f(1) → 1
f(1.1) → 1
f(1.9) → 1
f(2) → 2
f(2.1) → 2
f(4.9) → 2
f(5) → 5
f(5.1) → 5
f(9.9) → 5
f(10) → 10
f(10.1) → 10
発展的なお題:
引数の絶対値が5e-308未満の場合の望ましいと思われる振る舞いについて述べよ
(「思われる」なので正解はありません)。
534529
2023/03/09(木) 02:14:16.41ID:/MDyYnso >>531
俺も最初はそうやって parse() 使ってやるやつを作ったんだけど、それだと 20230229 や 20231131 が true になる。
どうやら parse() でやろうとすると年月日それぞれの値のチェックはするが年月日の値を繋げた状態で日付として
正しいかのチェックがされない。日に関して1~31なら全てOKになってしまってそれが何月なのかのチェックがされない。
それで文字列を分解して整数にしてから LocalDate.of(y, m, d) のやり方でやるようにしたんだよ。それだとチェックされるので。
俺も最初はそうやって parse() 使ってやるやつを作ったんだけど、それだと 20230229 や 20231131 が true になる。
どうやら parse() でやろうとすると年月日それぞれの値のチェックはするが年月日の値を繋げた状態で日付として
正しいかのチェックがされない。日に関して1~31なら全てOKになってしまってそれが何月なのかのチェックがされない。
それで文字列を分解して整数にしてから LocalDate.of(y, m, d) のやり方でやるようにしたんだよ。それだとチェックされるので。
535デフォルトの名無しさん
2023/03/09(木) 02:59:36.54ID:3+H8grLx536デフォルトの名無しさん
2023/03/09(木) 07:19:28.41ID:Kr9kVNlI538デフォルトの名無しさん
2023/03/09(木) 09:11:59.20ID:80vOWs2E 0.2より小さいのに0.2を返す意図がわからない
539デフォルトの名無しさん
2023/03/09(木) 09:33:04.67ID:80vOWs2E 例えばIEEE754の倍精度だと10^23に一番近い値は2個存在するけど
それぞれの入力値に対して何を返す?
それぞれの入力値に対して何を返す?
540デフォルトの名無しさん
2023/03/09(木) 09:51:28.51ID:8jWFs2vv541デフォルトの名無しさん
2023/03/09(木) 10:06:31.31ID:NA9KE422 文字列で処理した方が楽そうだな
542デフォルトの名無しさん
2023/03/09(木) 10:11:31.04ID:OmNiotFL543デフォルトの名無しさん
2023/03/09(木) 13:53:10.22ID:bNerenDr544デフォルトの名無しさん
2023/03/09(木) 14:58:46.74ID:80vOWs2E >>543
2^m 5^n じゃなくて [1,2,5] x 10^n
2^m 5^n じゃなくて [1,2,5] x 10^n
545デフォルトの名無しさん
2023/03/09(木) 17:53:05.38ID:T9AEG++6546デフォルトの名無しさん
2023/03/09(木) 18:24:41.73ID:80vOWs2E 10^23の結果が10^23にならない
547デフォルトの名無しさん
2023/03/09(木) 18:51:23.08ID:80vOWs2E f(x) = max { 近似(a×10ⁿ) | a∈{1,2,5}, n∈ℤ, 近似(a×10ⁿ)≦x }
お題はこれなんだよね
お題はこれなんだよね
548デフォルトの名無しさん
2023/03/09(木) 19:49:31.53ID:AqeRBK10549デフォルトの名無しさん
2023/03/09(木) 20:42:50.12ID:AqeRBK10 とりあえず>>548の解釈でhaskell
https://ideone.com/KMyKL4
入力を普通に受け渡しすると
f(10^23) = 10^23
f(9.999999999999999e22) = 5e22
は実現できるはずないので引数は文字列で渡す
文字列は0〜9, e,.のみ処理
パーサーやん
https://ideone.com/KMyKL4
入力を普通に受け渡しすると
f(10^23) = 10^23
f(9.999999999999999e22) = 5e22
は実現できるはずないので引数は文字列で渡す
文字列は0〜9, e,.のみ処理
パーサーやん
550デフォルトの名無しさん
2023/03/09(木) 21:55:00.68ID:Kr9kVNlI551デフォルトの名無しさん
2023/03/10(金) 00:33:46.36ID:5SQWn2gE このすいや、違うって、出力側の問題ではなく入力側
出力側は出力が1.0e_、2.0e_、5.9e_の形に限られるため、打ち切り誤差でに4.9999..e23とか9.999...e12とか出力されてもそれぞれ5e23、1e13の打ち切り誤差と判断できるけど、入力側では不可能、つまりそもそも1e23を入力するには文字列がなんかで入力受け取るとか、significantとexponentを整数値で受け取る形式にするとかしないとそもそも入力を受けられないけどそこはどうすんの?つて話
出力側は出力が1.0e_、2.0e_、5.9e_の形に限られるため、打ち切り誤差でに4.9999..e23とか9.999...e12とか出力されてもそれぞれ5e23、1e13の打ち切り誤差と判断できるけど、入力側では不可能、つまりそもそも1e23を入力するには文字列がなんかで入力受け取るとか、significantとexponentを整数値で受け取る形式にするとかしないとそもそも入力を受けられないけどそこはどうすんの?つて話
552デフォルトの名無しさん
2023/03/10(金) 00:35:33.83ID:5SQWn2gE あれ?なんか日本語変換メチャクチャになってる
言いたい事わかる?
1e23なんてそもそも例えばhaskellのDouble型だと受け取れないんだよ
言いたい事わかる?
1e23なんてそもそも例えばhaskellのDouble型だと受け取れないんだよ
553デフォルトの名無しさん
2023/03/10(金) 07:45:37.27ID:9bh7XNaU554デフォルトの名無しさん
2023/03/10(金) 11:39:00.03ID:RgyaHPNK >>553
何がおかしい?
例えば
10^23の結果が10^23にならない
と指摘してたけどこれは違う
コードはちゃんと
f(9.999999999999999e22) = 5e22
を算出してる
しかし>>545のコードでコードの使用者が
a = fl125 $ 10^23
とやってもaには1e23ではなく5e22が返ってきてしまう
しかしそれはfl125がうまく機能していないのではなくhaskellの使用上標準の値受け渡しでは9.999999999999999e22と1e23を区別して渡す方法がないんだよ
かと言って
「9.999999999999999e22が引数で来る事はないな、きっとこれは1e23が精度の限界で誤って渡されてるんだ、引数は1e23とみなして答え返そう」
とかあり得んやろ?
わかる?
何がおかしい?
例えば
10^23の結果が10^23にならない
と指摘してたけどこれは違う
コードはちゃんと
f(9.999999999999999e22) = 5e22
を算出してる
しかし>>545のコードでコードの使用者が
a = fl125 $ 10^23
とやってもaには1e23ではなく5e22が返ってきてしまう
しかしそれはfl125がうまく機能していないのではなくhaskellの使用上標準の値受け渡しでは9.999999999999999e22と1e23を区別して渡す方法がないんだよ
かと言って
「9.999999999999999e22が引数で来る事はないな、きっとこれは1e23が精度の限界で誤って渡されてるんだ、引数は1e23とみなして答え返そう」
とかあり得んやろ?
わかる?
555デフォルトの名無しさん
2023/03/10(金) 12:12:05.54ID:vz4CBcOd 本当に読んだ?
556デフォルトの名無しさん
2023/03/10(金) 12:45:16.91ID:wA/P8BtN もういいよ
557デフォルトの名無しさん
2023/03/10(金) 16:22:43.21ID:CaMSg8vJ お題:スレのHTMLが入力されるのでもっともレスが付いているレス番号を表示しなさい
複数同率の場合は複数表示しなさい
複数同率の場合は複数表示しなさい
558534
2023/03/10(金) 16:31:19.44ID:ZGHw+/B0 >>542
そんなやり方があったとは気付かなかった。
そんなやり方があったとは気付かなかった。
559デフォルトの名無しさん
2023/03/10(金) 17:58:27.90ID:ZGHw+/B0 >>533
kotlin
出力がちょっと違うけど値としては合っている。
まあしかし BigDecimal 使って文字列で処理しちゃってて桁数大きくてもドーンと来いみたいになっててつまりほぼ手抜き。
https://paiza.io/projects/bgGSIZ8CEEFszHzDBQqD8g
kotlin
出力がちょっと違うけど値としては合っている。
まあしかし BigDecimal 使って文字列で処理しちゃってて桁数大きくてもドーンと来いみたいになっててつまりほぼ手抜き。
https://paiza.io/projects/bgGSIZ8CEEFszHzDBQqD8g
560デフォルトの名無しさん
2023/03/10(金) 18:24:41.36ID:ZGHw+/B0 あ。負の数には未対応だった。
561デフォルトの名無しさん
2023/03/10(金) 18:51:26.52ID:ZGHw+/B0 こっそり負の値に対応するプログラムに修正しておいた。
562デフォルトの名無しさん
2023/03/10(金) 18:53:36.03ID:ZGHw+/B0 だめだ。 -0.9 や 0.9 みたいなのがうまく行かない。後で時間があったら考えよう。
563デフォルトの名無しさん
2023/03/10(金) 20:31:33.45ID:neDfohzd564デフォルトの名無しさん
2023/03/10(金) 21:02:13.08ID:fvzGmxnd565デフォルトの名無しさん
2023/03/10(金) 22:07:04.07ID:HEpguiV4 >>561
誰も見てないから心配すんな。
誰も見てないから心配すんな。
566559
2023/03/12(日) 02:44:00.49ID:eBdq5KuG >>533
Kotlin
BigDecimal (及び BigInteger)は使うが文字列を使うのは止めて色々計算して何とかするようにした。
https://paiza.io/projects/6H3b_gf_Kc3RCT6_S_HISw
Kotlin
BigDecimal (及び BigInteger)は使うが文字列を使うのは止めて色々計算して何とかするようにした。
https://paiza.io/projects/6H3b_gf_Kc3RCT6_S_HISw
567デフォルトの名無しさん
2023/03/12(日) 18:49:22.70ID:eBdq5KuG >>557のお題を勝手に改造
お題:5chのスレのURLが入力されるので内容を取得してもっともレスが付いているレス番号から順に出力しなさい
複数同率の場合は複数表示しなさい
回答例
Kotlin
https://paiza.io/projects/CICvfqwT52X4FsmIwxb_Zw
出力はURLと「レス数: レス番号, ...」になる。
要するに、>>557作っている内に最大のやつ一つ出すだけなのも勿体ないなと思って改造して出来上がったが元のお題とちょっと違うのでお題も勝手に改造した。
お題:5chのスレのURLが入力されるので内容を取得してもっともレスが付いているレス番号から順に出力しなさい
複数同率の場合は複数表示しなさい
回答例
Kotlin
https://paiza.io/projects/CICvfqwT52X4FsmIwxb_Zw
出力はURLと「レス数: レス番号, ...」になる。
要するに、>>557作っている内に最大のやつ一つ出すだけなのも勿体ないなと思って改造して出来上がったが元のお題とちょっと違うのでお題も勝手に改造した。
568564
2023/03/13(月) 02:22:32.85ID:3T4oo4fg569デフォルトの名無しさん
2023/03/14(火) 04:11:08.17ID:39BjzOmR >>509
Ruby で、
require 'csv'
require 'json'
# 製品タイプの出現回数を数える。初期値は0
prod_type_count = Hash.new( 0 )
# 1行ずつ処理する。Array.new( 1 ) で先頭要素に、nil が入る。
# 蓄積変数・ary のインデックスと、出現回数を同じにする。
# 例えば、ary[ 2 ] には、2つ目のB やC などが入る
result_ary = CSV.foreach( "input.csv" ).
each_with_object( Array.new( 1 ) ) do |row, ary|
plus_1 = prod_type_count[ row[ 0 ] ] + 1
prod_type_count[ row[ 0 ] ] = plus_1
if ary[ plus_1 ] # 存在する
ary[ plus_1 ].push row
else # 存在しない
ary[ plus_1 ] = [ row ]
end
end
# p prod_type_count
#=> { "B"=>2, "C"=>3, "F"=>2, "E"=>3, "D"=>4, "A"=>1, "G"=>1 }
次へ続く
Ruby で、
require 'csv'
require 'json'
# 製品タイプの出現回数を数える。初期値は0
prod_type_count = Hash.new( 0 )
# 1行ずつ処理する。Array.new( 1 ) で先頭要素に、nil が入る。
# 蓄積変数・ary のインデックスと、出現回数を同じにする。
# 例えば、ary[ 2 ] には、2つ目のB やC などが入る
result_ary = CSV.foreach( "input.csv" ).
each_with_object( Array.new( 1 ) ) do |row, ary|
plus_1 = prod_type_count[ row[ 0 ] ] + 1
prod_type_count[ row[ 0 ] ] = plus_1
if ary[ plus_1 ] # 存在する
ary[ plus_1 ].push row
else # 存在しない
ary[ plus_1 ] = [ row ]
end
end
# p prod_type_count
#=> { "B"=>2, "C"=>3, "F"=>2, "E"=>3, "D"=>4, "A"=>1, "G"=>1 }
次へ続く
570569
2023/03/14(火) 04:12:26.06ID:39BjzOmR result_ary.shift # 先頭要素のnil を削除する
res = result_ary.each_with_object( [ ] ) do |outer_ary, accum|
outer_ary.sort_by! { |inner_ary| inner_ary[ 0 ] } # 製品タイプでソートする
transposed_ary = outer_ary.transpose # 2次元配列を転置する
accum.push ( { "製品タイプ" => transposed_ary[ 0 ],
"製品ID" => transposed_ary[ 1 ],
"製品色" => transposed_ary[ 2 ] } )
end
puts JSON.dump( res ) # 文字列化
# p result_ary
=begin
ソート後のデータ
[ [["A", "01", "Y"], ["B", "02", "B"], ["C", "04", "Y"], ["D", "07", "B"], ["E", "12", "C"], ["F", "15", "R"], ["G", "16", "M"]],
[["B", "03", "C"], ["C", "06", "G"], ["D", "08", "B"], ["E", "11", "Y"], ["F", "14", "G"]],
[["C", "05", "C"], ["D", "10", "M"], ["E", "13", "B"]],
[["D", "09", "B"]] ]
=end
res = result_ary.each_with_object( [ ] ) do |outer_ary, accum|
outer_ary.sort_by! { |inner_ary| inner_ary[ 0 ] } # 製品タイプでソートする
transposed_ary = outer_ary.transpose # 2次元配列を転置する
accum.push ( { "製品タイプ" => transposed_ary[ 0 ],
"製品ID" => transposed_ary[ 1 ],
"製品色" => transposed_ary[ 2 ] } )
end
puts JSON.dump( res ) # 文字列化
# p result_ary
=begin
ソート後のデータ
[ [["A", "01", "Y"], ["B", "02", "B"], ["C", "04", "Y"], ["D", "07", "B"], ["E", "12", "C"], ["F", "15", "R"], ["G", "16", "M"]],
[["B", "03", "C"], ["C", "06", "G"], ["D", "08", "B"], ["E", "11", "Y"], ["F", "14", "G"]],
[["C", "05", "C"], ["D", "10", "M"], ["E", "13", "B"]],
[["D", "09", "B"]] ]
=end
571567
2023/03/15(水) 02:47:25.92ID:N1pHvbol >>557
Kotlin
>>567を更に改造して>>568の言うような >>xxx-xxx とかも可能にした。
実際に受け付けるのは「>>」の後が「数」または「数-数」で複数ある場合はカンマ区切り。
https://paiza.io/projects/CDH-JDZD12laCkRrON4Q2A
Kotlin
>>567を更に改造して>>568の言うような >>xxx-xxx とかも可能にした。
実際に受け付けるのは「>>」の後が「数」または「数-数」で複数ある場合はカンマ区切り。
https://paiza.io/projects/CDH-JDZD12laCkRrON4Q2A
572デフォルトの名無しさん
2023/03/16(木) 19:59:21.18ID:rEpIo1do マッチ棒パズルソルバ
0123456789+-=×/からなる文字列が与えられる
この文字列にC変換1回、またはA変換とB変換を一回ずつ行って得られる文字列のうち数式として成立するものを列挙せよ
https://youtu.be/2sqvh8KBdQk
例
6 = 3 + 3 - 8 → 6 = 3 + 3 = 6
7 = 6 + 5 → 11 = 6 + 5
2 = 3 + 0 → 3 = 3 + 0, 2 = 2 + 0
6 = 9 - 3 → 5 = 8 - 3
A変換(逆変換がB変換)
6 → 5
8 → 0, 6, 9
9 → 3, 5
= → -
× → /
C変換
0 → 6,9
2 → 3
3 → 2,5
4 → 7,11
5 → 3
6 → 0
7 → 4,11
9 → 0
11 → 4,7
0123456789+-=×/からなる文字列が与えられる
この文字列にC変換1回、またはA変換とB変換を一回ずつ行って得られる文字列のうち数式として成立するものを列挙せよ
https://youtu.be/2sqvh8KBdQk
例
6 = 3 + 3 - 8 → 6 = 3 + 3 = 6
7 = 6 + 5 → 11 = 6 + 5
2 = 3 + 0 → 3 = 3 + 0, 2 = 2 + 0
6 = 9 - 3 → 5 = 8 - 3
A変換(逆変換がB変換)
6 → 5
8 → 0, 6, 9
9 → 3, 5
= → -
× → /
C変換
0 → 6,9
2 → 3
3 → 2,5
4 → 7,11
5 → 3
6 → 0
7 → 4,11
9 → 0
11 → 4,7
573デフォルトの名無しさん
2023/03/18(土) 05:36:02.04ID:YIU3ErvV >>572
A変換に + → - もあるよね?
A変換に + → - もあるよね?
■ このスレッドは過去ログ倉庫に格納されています
