プログラミングのお題スレです。
【出題と回答例】
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
315デフォルトの名無しさん
2023/01/11(水) 20:08:58.20ID:2InRpmeN >>311
情報与えるんじゃなくて定義の話じゃね
情報与えるんじゃなくて定義の話じゃね
316デフォルトの名無しさん
2023/01/11(水) 20:09:36.17ID:2InRpmeN 前半は
317デフォルトの名無しさん
2023/01/11(水) 20:10:29.64ID:2InRpmeN まぁ定義も情報か
318デフォルトの名無しさん
2023/01/11(水) 20:27:59.86ID:Ew0xxktJ319デフォルトの名無しさん
2023/01/11(水) 20:31:06.96ID:Ew0xxktJ 蟻の出題はただの思いつきでまともなお題になってないから時間をかける価値は無い
320デフォルトの名無しさん
2023/01/11(水) 20:32:04.74ID:2InRpmeN >>308はそいつが勝手に入力扱いしただけやろ。
321デフォルトの名無しさん
2023/01/11(水) 20:33:14.80ID:2InRpmeN 無効でも順序対である必要あるん?
322デフォルトの名無しさん
2023/01/11(水) 20:37:29.73ID:Yn2pvCxf ケーニヒスベルクの橋の問題だから無向と思ったが
確かに順序対と書いてある
真意は蟻しかわからない
確かに順序対と書いてある
真意は蟻しかわからない
323デフォルトの名無しさん
2023/01/11(水) 20:38:27.83ID:Yn2pvCxf いずれにしろ>>314ではダメ
324デフォルトの名無しさん
2023/01/11(水) 20:39:54.20ID:2InRpmeN 何でダメなん?
325デフォルトの名無しさん
2023/01/11(水) 20:40:33.42ID:2InRpmeN ダメだね
326デフォルトの名無しさん
2023/01/11(水) 20:41:43.31ID:2InRpmeN いや、これは偶数じゃないか
グルグル回るだけのものは奇数で成り立つな
グルグル回るだけのものは奇数で成り立つな
327デフォルトの名無しさん
2023/01/11(水) 20:42:38.38ID:2InRpmeN 入と出が同数、ならどうだろう
328デフォルトの名無しさん
2023/01/11(水) 20:45:29.02ID:jpaYiZfD329デフォルトの名無しさん
2023/01/11(水) 20:48:29.09ID:tUKEbXZD >>311
は??
は??
330デフォルトの名無しさん
2023/01/11(水) 21:01:38.01ID:IvsI+U0J >>327
勘じゃなくてちゃんと考えてから書きなさい
勘じゃなくてちゃんと考えてから書きなさい
331デフォルトの名無しさん
2023/01/11(水) 21:06:32.39ID:IvsI+U0J 連結
全ての点で入と出の差が1以下
入と出が同数じゃない点が2個以下
全ての点で入と出の差が1以下
入と出が同数じゃない点が2個以下
332デフォルトの名無しさん
2023/01/11(水) 21:56:38.66ID:2InRpmeN お前さんには言われたくなかったねぇ
問題文もよく読んでなかったし思い込みで入力扱いして不要な情報だとかなんだとかしていたわけだからね。
問題文もよく読んでなかったし思い込みで入力扱いして不要な情報だとかなんだとかしていたわけだからね。
333デフォルトの名無しさん
2023/01/11(水) 22:09:56.53ID:NOiNk1Lr >全ての点で入と出の差が1以下
つまり次数が奇数の場合もありということか。
有向グラフになったらオイラーグラフの「全ての頂点の次数が偶数」よりも条件が緩くなるのかね。
そんなことあるかね
それとも準オイラーグラフも許されているのか?
ケーニヒスベルクの橋はオイラーグラフだからてっきりそれはないかと。
つまり次数が奇数の場合もありということか。
有向グラフになったらオイラーグラフの「全ての頂点の次数が偶数」よりも条件が緩くなるのかね。
そんなことあるかね
それとも準オイラーグラフも許されているのか?
ケーニヒスベルクの橋はオイラーグラフだからてっきりそれはないかと。
334デフォルトの名無しさん
2023/01/11(水) 22:13:53.37ID:8g/qDi9U すまない、橋の問題はオイラーグラフではなく閉路と言いたかった。
335デフォルトの名無しさん
2023/01/11(水) 22:17:34.30ID:xV7vDRTi あぁ、出題文の問題は一筆書きだけではなくて一筆書きで元の場所に戻るんだ
336デフォルトの名無しさん
2023/01/11(水) 22:21:52.27ID:smM4RS1r 草
アイツほんと問題文読んでないんだね
ドヤ顔で指摘しちゃって恥ずかしいたらありゃしない
アイツほんと問題文読んでないんだね
ドヤ顔で指摘しちゃって恥ずかしいたらありゃしない
337デフォルトの名無しさん
2023/01/11(水) 22:31:14.68ID:IvsI+U0J ケーニヒスベルクの橋って閉路なのか
ただの知識問題でプログラミング全く関係ないけど
ただの知識問題でプログラミング全く関係ないけど
338デフォルトの名無しさん
2023/01/11(水) 22:37:09.41ID:IvsI+U0J >>332
不要だろ
不要だろ
339デフォルトの名無しさん
2023/01/11(水) 22:39:09.52ID:zWDWCyHE 恥ゲージMAXやね
340デフォルトの名無しさん
2023/01/11(水) 22:46:10.73ID:IvsI+U0J341デフォルトの名無しさん
2023/01/11(水) 22:50:28.23ID:IvsI+U0J342デフォルトの名無しさん
2023/01/11(水) 22:58:19.00ID:SA6KxbU7 ( T_T)\(^-^ )ADHDって生きづらいよね
343デフォルトの名無しさん
2023/01/11(水) 23:07:37.17ID:2InRpmeN 違うんだよなぁ。
>>313の意図は知らんけど俺が言ってるのは頂点リストをプログラムの入力にするとは明記されてないということ。
単に「グラフの頂点番号の順序対のリストを与える」と言ったときに頂点番号ってなんだ?とならないようにその説明として「頂点に番号を付けたもの」という文言をつけてるだけの可能性もあるだろうということ。
まぁ、分からないか
>>313の意図は知らんけど俺が言ってるのは頂点リストをプログラムの入力にするとは明記されてないということ。
単に「グラフの頂点番号の順序対のリストを与える」と言ったときに頂点番号ってなんだ?とならないようにその説明として「頂点に番号を付けたもの」という文言をつけてるだけの可能性もあるだろうということ。
まぁ、分からないか
344デフォルトの名無しさん
2023/01/11(水) 23:12:57.97ID:IvsI+U0J 「AがBとして、CがDとして与えられる」
両方与えられるという文にみえる
両方与えられるという文にみえる
345デフォルトの名無しさん
2023/01/11(水) 23:14:31.62ID:IvsI+U0J そうじゃない解釈も確かにある
346デフォルトの名無しさん
2023/01/11(水) 23:14:42.49ID:2InRpmeN 「AはBとして、CはBのD」って意味じゃない?ってこと
347デフォルトの名無しさん
2023/01/11(水) 23:15:33.99ID:IvsI+U0J348デフォルトの名無しさん
2023/01/11(水) 23:15:34.98ID:2InRpmeN いや、BはAとしてCはBのDか
まぁどうでもいいけどね。
まぁどうでもいいけどね。
349デフォルトの名無しさん
2023/01/11(水) 23:16:10.44ID:2InRpmeN そそ、お前さんは先入観とそのレスに惑われてたってこと。
350デフォルトの名無しさん
2023/01/11(水) 23:18:58.91ID:IvsI+U0J >>311に対して「そうだね」で終わる話なのに
351デフォルトの名無しさん
2023/01/11(水) 23:19:23.16ID:IvsI+U0J 変に絡まれた
352デフォルトの名無しさん
2023/01/11(水) 23:19:59.30ID:2InRpmeN いやいや、まるで無駄な入力付けるなよって言ってるかのようじゃん…
まだあんまりわかってないかぁ
そもそも入力とは言ってないんだよね
まだあんまりわかってないかぁ
そもそも入力とは言ってないんだよね
353デフォルトの名無しさん
2023/01/11(水) 23:21:32.80ID:SA6KxbU7 あんぽんターン(^O^☆♪
354デフォルトの名無しさん
2023/01/11(水) 23:21:51.74ID:IvsI+U0J 結局プログラミング以外の話になるのが蟻のお題
355デフォルトの名無しさん
2023/01/11(水) 23:23:33.77ID:qgXhIU8i 【悲報】アスペクトガイジ、先入観でドヤ顔で指摘するも開き直る
356デフォルトの名無しさん
2023/01/11(水) 23:23:52.74ID:IvsI+U0J ケーニヒスベルクの橋の問題なんだから無向に決まってんだろ
これも1個の解釈
これも1個の解釈
357デフォルトの名無しさん
2023/01/11(水) 23:25:37.67ID:hvXrP5Qh 決まってないので指摘するのは間違いよ~
そもそも順序対に気付いていなかったのでそうだと思ってしまったのは仕方ないねぇ
そもそも順序対に気付いていなかったのでそうだと思ってしまったのは仕方ないねぇ
358デフォルトの名無しさん
2023/01/11(水) 23:29:01.68ID:IvsI+U0J 単発君、まだ勘違いしてるのか
アホ
アホ
359デフォルトの名無しさん
2023/01/11(水) 23:32:24.06ID:iLygO0TL 効いてる♪
効いてる♪
効いてる♪
効いてる♪
イライラしちゃって♪顔真っ赤♪
(妖怪ウォッチのリズムで)
効いてる♪
効いてる♪
効いてる♪
イライラしちゃって♪顔真っ赤♪
(妖怪ウォッチのリズムで)
360蟻人間 ◆T6xkBnTXz7B0
2023/01/12(木) 00:27:34.37ID:2cbw5EZQ お題: オブジェクト指向でお絵描きプログラム。
各図形は、描画に必要な座標などを保持する、オブジェクト指向に準じたクラスとして定義する。描画対象のキャンバスは画面、画像、テキスト文字列などを好きに選んでも構わない。
キャンバスでは長方形Rectangle、円Circleの2種類の図形をメモリーの許す限り複数個、追加ができ、また削除できる。色が指定できる場合は塗りつぶしは黄色とし、線の色は青色とする。線の太さは1ピクセル以上とする。
図形を描画する関数は多態性を持ったdraw関数とする。
各図形に図形の位置をずらすmove関数(平行移動)を追加せよ。
複数の図形をグループ化した図形GroupShapeを追加し、GroupShapeにもdraw関数、move関数を追加せよ。
サイズ80x25の空白キャンバスに対して以下の操作を行え。
1. 長方形(8, 10)~(10, 15)を追加。
2. 半径5の円(10, 10)を追加。
3. 1と2をグループ化して+(2, 7)だけmove関数でずらす。
4. キャンバスをdraw関数で描画する。
各図形は、描画に必要な座標などを保持する、オブジェクト指向に準じたクラスとして定義する。描画対象のキャンバスは画面、画像、テキスト文字列などを好きに選んでも構わない。
キャンバスでは長方形Rectangle、円Circleの2種類の図形をメモリーの許す限り複数個、追加ができ、また削除できる。色が指定できる場合は塗りつぶしは黄色とし、線の色は青色とする。線の太さは1ピクセル以上とする。
図形を描画する関数は多態性を持ったdraw関数とする。
各図形に図形の位置をずらすmove関数(平行移動)を追加せよ。
複数の図形をグループ化した図形GroupShapeを追加し、GroupShapeにもdraw関数、move関数を追加せよ。
サイズ80x25の空白キャンバスに対して以下の操作を行え。
1. 長方形(8, 10)~(10, 15)を追加。
2. 半径5の円(10, 10)を追加。
3. 1と2をグループ化して+(2, 7)だけmove関数でずらす。
4. キャンバスをdraw関数で描画する。
361デフォルトの名無しさん
2023/01/12(木) 03:40:18.96ID:+C22HBL8 お題: 電子レンジのワット数に応じた時間計算
例えば500Wでしか暖められない電子レンジがあったとして、600W 2分30秒と書かれた弁当を温める場合に何分何秒にセットするのが良いかを計算して出す。
プログラムの入力はワット数、時間、変換ワット数のように引数で指定でも良いし標準入力から入力しても良いしその辺はご自由に。
出力は何分何秒になるかが分かるように出力されれば良い。
例えば500Wでしか暖められない電子レンジがあったとして、600W 2分30秒と書かれた弁当を温める場合に何分何秒にセットするのが良いかを計算して出す。
プログラムの入力はワット数、時間、変換ワット数のように引数で指定でも良いし標準入力から入力しても良いしその辺はご自由に。
出力は何分何秒になるかが分かるように出力されれば良い。
362デフォルトの名無しさん
2023/01/12(木) 04:31:32.73ID:SDSfV1tN お題:画面左から右に放物線を描け
放物線の大きさは自由とする
放物線の大きさは自由とする
363デフォルトの名無しさん
2023/01/12(木) 17:46:47.17ID:0N8k5ccV もうちょっと解きたくなる問題にしてよ
364デフォルトの名無しさん
2023/01/12(木) 20:01:45.06ID:SDSfV1tN 解きたくなる問題っていわゆる競技プログラミング的な問題?
365デフォルトの名無しさん
2023/01/12(木) 22:39:30.54ID:NydLThiR 辺のリストとして順序のない頂点番号のペアのリストが与えられます
すべての頂点についてそこに接続される辺の数が偶数であるか判定するプログラムを記述せよ
すべての頂点についてそこに接続される辺の数が偶数であるか判定するプログラムを記述せよ
366デフォルトの名無しさん
2023/01/13(金) 07:12:10.26ID:yfNIHWIT お題:2023と出力せよ
ただしソースコードに使う記号とアルファベットと数字の文字数は同じでなければならない
ただしソースコードに使う記号とアルファベットと数字の文字数は同じでなければならない
367デフォルトの名無しさん
2023/01/13(金) 07:28:17.46ID:yfNIHWIT368デフォルトの名無しさん
2023/01/13(金) 08:40:12.03ID:nvi3rj0H printf("%04d",03747);
369デフォルトの名無しさん
2023/01/13(金) 14:36:20.69ID:+TkXA4uq >>365
digraph "koenigsberg" {
graph [rankdir=LR]
A [label="い"]
B [label="ろ"]
C [label="は"]
D [label="に"]
A -> B; A -> C; A -> D
C -> B; C -> B
C -> D; C -> D
}
屁が臭い
digraph "koenigsberg" {
graph [rankdir=LR]
A [label="い"]
B [label="ろ"]
C [label="は"]
D [label="に"]
A -> B; A -> C; A -> D
C -> B; C -> B
C -> D; C -> D
}
屁が臭い
370デフォルトの名無しさん
2023/01/15(日) 00:08:46.23ID:FV+qvPCN >>366
C
https://paiza.io/projects/i1c5DPBXZ1G-wd1QHitTQA
記号、アルファベット、数字は全て45文字になっている。空白文字はカウントしていない。
まあでも、C言語だからこれでエラーなくコンパイルできたというだけだな。
(paiza.ioのCコンパイラは警告出しまくりではあるが)。
他の言語だと変数に文字列代入するとかコメント使うとかしないと文字数の調整が出来ないかも知れない。
C
https://paiza.io/projects/i1c5DPBXZ1G-wd1QHitTQA
記号、アルファベット、数字は全て45文字になっている。空白文字はカウントしていない。
まあでも、C言語だからこれでエラーなくコンパイルできたというだけだな。
(paiza.ioのCコンパイラは警告出しまくりではあるが)。
他の言語だと変数に文字列代入するとかコメント使うとかしないと文字数の調整が出来ないかも知れない。
371デフォルトの名無しさん
2023/01/15(日) 01:00:27.85ID:FV+qvPCN >>361
Kotlin
https://paiza.io/projects/5CeeHK2CT8yX9ExfzW5N8A
実はこのお題を作ったのは俺だ。
計算そのものはとても簡単なのでこういう機能は電子レンジに内蔵して欲しいな。
ワット数一つでダイヤル式の安い電子レンジでもそういう目盛りを書いておいてくれれば出来る。
Kotlin
https://paiza.io/projects/5CeeHK2CT8yX9ExfzW5N8A
実はこのお題を作ったのは俺だ。
計算そのものはとても簡単なのでこういう機能は電子レンジに内蔵して欲しいな。
ワット数一つでダイヤル式の安い電子レンジでもそういう目盛りを書いておいてくれれば出来る。
372デフォルトの名無しさん
2023/01/15(日) 02:14:30.17ID:gPxpLXY1 普通の知能を有した人間なら簡単に暗算出来るから必要ない
重度知能障害のガイジにはその機能すら使えない
つまり
極一部の軽度知能障害ガイジにだけ求められるニッチすぎる機能
そんなバカ向け機能搭載するくらいなら必要な温め時間を商品から読み取る機能を規格化して全(半)自動化すべきだろう
重度知能障害のガイジにはその機能すら使えない
つまり
極一部の軽度知能障害ガイジにだけ求められるニッチすぎる機能
そんなバカ向け機能搭載するくらいなら必要な温め時間を商品から読み取る機能を規格化して全(半)自動化すべきだろう
373デフォルトの名無しさん
2023/01/15(日) 05:24:15.26ID:HfW5N73n 理屈があるのは分かるがまあ普段なら目分量的なイメージで適当に加減するわな
大体でいいんだし暗算っていうか計算すらしてないと思うが
大体でいいんだし暗算っていうか計算すらしてないと思うが
374デフォルトの名無しさん
2023/01/15(日) 06:42:56.97ID:jfEFDcL5 電子レンジにQRコード読み取り部作って弁当のラベルのQRコードで自動的にあっため時間セットしてくれるとかなら便利かな?
375デフォルトの名無しさん
2023/01/15(日) 08:11:24.04ID:mSV32aUO >>366 Ruby
puts 2_0_2_3
puts 2_0_2_3
376デフォルトの名無しさん
2023/01/15(日) 17:19:38.70ID:WCY+XZ1J377デフォルトの名無しさん
2023/01/15(日) 17:48:39.72ID:WCY+XZ1J378蟻人間 ◆T6xkBnTXz7B0
2023/01/15(日) 21:44:15.23ID:vbe9Mh4B お題: エラトステネスのふるいによる素数計算。ただし、発見した素数は
一行ごとにテキストファイルに保存し、途中で中断したり、途中から再開できるようにせよ。
一行ごとにテキストファイルに保存し、途中で中断したり、途中から再開できるようにせよ。
380デフォルトの名無しさん
2023/01/16(月) 01:01:20.29ID:dNVpKyvJ 蟻人間ってこんなスレにも湧くのか
381デフォルトの名無しさん
2023/01/16(月) 15:39:46.71ID:MsfEWWA2 行についての説明が欠如
382デフォルトの名無しさん
2023/01/16(月) 15:41:07.03ID:MsfEWWA2 >>374
電子レンジの中のトレイの下の台って重さ測れるの?
電子レンジの中のトレイの下の台って重さ測れるの?
383デフォルトの名無しさん
2023/01/16(月) 22:39:09.16ID:iuZ1R8qg お題
4桁のダイヤルロックの全パターン(0000~9999)を試すときの
最小手数の手順を一つ構成せよ。一つの桁の数字を1だけずらすことを1手とする。
[出力例]
0000
0001
0002
…
0008
0009
0019
…
…
4桁のダイヤルロックの全パターン(0000~9999)を試すときの
最小手数の手順を一つ構成せよ。一つの桁の数字を1だけずらすことを1手とする。
[出力例]
0000
0001
0002
…
0008
0009
0019
…
…
384デフォルトの名無しさん
2023/01/16(月) 23:31:00.58ID:aXflKE34 >>374
それできると便利だね。レンジの庫内の上にカメラ付けておいて読ませれば弁当入れてスタートさせるだけで良くなる。
それできると便利だね。レンジの庫内の上にカメラ付けておいて読ませれば弁当入れてスタートさせるだけで良くなる。
385蟻人間 ◆T6xkBnTXz7B0
2023/01/20(金) 00:01:32.51ID:9QULq18e お題: マイドキュメントの中から「secret.txt」というファイルを探して、
見つかったら、そのフルパスと中身を出力するプログラム。
見つかったら、そのフルパスと中身を出力するプログラム。
386デフォルトの名無しさん
2023/01/20(金) 01:04:08.85ID:ZAb8Aj+J 仕様があいまい
387デフォルトの名無しさん
2023/01/20(金) 08:07:46.26ID:QPqgERsk わざとやってんのか
ズレてるの自覚してないのか
ズレてるの自覚してないのか
388デフォルトの名無しさん
2023/01/20(金) 08:26:44.32ID:4FDe58aX アホだからわからないんでしょ
389デフォルトの名無しさん
2023/01/21(土) 06:38:17.48ID:LtuQH3eG >>385
Windows 限定?
Windows 限定?
390デフォルトの名無しさん
2023/01/21(土) 09:24:11.19ID:65q2x7kt アホの相手すんな
391デフォルトの名無しさん
2023/01/21(土) 20:04:10.41ID:JTA3Ya2G392蟻人間 ◆T6xkBnTXz7B0
2023/01/21(土) 20:29:41.73ID:F/Hlc0t0393デフォルトの名無しさん
2023/01/21(土) 22:48:16.95ID:PxhUXXTz >>392
Linux のコンサバなディストリは今はなにがお勧めですか、もうそろそろ Linux に乗り換えようかと
Linux のコンサバなディストリは今はなにがお勧めですか、もうそろそろ Linux に乗り換えようかと
394蟻人間 ◆T6xkBnTXz7B0
2023/01/21(土) 23:10:37.02ID:F/Hlc0t0 >>393
一般のデスクトップ向けの無料Linuxなら、利用者と情報の多いUbuntuやXubuntuがいい。
工業製品向けとなるとAndroidとかPuppy Linuxかな。私はLinuxは専門外だけど。
一般のデスクトップ向けの無料Linuxなら、利用者と情報の多いUbuntuやXubuntuがいい。
工業製品向けとなるとAndroidとかPuppy Linuxかな。私はLinuxは専門外だけど。
395デフォルトの名無しさん
2023/01/22(日) 06:43:14.23ID:1NpPY/pK WSL2, Ubuntu 20.04 か22.04。
まあ素人は、20.04が無難
VSCode の拡張機能・Remote Development(Remote WSL, Remote SSH, Remote Containers)
これで、WSL2, Docker Desktop も使える
多言語バージョンマネージャーは、日本人が作ったanyenv とか、asdf もある。
それか、Docker
まあ素人は、20.04が無難
VSCode の拡張機能・Remote Development(Remote WSL, Remote SSH, Remote Containers)
これで、WSL2, Docker Desktop も使える
多言語バージョンマネージャーは、日本人が作ったanyenv とか、asdf もある。
それか、Docker
396デフォルトの名無しさん
2023/01/22(日) 07:22:51.14ID:LkY3mVDz 純粋関数型言語触るかテスト駆動開発入門してセンス磨いてくれ
397デフォルトの名無しさん
2023/01/22(日) 14:44:09.50ID:4qkUXg4j お題
月、名前、金額が入力されます
月が2022-12〜2023-01の期間で
金額の合計が最も大きい人の名前と合計の金額を出力してください
2022-10 加藤 10
2022-12 柳沢 10000
2022-10 柳沢 26
2023-01 伊東 10
2022-12 柳沢 151288
2022-11 加藤 10000
2023-02 伊東 257900
2022-12 柳沢 12600
2022-10 伊東 12600
2023-01 伊東 70000
2022-11 加藤 40000
2023-01 伊東 150000
2022-11 加藤 60000
2022-12 柳沢 257900
2023-02 柳沢 40000
2022-11 加藤 26
2023-02 加藤 10000
月、名前、金額が入力されます
月が2022-12〜2023-01の期間で
金額の合計が最も大きい人の名前と合計の金額を出力してください
2022-10 加藤 10
2022-12 柳沢 10000
2022-10 柳沢 26
2023-01 伊東 10
2022-12 柳沢 151288
2022-11 加藤 10000
2023-02 伊東 257900
2022-12 柳沢 12600
2022-10 伊東 12600
2023-01 伊東 70000
2022-11 加藤 40000
2023-01 伊東 150000
2022-11 加藤 60000
2022-12 柳沢 257900
2023-02 柳沢 40000
2022-11 加藤 26
2023-02 加藤 10000
398デフォルトの名無しさん
2023/01/22(日) 16:15:12.29ID:kK2ZzIVu >>397
Haskell
mport Data.List
makeReport ls = id
$ (\x -> ( minimum x, maximum x ))
$ map (\x -> ( sum $ map (read.(!!2)) x, (head x)!!1))
$ groupBy (\x y -> x!!1 == y!!1 )
$ filter ( \x -> head x >= "2022-12" && head x <= "2023-01" )
$ map words
$ ls
main = do
cont <- getContents
let ls = lines cont
print $ makeReport ls
Haskell
mport Data.List
makeReport ls = id
$ (\x -> ( minimum x, maximum x ))
$ map (\x -> ( sum $ map (read.(!!2)) x, (head x)!!1))
$ groupBy (\x y -> x!!1 == y!!1 )
$ filter ( \x -> head x >= "2022-12" && head x <= "2023-01" )
$ map words
$ ls
main = do
cont <- getContents
let ls = lines cont
print $ makeReport ls
399デフォルトの名無しさん
2023/01/23(月) 01:10:57.11ID:PlrAEUgr >>397
awk, sort, head
元データをコピペで odai_397.txt に入れておいて Linux で bash から以下を実行した。
awk '$1>="2022-12"&&$1<="2023-01"{t[$2]+=$3}END{for(i in t)print i,t[i]}' odai_397.txt | sort -k 2nr | head -1
結果はこう出た。
柳沢 431788
awk, sort, head
元データをコピペで odai_397.txt に入れておいて Linux で bash から以下を実行した。
awk '$1>="2022-12"&&$1<="2023-01"{t[$2]+=$3}END{for(i in t)print i,t[i]}' odai_397.txt | sort -k 2nr | head -1
結果はこう出た。
柳沢 431788
400デフォルトの名無しさん
2023/01/23(月) 02:39:02.46ID:PlrAEUgr401デフォルトの名無しさん
2023/01/31(火) 06:31:47.98ID:ozTESx1d お題
顧客番号・商品番号・小計のCSV を、
商品番号が連番の場合には、その分だけ行数を増やし、
小計を等分割しろ(1円未満は切り捨て)
入力
1,1,100
2,1-3,200
3,1,500
3,2-3,400
出力
1,1,100
2,1,66
2,2,66
2,3,66
3,1,500
3,2,200
3,3,200
空白行に意味はない。見やすくしただけ
顧客番号・商品番号・小計のCSV を、
商品番号が連番の場合には、その分だけ行数を増やし、
小計を等分割しろ(1円未満は切り捨て)
入力
1,1,100
2,1-3,200
3,1,500
3,2-3,400
出力
1,1,100
2,1,66
2,2,66
2,3,66
3,1,500
3,2,200
3,3,200
空白行に意味はない。見やすくしただけ
402デフォルトの名無しさん
2023/02/01(水) 03:34:10.44ID:7Z3xMS0R >>401
Haskell
https://ideone.com/ESZHys
ただし入力はすべての行が
整数,整数,整数
または
整数,整数-整数,整数
のみの形と仮定、エラー処理やそれ以外の形式でが混じっている(空行など)が混じることは想定せず
Haskell
https://ideone.com/ESZHys
ただし入力はすべての行が
整数,整数,整数
または
整数,整数-整数,整数
のみの形と仮定、エラー処理やそれ以外の形式でが混じっている(空行など)が混じることは想定せず
403デフォルトの名無しさん
2023/02/01(水) 22:55:53.80ID:8+TAxA89404デフォルトの名無しさん
2023/02/02(木) 02:55:58.24ID:lvlxzCHr405デフォルトの名無しさん
2023/02/03(金) 20:44:23.48ID:KJ3h+c6Z >>397
Elixir で作った。これは、ややこしかった
{ :ok, input_data } = File.read( "input_data.csv" )
# IO.inspect input_data
# 末尾の改行を削除してから、1行ずつ処理する。空白で区切る。
# 2022-12 〜 2023-01 の期間内のデータだけに絞り込む。
# 名前でグルーピングしてから、金額を取り出す。
# 各人の金額を、数値に変換してから合計する。
# 合計が最も大きい人を求める
tuple = input_data
|> String.trim
|> String.split( "\n" )
|> Enum.map( fn( line ) -> String.split( line, " " ) end )
|> Enum.filter( fn [ head | _ ] -> "2022-12" <= head and head <= "2023-01" end )
# |> IO.inspect
|> Enum.group_by( fn [ _, name, _ ] -> name end, fn [ _, _, money ] -> money end )
# |> IO.inspect
|> Enum.map( fn { key, val } -> { key,
Enum.sum( Enum.map( val, &String.to_integer( &1 ) ) )
}
end )
# |> IO.inspect
|> Enum.max_by( &elem( &1, 1 ) )
# |> IO.inspect
{ name, money } = tuple
IO.puts "#{ name }, #{ money }"
#=> 柳沢, 431788
Elixir で作った。これは、ややこしかった
{ :ok, input_data } = File.read( "input_data.csv" )
# IO.inspect input_data
# 末尾の改行を削除してから、1行ずつ処理する。空白で区切る。
# 2022-12 〜 2023-01 の期間内のデータだけに絞り込む。
# 名前でグルーピングしてから、金額を取り出す。
# 各人の金額を、数値に変換してから合計する。
# 合計が最も大きい人を求める
tuple = input_data
|> String.trim
|> String.split( "\n" )
|> Enum.map( fn( line ) -> String.split( line, " " ) end )
|> Enum.filter( fn [ head | _ ] -> "2022-12" <= head and head <= "2023-01" end )
# |> IO.inspect
|> Enum.group_by( fn [ _, name, _ ] -> name end, fn [ _, _, money ] -> money end )
# |> IO.inspect
|> Enum.map( fn { key, val } -> { key,
Enum.sum( Enum.map( val, &String.to_integer( &1 ) ) )
}
end )
# |> IO.inspect
|> Enum.max_by( &elem( &1, 1 ) )
# |> IO.inspect
{ name, money } = tuple
IO.puts "#{ name }, #{ money }"
#=> 柳沢, 431788
406405
2023/02/03(金) 20:45:35.25ID:KJ3h+c6Z >>405
の続き。データの変遷
[
["2022-12", "柳沢", "10000"],
["2023-01", "伊東", "10"],
["2022-12", "柳沢", "151288"],
["2022-12", "柳沢", "12600"],
["2023-01", "伊東", "70000"],
["2023-01", "伊東", "150000"],
["2022-12", "柳沢", "257900"]
]
%{
"伊東" => ["10", "70000", "150000"],
"柳沢" => ["10000", "151288", "12600", "257900"]
}
[{"伊東", 220010}, {"柳沢", 431788}]
{"柳沢", 431788}
の続き。データの変遷
[
["2022-12", "柳沢", "10000"],
["2023-01", "伊東", "10"],
["2022-12", "柳沢", "151288"],
["2022-12", "柳沢", "12600"],
["2023-01", "伊東", "70000"],
["2023-01", "伊東", "150000"],
["2022-12", "柳沢", "257900"]
]
%{
"伊東" => ["10", "70000", "150000"],
"柳沢" => ["10000", "151288", "12600", "257900"]
}
[{"伊東", 220010}, {"柳沢", 431788}]
{"柳沢", 431788}
407デフォルトの名無しさん
2023/02/14(火) 09:18:44.14ID:NQYE/eke >>397
C#
public static void Main(String[] args) {
var m = ReadLines()
.Select(x => {
var a = x.Split(" ");
return new { Month = a[0], Name = a[1], Money = int.Parse(a[2]) };
})
.Where(x => "2022-12".CompareTo(x.Month) <= 0 && x.Month.CompareTo("2023-01") <= 0)
.GroupBy(x => x.Name)
.Select(g => new { Name = g.Key, Total = g.Select(x => x.Money).Sum() })
.MaxBy(x => x.Total);
Console.WriteLine(m);
}
static IEnumerable<string> ReadLines() {
while (true) {
var line = Console.ReadLine();
if (line == null) {
yield break;
}
yield return line;
}
}
C#
public static void Main(String[] args) {
var m = ReadLines()
.Select(x => {
var a = x.Split(" ");
return new { Month = a[0], Name = a[1], Money = int.Parse(a[2]) };
})
.Where(x => "2022-12".CompareTo(x.Month) <= 0 && x.Month.CompareTo("2023-01") <= 0)
.GroupBy(x => x.Name)
.Select(g => new { Name = g.Key, Total = g.Select(x => x.Money).Sum() })
.MaxBy(x => x.Total);
Console.WriteLine(m);
}
static IEnumerable<string> ReadLines() {
while (true) {
var line = Console.ReadLine();
if (line == null) {
yield break;
}
yield return line;
}
}
408デフォルトの名無しさん
2023/02/14(火) 09:59:44.90ID:K2Y3lAZv お題:与えられた文字列が回文であるかどうかを判定するプログラムを作成してください。 (例: "racecar"は回文)
409デフォルトの名無しさん
2023/02/14(火) 17:10:57.35ID:Dc+ThI52 >>408
Haskell
isPalindrome x = x == reverse x
main = do
print $ isPalindrome "DVD"
print $ isPalindrome "TOMATO"
print $ isPalindrome "しんぶんし"
------
True
False
True
Haskell
isPalindrome x = x == reverse x
main = do
print $ isPalindrome "DVD"
print $ isPalindrome "TOMATO"
print $ isPalindrome "しんぶんし"
------
True
False
True
410デフォルトの名無しさん
2023/02/18(土) 20:06:32.64ID:7FIuY7Pp >>401
C#
public static void Main(String[] args) {
var xs = ReadLines()
.Select(x => {
var a = x.Split(",");
return new { UserId = a[0], ItemIdRange = a[1], Amount = int.Parse(a[2]) };
})
.SelectMany(x => {
var range = x.ItemIdRange.Split("-")
.Select(y => int.Parse(y))
.ToArray();
var from = range[0];
var to = range.Length == 1 ? from : range[1];
var count = to - from + 1;
var amount = x.Amount / count;
return Enumerable.Range(from, count)
.Select(id => new { UserId = x.UserId, ItemId = id, Amount = amount });
});
foreach (var x in xs) {
Console.WriteLine(x);
}
}
static IEnumerable<string> ReadLines() {
while (true) {
var line = Console.ReadLine();
if (line == null) {
yield break;
}
yield return line;
}
}
C#
public static void Main(String[] args) {
var xs = ReadLines()
.Select(x => {
var a = x.Split(",");
return new { UserId = a[0], ItemIdRange = a[1], Amount = int.Parse(a[2]) };
})
.SelectMany(x => {
var range = x.ItemIdRange.Split("-")
.Select(y => int.Parse(y))
.ToArray();
var from = range[0];
var to = range.Length == 1 ? from : range[1];
var count = to - from + 1;
var amount = x.Amount / count;
return Enumerable.Range(from, count)
.Select(id => new { UserId = x.UserId, ItemId = id, Amount = amount });
});
foreach (var x in xs) {
Console.WriteLine(x);
}
}
static IEnumerable<string> ReadLines() {
while (true) {
var line = Console.ReadLine();
if (line == null) {
yield break;
}
yield return line;
}
}
411デフォルトの名無しさん
2023/02/18(土) 20:21:20.76ID:7FIuY7Pp >>408
C#
static bool IsPalindrome(string s) {
var i = -1;
var j = s.Length;
while (++i < --j) if (s[i] != s[j]) return false;
return true;
}
C#
static bool IsPalindrome(string s) {
var i = -1;
var j = s.Length;
while (++i < --j) if (s[i] != s[j]) return false;
return true;
}
412蟻人間 ◆T6xkBnTXz7B0
2023/02/18(土) 21:57:36.50ID:VTzLeszJ お題: 漢字かな混じり文をひらがなにする。
「親子丼を食べたい。」→「おやこどんをたべたい。」
「チャーハン美味しい!」→「ちゃーはんおいしい!」
「電話に出んわ」→「でんわにでんわ」
「親子丼を食べたい。」→「おやこどんをたべたい。」
「チャーハン美味しい!」→「ちゃーはんおいしい!」
「電話に出んわ」→「でんわにでんわ」
413デフォルトの名無しさん
2023/02/18(土) 23:37:48.45ID:MFomzfEL そんなんライブラリ使えば簡単
ちなコードは書かない
ちなコードは書かない
414デフォルトの名無しさん
2023/02/19(日) 11:38:22.32ID:IvV72Gup ChatGPTに聞いてみた。
プロンプト
漢字とひらがなを含む日本語の文をひらがなに変換するプログラムをPythonで書いて下さい。以下は入出力例です。
「親子丼を食べたい。」→「おやこどんをたべたい。」
「チャーハン美味しい!」→「ちゃーはんおいしい!」
「電話に出んわ」→「でんわにでんわ」
回答
Pythonでは、「janome」という形態素解析ライブラリを利用することで、文字列を形態素解析して単語に分割し、各単語の読みを取得することができます。以下は、janomeを使って入力された日本語の文をひらがなに変換するプログラムの例です。
from janome.tokenizer import Tokenizer
def kanji_to_hiragana(text):
t = Tokenizer()
tokens = t.tokenize(text)
result = ""
for token in tokens:
reading = token.reading
if reading is None:
result += token.surface
else:
result += reading
return result
text = "親子丼を食べたい。"
result = kanji_to_hiragana(text)
print(result) # おやこどんをたべたい。
text = "チャーハン美味しい!"
result = kanji_to_hiragana(text)
print(result) # ちゃーはんおいしい!
text = "電話に出んわ"
result = kanji_to_hiragana(text)
print(result) # でんわにでんわ
このプログラムでは、janomeのTokenizerクラスを使用して、入力されたテキストを形態素解析し、各単語の読みを取得します。単語の読みは、Tokenオブジェクトのreading属性に格納されており、これがひらがなであれば、そのまま結果に追加します。readingがNoneの場合は、漢字や記号などの場合であるため、Tokenオブジェクトのsurface属性をそのまま結果に追加します。最終的に、全ての単語を結合してひらがなに変換された文字列を返します。
プロンプト
漢字とひらがなを含む日本語の文をひらがなに変換するプログラムをPythonで書いて下さい。以下は入出力例です。
「親子丼を食べたい。」→「おやこどんをたべたい。」
「チャーハン美味しい!」→「ちゃーはんおいしい!」
「電話に出んわ」→「でんわにでんわ」
回答
Pythonでは、「janome」という形態素解析ライブラリを利用することで、文字列を形態素解析して単語に分割し、各単語の読みを取得することができます。以下は、janomeを使って入力された日本語の文をひらがなに変換するプログラムの例です。
from janome.tokenizer import Tokenizer
def kanji_to_hiragana(text):
t = Tokenizer()
tokens = t.tokenize(text)
result = ""
for token in tokens:
reading = token.reading
if reading is None:
result += token.surface
else:
result += reading
return result
text = "親子丼を食べたい。"
result = kanji_to_hiragana(text)
print(result) # おやこどんをたべたい。
text = "チャーハン美味しい!"
result = kanji_to_hiragana(text)
print(result) # ちゃーはんおいしい!
text = "電話に出んわ"
result = kanji_to_hiragana(text)
print(result) # でんわにでんわ
このプログラムでは、janomeのTokenizerクラスを使用して、入力されたテキストを形態素解析し、各単語の読みを取得します。単語の読みは、Tokenオブジェクトのreading属性に格納されており、これがひらがなであれば、そのまま結果に追加します。readingがNoneの場合は、漢字や記号などの場合であるため、Tokenオブジェクトのsurface属性をそのまま結果に追加します。最終的に、全ての単語を結合してひらがなに変換された文字列を返します。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 言うほどミッキー逆さにするとちんこに見えるか?
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- まみちゃん
- ちっしゃーねーな。俺が習近平のアナルに武力侵攻してきてやるよ
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
