プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1549160513/
プログラミングのお題スレ Part14
■ このスレッドは過去ログ倉庫に格納されています
2019/05/18(土) 17:33:29.45ID:BWmpW4IF
562デフォルトの名無しさん
2019/06/24(月) 01:56:20.12ID:JSF3ka2M563デフォルトの名無しさん
2019/06/24(月) 06:28:51.10ID:PKUWjPMB >>555 Lua
prrint("∿")
prrint("∿")
564デフォルトの名無しさん
2019/06/24(月) 14:09:18.13ID:BXNZhLwW565デフォルトの名無しさん
2019/06/24(月) 14:11:03.35ID:BXNZhLwW >>555 Python numpy , matplotlib
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
566デフォルトの名無しさん
2019/06/24(月) 16:09:05.86ID:BXNZhLwW567デフォルトの名無しさん
2019/06/24(月) 16:10:01.37ID:BXNZhLwW こっちの方が良いね
https://i.imgur.com/D5WDUTF.jpg
https://i.imgur.com/D5WDUTF.jpg
568デフォルトの名無しさん
2019/06/24(月) 17:22:50.00ID:y3nBEW/D https://light.dotup.org/uploda/light.dotup.org596741.png
>>555
C++で書いてみたよ。
画像生成は自作コード。
面クラス作ってwindows bitmap 用に書き込みした。
趣味で色キチにしてある。
>>555
C++で書いてみたよ。
画像生成は自作コード。
面クラス作ってwindows bitmap 用に書き込みした。
趣味で色キチにしてある。
569デフォルトの名無しさん
2019/06/24(月) 17:48:28.72ID:DDT4XoH6 >>555
ChromeのURLバーに叩き込む
javascript:document.innerHTML='<svg><path d="M0 50 C 40 10 60 10 100 50 C 140 90 160 90 200 50 Z">'
スクショ
https://i.imgur.com/4jf1NdV.png
ChromeのURLバーに叩き込む
javascript:document.innerHTML='<svg><path d="M0 50 C 40 10 60 10 100 50 C 140 90 160 90 200 50 Z">'
スクショ
https://i.imgur.com/4jf1NdV.png
570蟻人間 ◆T6xkBnTXz7B0
2019/06/24(月) 17:52:22.52ID:eqHVB1zL だんだん難しくなるよ。
お題: 8の字曲線を描画せよ。
お題: 8の字曲線を描画せよ。
571デフォルトの名無しさん
2019/06/24(月) 18:22:01.03ID:lp2pR5Nh >>570 そんな似たような問題飽きるよ。
572デフォルトの名無しさん
2019/06/24(月) 18:24:31.37ID:DDT4XoH6 console.log('8')
573蟻人間 ◆T6xkBnTXz7B0
2019/06/24(月) 18:33:31.05ID:oK/rIQPy お題: ベルトコンベヤで左から右へチーズケーキが不定期に断続的に供給される。Aさん、Bさん、Cさんは右から順番にチーズケーキを食べる。
ただし、AさんはBさんより食べる速度が早い。BさんはCさんより食べる速度が早い。お腹一杯になるとしばらく食べられない。
これをマルチスレッドで再現せよ。
ただし、AさんはBさんより食べる速度が早い。BさんはCさんより食べる速度が早い。お腹一杯になるとしばらく食べられない。
これをマルチスレッドで再現せよ。
574デフォルトの名無しさん
2019/06/24(月) 18:40:26.97ID:7jtxfSjt >>570 Squeak Smalltalk
(PolygonMorph
shapeFromPen: [:pen |
| lemniscate factor |
lemniscate := [:θ | θ cos / (1 + θ sin squared) @ (θ sin * θ cos / (1 + θ sin squared))].
factor := 100.
pen up.
0 to: 360 do: [:deg | pen goto: (lemniscate value: deg degreesToRadians) * factor; down]]
color: Color transparent
borderWidth: 2
borderColor: Color red) position: Display center; openInWorld
"=> https://i.imgur.com/CiUeI8I.png "
(PolygonMorph
shapeFromPen: [:pen |
| lemniscate factor |
lemniscate := [:θ | θ cos / (1 + θ sin squared) @ (θ sin * θ cos / (1 + θ sin squared))].
factor := 100.
pen up.
0 to: 360 do: [:deg | pen goto: (lemniscate value: deg degreesToRadians) * factor; down]]
color: Color transparent
borderWidth: 2
borderColor: Color red) position: Display center; openInWorld
"=> https://i.imgur.com/CiUeI8I.png "
575蟻人間 ◆T6xkBnTXz7B0
2019/06/24(月) 19:18:23.37ID:oK/rIQPy お題: あなたは宇宙時代の靴屋さんだ。宇宙人の足底の形状データが二次元多角形ベクトルデータとして与えられる。多角形が円に収まるように円形の靴の底を設計せよ。
>>561
>自分が勝手に思ってても人には伝わらないよ。
ほう、私の記述が不十分というわけですか?
しかし、
>カンマで区切られたスレなんて俺のブラウザでは辿れないし
これは特に「アンカー」というのですよ。「アンカー」、この単語をご存知なかったのですか?
>カンマで区切られたスレなんて俺のブラウザでは辿れないし
私の専用ブラウザでは十分にたどれますよ、おま環でしょう、おま環、おま環(爆笑)
>リンク先のページもどれがなんなのかわからないし、
QZ 専用スレのことですか
そもそも専用スレを持っているということ自体が特筆に値するでしょう
あなたも専用スレを作ってみたらいい、一発で削除されますよ
それに、そこでは私は、私が何を目的に何を書いたのか一目瞭然ですね
必要にして十分とはまさにこのことでしょう
過去ログはお布施をすれば自由に取り込めます、おま環、おま環(爆笑)
>よくそんなのでプログラムの世界で生きてるね。 クビにならないことを祈るよ。
あなたが5ch で不自由な制約のもとにあるのはよくわかりました、ひとことでいってお布施が足りない、まずはお布施をすることですね
私は職業プログラマでないので、すでにプログラムの世界ではクビになっています、ついでに現在の職業もクビになりそうです…いや、ラプラス変換の部分分数展開の計算が合わなくて苦労しているのですよ
部分分数展開については、近いうちにこのスレのお題にしますよ、乞うご期待!
>自分が勝手に思ってても人には伝わらないよ。
ほう、私の記述が不十分というわけですか?
しかし、
>カンマで区切られたスレなんて俺のブラウザでは辿れないし
これは特に「アンカー」というのですよ。「アンカー」、この単語をご存知なかったのですか?
>カンマで区切られたスレなんて俺のブラウザでは辿れないし
私の専用ブラウザでは十分にたどれますよ、おま環でしょう、おま環、おま環(爆笑)
>リンク先のページもどれがなんなのかわからないし、
QZ 専用スレのことですか
そもそも専用スレを持っているということ自体が特筆に値するでしょう
あなたも専用スレを作ってみたらいい、一発で削除されますよ
それに、そこでは私は、私が何を目的に何を書いたのか一目瞭然ですね
必要にして十分とはまさにこのことでしょう
過去ログはお布施をすれば自由に取り込めます、おま環、おま環(爆笑)
>よくそんなのでプログラムの世界で生きてるね。 クビにならないことを祈るよ。
あなたが5ch で不自由な制約のもとにあるのはよくわかりました、ひとことでいってお布施が足りない、まずはお布施をすることですね
私は職業プログラマでないので、すでにプログラムの世界ではクビになっています、ついでに現在の職業もクビになりそうです…いや、ラプラス変換の部分分数展開の計算が合わなくて苦労しているのですよ
部分分数展開については、近いうちにこのスレのお題にしますよ、乞うご期待!
577デフォルトの名無しさん
2019/06/24(月) 19:35:12.92ID:XuRZTEew >>570 Python sympy
from sympy import symbols , sin
from sympy.plotting import plot_parametric
t = symbols('t')
x=sin(t); y=sin(2*t)
p = plot_parametric(x, y, autoscale=True, title='8 Graph', show=False)
p.show()
https://i.imgur.com/ACefMnx.jpg
from sympy import symbols , sin
from sympy.plotting import plot_parametric
t = symbols('t')
x=sin(t); y=sin(2*t)
p = plot_parametric(x, y, autoscale=True, title='8 Graph', show=False)
p.show()
https://i.imgur.com/ACefMnx.jpg
578蟻人間 ◆T6xkBnTXz7B0
2019/06/24(月) 19:35:53.46ID:oK/rIQPy ヒント: まずはど真ん中を求めよう。
579蟻人間 ◆T6xkBnTXz7B0
2019/06/24(月) 19:53:04.45ID:oK/rIQPy お題: 辞書のように頭文字を何文字か入力すると該当する単語の意味を調べられるようなシステムのことを「辞書型エキスパートシステム」と言います。
あなたの得意分野に関する辞書型エキスパートシステムを作りなさい。
例) HTML辞書システム
あなたの得意分野に関する辞書型エキスパートシステムを作りなさい。
例) HTML辞書システム
580デフォルトの名無しさん
2019/06/24(月) 19:55:50.31ID:y3nBEW/D し、式がわからねー。算数の限界。。。 グフッ。
581デフォルトの名無しさん
2019/06/24(月) 20:04:50.44ID:rEOVCAEx >>577
お?リサージュ使ったのか、やるなお主。
お?リサージュ使ったのか、やるなお主。
582蟻人間 ◆T6xkBnTXz7B0
2019/06/24(月) 20:10:50.04ID:eqHVB1zL 面白いシューティングゲーム作るなら、数式とグラフの知識は必須だからな。
x→yという対応によるx-yグラフがあれば、
時刻t→(x, y)という対応によるグラフもある。多分高校で習うから安心しろ。
x→yという対応によるx-yグラフがあれば、
時刻t→(x, y)という対応によるグラフもある。多分高校で習うから安心しろ。
583デフォルトの名無しさん
2019/06/24(月) 20:13:33.00ID:BXNZhLwW >>576 やはり思った通りの人物像だったな。 自分の勝手な思い込みで人に伝わると思ってる。
そりゃどんな所に勤めても長続きしないだろうな。 相手の事を思いながら会話しないとダメなんだよ。
自分は何も悪くない、悪いのは相手だと言うのが最大の欠点。 多分病気だと思うから一度病院に行ってみたら?
ラプラス変換なんて持ち出せば相手は黙るだろうとか思ってる馬鹿さ加減。
あんな簡単な物で躓いてるのは多分高校の数学で落ちこぼれてたんだろうな。 いや中学の算数が解っていないのかも。
計算を楽にするためにラプラス変換があるのに。
そりゃどんな所に勤めても長続きしないだろうな。 相手の事を思いながら会話しないとダメなんだよ。
自分は何も悪くない、悪いのは相手だと言うのが最大の欠点。 多分病気だと思うから一度病院に行ってみたら?
ラプラス変換なんて持ち出せば相手は黙るだろうとか思ってる馬鹿さ加減。
あんな簡単な物で躓いてるのは多分高校の数学で落ちこぼれてたんだろうな。 いや中学の算数が解っていないのかも。
計算を楽にするためにラプラス変換があるのに。
584デフォルトの名無しさん
2019/06/24(月) 20:19:29.47ID:fImqzI0I トリップ付けてる人にまともな人なんているわけがないじゃないか
>>583
>多分病気だと思うから一度病院に行ってみたら?
すでにして飲んでるお薬は
https://en.wikipedia.org/wiki/Chlorpromazine#/media/File:Thorazine_advert.jpg
>計算を楽にするためにラプラス変換があるのに。
浅はかな理解ですね、計算のためにラプラス変換?
馬鹿もここまでくると気の毒に思えてきます
そんな人のために次のページが構築されつつあります、誰が書いてるのかは私はしらないけど
https://ja.wikibooks.org/wiki/%E5%88%B6%E5%BE%A1%E3%81%A8%E6%8C%AF%E5%8B%95%E3%81%AE%E6%95%B0%E5%AD%A6/%E7%AC%AC%E4%B8%80%E9%A1%9E
>多分病気だと思うから一度病院に行ってみたら?
すでにして飲んでるお薬は
https://en.wikipedia.org/wiki/Chlorpromazine#/media/File:Thorazine_advert.jpg
>計算を楽にするためにラプラス変換があるのに。
浅はかな理解ですね、計算のためにラプラス変換?
馬鹿もここまでくると気の毒に思えてきます
そんな人のために次のページが構築されつつあります、誰が書いてるのかは私はしらないけど
https://ja.wikibooks.org/wiki/%E5%88%B6%E5%BE%A1%E3%81%A8%E6%8C%AF%E5%8B%95%E3%81%AE%E6%95%B0%E5%AD%A6/%E7%AC%AC%E4%B8%80%E9%A1%9E
586デフォルトの名無しさん
2019/06/24(月) 20:40:31.12ID:y3nBEW/D https://light.dotup.org/uploda/light.dotup.org596781.png
ギリギリ8?これ、屁理屈だわー。
ギリギリ8?これ、屁理屈だわー。
588デフォルトの名無しさん
2019/06/24(月) 20:55:10.85ID:y3nBEW/D うえーい。
589デフォルトの名無しさん
2019/06/24(月) 21:01:05.67ID:y3nBEW/D あ、どっとうp死んだ。。。
590デフォルトの名無しさん
2019/06/24(月) 21:57:47.94ID:BXNZhLwW >>590
浅はかな理解ですね、そもそもここに出入りしている時点で重大な問題を孕んでいることに気がつかないとでもいうのですか?
浅はかな理解ですね、そもそもここに出入りしている時点で重大な問題を孕んでいることに気がつかないとでもいうのですか?
592デフォルトの名無しさん
2019/06/24(月) 22:30:59.92ID:xRw0rPof あーQZはまともに相手しないで放置すればいいよ
こいつ複素解析も知らない癖に留数定理がどうのこうのとか騙ってて
突っ込まれると「全然知りません」と開き直るような奴だからな
それに日本人じゃないらしい
こいつ複素解析も知らない癖に留数定理がどうのこうのとか騙ってて
突っ込まれると「全然知りません」と開き直るような奴だからな
それに日本人じゃないらしい
593デフォルトの名無しさん
2019/06/24(月) 22:32:09.63ID:xRw0rPof おそらくこいつはラプラス変換も知らない馬鹿だ
594デフォルトの名無しさん
2019/06/24(月) 22:53:08.06ID:gDOJvwaR596デフォルトの名無しさん
2019/06/24(月) 23:29:01.25ID:gDOJvwaR >>596
数学板でまともに質問したのは「頂を踏む」の一節
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13170327928
だけですよ、数学板に書かないわけではありませんけれどもね
数学板でまともに質問したのは「頂を踏む」の一節
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13170327928
だけですよ、数学板に書かないわけではありませんけれどもね
598デフォルトの名無しさん
2019/06/24(月) 23:54:27.14ID:gDOJvwaR 知恵袋やってて草
後で通報しとくわ
後で通報しとくわ
599デフォルトの名無しさん
2019/06/25(火) 00:17:49.29ID:q9Zf4joS >>555
echo '〜'
echo '〜'
600デフォルトの名無しさん
2019/06/25(火) 12:16:33.88ID:/8kFlQVi お題
7月中の、3人の空いている日のリストがあります。
3人の内、2人以上が空いている日と、名前を求めよ
A
2019/07/05
2019/07/10
2019/07/15
2019/07/20
B
2019/07/08
2019/07/10
2019/07/20
C
2019/07/15
2019/07/20
2019/07/25
7月中の、3人の空いている日のリストがあります。
3人の内、2人以上が空いている日と、名前を求めよ
A
2019/07/05
2019/07/10
2019/07/15
2019/07/20
B
2019/07/08
2019/07/10
2019/07/20
C
2019/07/15
2019/07/20
2019/07/25
601デフォルトの名無しさん
2019/06/25(火) 12:21:21.76ID:cOq4SW0C 日付と名前の区別ってどうすんの?
602600
2019/06/25(火) 13:41:11.08ID:/8kFlQVi 書式は、どうでも良い。
こんな感じで
2019/07/10 A B
2019/07/10, A, B
こんな感じで
2019/07/10 A B
2019/07/10, A, B
603デフォルトの名無しさん
2019/06/25(火) 15:28:07.62ID:AwR7wU0d Hash使うとすごく簡単にできると思うが、Hashへの値のセットをプログラム中に書こうとすると、それがそのまま答えになってしまいそうな予感w
604デフォルトの名無しさん
2019/06/25(火) 16:12:29.73ID:i92jGjxO >>573 Python3.6 ideonのpython は3.5で動かないが、下の方に出力サンプルを張り付けてあるからそれを見てください。
https://ideone.com/JqcYMA
出力サンプルを少しだけここに張り付け
開店時間= 0.0
Aの取皿開始 speed=0.7 kosu=0 時刻は 0.0
Bの取皿開始 speed=1.0 kosu=0 時刻は 0.01
Cの取皿開始 speed=1.4 kosu=0 時刻は 0.02
★★マグロ が出来た時刻=0.03 作成間隔 t=0.30
Cがマグロを食った 作成時刻=0.03
★★カッパ が出来た時刻=0.33 作成間隔 t=0.10
Aがカッパを食った 作成時刻=0.33
★★ウニ が出来た時刻=0.43 作成間隔 t=0.10
★★上トロ が出来た時刻=0.53 作成間隔 t=0.10
Cがウニを食った 作成時刻=0.43
Cが満腹 休むよ 時刻=0.63
Aが上トロを食った 作成時刻=0.53
★★エンガワ が出来た時刻=0.64 作成間隔 t=0.10
★★マグロ が出来た時刻=0.74 作成間隔 t=0.10
Bがエンガワを食った 作成時刻=0.64
Bがマグロを食った 作成時刻=0.74
★★マグロ が出来た時刻=0.74 作成間隔 t=0.10
Bがエンガワを食った 作成時刻=0.64Bがマグロを食った 作成時刻=0.74
★★カッパ が出来た時刻=0.84 作成間隔 t=0.10
★★ウニ が出来た時刻=0.94 作成間隔 t=0.10
★★上トロ が出来た時刻=1.04 作成間隔 t=0.10
Aの取皿開始 speed=0.7 kosu=1 時刻は 1.11
Aがカッパを食った 作成時刻=0.84
★★エンガワ
https://ideone.com/JqcYMA
出力サンプルを少しだけここに張り付け
開店時間= 0.0
Aの取皿開始 speed=0.7 kosu=0 時刻は 0.0
Bの取皿開始 speed=1.0 kosu=0 時刻は 0.01
Cの取皿開始 speed=1.4 kosu=0 時刻は 0.02
★★マグロ が出来た時刻=0.03 作成間隔 t=0.30
Cがマグロを食った 作成時刻=0.03
★★カッパ が出来た時刻=0.33 作成間隔 t=0.10
Aがカッパを食った 作成時刻=0.33
★★ウニ が出来た時刻=0.43 作成間隔 t=0.10
★★上トロ が出来た時刻=0.53 作成間隔 t=0.10
Cがウニを食った 作成時刻=0.43
Cが満腹 休むよ 時刻=0.63
Aが上トロを食った 作成時刻=0.53
★★エンガワ が出来た時刻=0.64 作成間隔 t=0.10
★★マグロ が出来た時刻=0.74 作成間隔 t=0.10
Bがエンガワを食った 作成時刻=0.64
Bがマグロを食った 作成時刻=0.74
★★マグロ が出来た時刻=0.74 作成間隔 t=0.10
Bがエンガワを食った 作成時刻=0.64Bがマグロを食った 作成時刻=0.74
★★カッパ が出来た時刻=0.84 作成間隔 t=0.10
★★ウニ が出来た時刻=0.94 作成間隔 t=0.10
★★上トロ が出来た時刻=1.04 作成間隔 t=0.10
Aの取皿開始 speed=0.7 kosu=1 時刻は 1.11
Aがカッパを食った 作成時刻=0.84
★★エンガワ
605デフォルトの名無しさん
2019/06/25(火) 16:57:19.63ID:/YrhpcLJ >>600 Pharo/Squeak Smalltalk
| data dic |
data := {
#A -> #('2019/07/05' '2019/07/10' '2019/07/15' '2019/07/20').
#B -> #('2019/07/08' '2019/07/10' '2019/07/20').
#C -> #('2019/07/15' '2019/07/20' '2019/07/25')
}.
dic := Dictionary new.
data do: [:assoc |
assoc value do: [:date | (dic at: date ifAbsentPut: [OrderedCollection new]) add: assoc key].
].
dic associations sort
select: [:assoc | assoc value size >= 2]
thenCollect: [:assoc | assoc value: assoc value asArray]
"=> {'2019/07/10'->#(#A #B) . '2019/07/15'->#(#A #C) . '2019/07/20'->#(#A #B #C)} "
| data dic |
data := {
#A -> #('2019/07/05' '2019/07/10' '2019/07/15' '2019/07/20').
#B -> #('2019/07/08' '2019/07/10' '2019/07/20').
#C -> #('2019/07/15' '2019/07/20' '2019/07/25')
}.
dic := Dictionary new.
data do: [:assoc |
assoc value do: [:date | (dic at: date ifAbsentPut: [OrderedCollection new]) add: assoc key].
].
dic associations sort
select: [:assoc | assoc value size >= 2]
thenCollect: [:assoc | assoc value: assoc value asArray]
"=> {'2019/07/10'->#(#A #B) . '2019/07/15'->#(#A #C) . '2019/07/20'->#(#A #B #C)} "
607デフォルトの名無しさん
2019/06/25(火) 17:27:11.68ID:Y04/VZ6Y #!/usr/bin/env perl
use List::MoreUtils;
@A = qw( 2019/07/05 2019/07/10 2019/07/15 2019/07/20);
%A = map {$_, 1} @A;
@B = qw( 2019/07/08 2019/07/10 2019/07/20);
%B = map {$_, 1} @B;
@C = qw( 2019/07/15 2019/07/20 2019/07/25);
%C = map {$_, 1} @C;
SEARCH:
for ( List::MoreUtils::uniq (@A, @B, @C) ){
if ($A{$_} && $B{$_} && $C{$_}){
print "everyone is free at $_\n";
next SEARCH;
}
if ($A{$_} && $B{$_} ){
print "A and B is free at $_\n";
}
if ($B{$_} && $C{$_}){
print "B and C is free at $_\n";
}
if ($A{$_} && $C{$_}){
print "A and C is free at $_\n";
}
}
use List::MoreUtils;
@A = qw( 2019/07/05 2019/07/10 2019/07/15 2019/07/20);
%A = map {$_, 1} @A;
@B = qw( 2019/07/08 2019/07/10 2019/07/20);
%B = map {$_, 1} @B;
@C = qw( 2019/07/15 2019/07/20 2019/07/25);
%C = map {$_, 1} @C;
SEARCH:
for ( List::MoreUtils::uniq (@A, @B, @C) ){
if ($A{$_} && $B{$_} && $C{$_}){
print "everyone is free at $_\n";
next SEARCH;
}
if ($A{$_} && $B{$_} ){
print "A and B is free at $_\n";
}
if ($B{$_} && $C{$_}){
print "B and C is free at $_\n";
}
if ($A{$_} && $C{$_}){
print "A and C is free at $_\n";
}
}
608デフォルトの名無しさん
2019/06/25(火) 17:29:23.86ID:Y04/VZ6Y609デフォルトの名無しさん
2019/06/25(火) 17:30:16.52ID:cOq4SW0C ハート型って多角形だったのかー
こらノーベル賞ものの発見だな!
こらノーベル賞ものの発見だな!
610デフォルトの名無しさん
2019/06/25(火) 17:30:27.94ID:Y04/VZ6Y タイポ
辞書型ではなく 集合型だ
辞書型ではなく 集合型だ
611デフォルトの名無しさん
2019/06/25(火) 18:13:23.94ID:Y04/VZ6Y >>600
>607はあまりにも酷かったので、修正
#!/usr/bin/env perl
use List::MoreUtils;
@A = qw( 2019/07/05 2019/07/10 2019/07/15 2019/07/20 );
%A = map {$_, A} @A;
@B = qw( 2019/07/08 2019/07/10 2019/07/20 );
%B = map {$_, B} @B;
@C = qw( 2019/07/15 2019/07/20 2019/07/25 );
%C = map {$_, C} @C;
for $date ( List::MoreUtils::uniq (@A, @B, @C) ){
for $someone_is_free_at (\%A, \%B, \%C){
push(@free_men, $$someone_is_free_at{$date}) if $$someone_is_free_at{$date};
}
print "@free_men are free at $date\n" if (@free_men > 1);
@free_men = ();
}
出力
A B are free at 2019/07/10
A C are free at 2019/07/15
A B C are free at 2019/07/20
>607はあまりにも酷かったので、修正
#!/usr/bin/env perl
use List::MoreUtils;
@A = qw( 2019/07/05 2019/07/10 2019/07/15 2019/07/20 );
%A = map {$_, A} @A;
@B = qw( 2019/07/08 2019/07/10 2019/07/20 );
%B = map {$_, B} @B;
@C = qw( 2019/07/15 2019/07/20 2019/07/25 );
%C = map {$_, C} @C;
for $date ( List::MoreUtils::uniq (@A, @B, @C) ){
for $someone_is_free_at (\%A, \%B, \%C){
push(@free_men, $$someone_is_free_at{$date}) if $$someone_is_free_at{$date};
}
print "@free_men are free at $date\n" if (@free_men > 1);
@free_men = ();
}
出力
A B are free at 2019/07/10
A C are free at 2019/07/15
A B C are free at 2019/07/20
612蟻人間 ◆T6xkBnTXz7B0
2019/06/25(火) 18:43:25.69ID:CrMrKXln ユーチューブのおかげで誰でも動画を投稿してお金を稼げる時代になった。
自分のアイデアをvisualizeし、面白い動画にして投稿すれば、収益化できる。
プログラミングをマルチメディアやGUIに対応させることは当たり前。
あなたもテック系ユーチューバーになろう。
動画は変化する静止画の連続であり、スクリーンショットで一枚一枚画像を撮ってテキトーなツールでつなげれば動画に出来る。
自分のアイデアをvisualizeし、面白い動画にして投稿すれば、収益化できる。
プログラミングをマルチメディアやGUIに対応させることは当たり前。
あなたもテック系ユーチューバーになろう。
動画は変化する静止画の連続であり、スクリーンショットで一枚一枚画像を撮ってテキトーなツールでつなげれば動画に出来る。
613デフォルトの名無しさん
2019/06/25(火) 18:48:37.74ID:UDO8hU+H614デフォルトの名無しさん
2019/06/25(火) 18:50:16.61ID:UDO8hU+H615蟻人間 ◆T6xkBnTXz7B0
2019/06/25(火) 18:52:08.76ID:CrMrKXln お題: あみだくじを解け。n本の縦線を上下に平行に引き、上から順番に二つの縦線を結ぶ形でいくつかm本の横線を引く。下側の縦線の端の一つにゴールを設定するとき、あみだくじの
ルールに従ってゴールに到達する縦線の端のスタート地点を求めよ。
ルールに従ってゴールに到達する縦線の端のスタート地点を求めよ。
617デフォルトの名無しさん
2019/06/25(火) 19:02:19.01ID:UDO8hU+H >>616
そうなるか。ふむふむ。
そうなるか。ふむふむ。
618デフォルトの名無しさん
2019/06/25(火) 19:17:59.99ID:4Msitu63 >>616 おいこら、出題ペースが早すぎるぞ。解答もほとんど出ていない状態で次のなんて出すなよ。
619デフォルトの名無しさん
2019/06/25(火) 19:51:46.12ID:/33lsov2 >>611
日付に対する前置詞はonだぞ
日付に対する前置詞はonだぞ
620デフォルトの名無しさん
2019/06/25(火) 19:56:07.32ID:Y04/VZ6Y >>619
thanks
thanks
621蟻人間 ◆T6xkBnTXz7B0
2019/06/25(火) 20:43:10.45ID:ayyd1Kg3 面白い動画たーくさん作って早く労働者階級を卒業しよっぜ。
622デフォルトの名無しさん
2019/06/25(火) 23:32:34.03ID:hlLFLgMF623蟻人間 ◆T6xkBnTXz7B0
2019/06/25(火) 23:47:01.47ID:ayyd1Kg3 多角形の問題は、最小包含円問題というらしい。
624デフォルトの名無しさん
2019/06/26(水) 01:05:18.27ID:fhfivptN625デフォルトの名無しさん
2019/06/26(水) 01:11:38.67ID:QUl0UMlC >>600 Perl5
@a = map{sprintf"2019/07/%02d",$_} 1..31;
$h{$_}{A}=1 for qw{2019/07/05 2019/07/10 2019/07/15 2019/07/20};
$h{$_}{B}=1 for qw{2019/07/08 2019/07/10 2019/07/20};
$h{$_}{C}=1 for qw{2019/07/15 2019/07/20 2019/07/25};
@b = grep{1<keys %{$h{$_}}} @a;
print "$_ @{[keys %h{$_}]}\n" for @b;
実行結果
~ $ perl 14_600.pl
keys on reference is experimental at 14_600.pl line 6.
2019/07/10 B A
2019/07/15 C A
2019/07/20 B A C
@a = map{sprintf"2019/07/%02d",$_} 1..31;
$h{$_}{A}=1 for qw{2019/07/05 2019/07/10 2019/07/15 2019/07/20};
$h{$_}{B}=1 for qw{2019/07/08 2019/07/10 2019/07/20};
$h{$_}{C}=1 for qw{2019/07/15 2019/07/20 2019/07/25};
@b = grep{1<keys %{$h{$_}}} @a;
print "$_ @{[keys %h{$_}]}\n" for @b;
実行結果
~ $ perl 14_600.pl
keys on reference is experimental at 14_600.pl line 6.
2019/07/10 B A
2019/07/15 C A
2019/07/20 B A C
626蟻人間 ◆T6xkBnTXz7B0
2019/06/26(水) 01:12:45.72ID:FZmH/DTQ627デフォルトの名無しさん
2019/06/26(水) 01:16:52.13ID:QUl0UMlC >>625 スマソ「keys on reference is experimental at 14_600.pl line 6.」が出ちゃってた…orz
>>600 Perl5 チョット修正
@a = map{sprintf"2019/07/%02d",$_} 1..31;
$h{$_}{A}=1 for qw{2019/07/05 2019/07/10 2019/07/15 2019/07/20};
$h{$_}{B}=1 for qw{2019/07/08 2019/07/10 2019/07/20};
$h{$_}{C}=1 for qw{2019/07/15 2019/07/20 2019/07/25};
@b = grep{1<keys %{$h{$_}}} @a;
print "$_ @{[keys %{$h{$_}}]}\n" for @b;
実行結果
~ $ perl 14_600.pl
2019/07/10 B A
2019/07/15 A C
2019/07/20 B C A
>>600 Perl5 チョット修正
@a = map{sprintf"2019/07/%02d",$_} 1..31;
$h{$_}{A}=1 for qw{2019/07/05 2019/07/10 2019/07/15 2019/07/20};
$h{$_}{B}=1 for qw{2019/07/08 2019/07/10 2019/07/20};
$h{$_}{C}=1 for qw{2019/07/15 2019/07/20 2019/07/25};
@b = grep{1<keys %{$h{$_}}} @a;
print "$_ @{[keys %{$h{$_}}]}\n" for @b;
実行結果
~ $ perl 14_600.pl
2019/07/10 B A
2019/07/15 A C
2019/07/20 B C A
628蟻人間 ◆T6xkBnTXz7B0
2019/06/26(水) 04:24:04.79ID:FZmH/DTQ 日本とゐう国は労使から朽ちていつたんだなあ。
629デフォルトの名無しさん
2019/06/26(水) 04:36:53.79ID:wPd2Gy/W >>628
旧仮名なら「日本と云(い)ふ」だろボケカス
旧仮名なら「日本と云(い)ふ」だろボケカス
630デフォルトの名無しさん
2019/06/26(水) 08:13:01.09ID:Qt7BED0r >>555 Lua
prrint("ん")
prrint("ん")
631デフォルトの名無しさん
2019/06/26(水) 09:27:43.17ID:4ftm39hn632デフォルトの名無しさん
2019/06/26(水) 10:05:25.43ID:I0iq5RkX 整数が複数与えられて、そのうちの5つの積が最大になるものってどうやって選べばいいの?
絶対数でソートしても、負数が奇数個だとマイナスだし頭がこんがらがる
絶対数でソートしても、負数が奇数個だとマイナスだし頭がこんがらがる
633デフォルトの名無しさん
2019/06/26(水) 10:27:17.99ID:qQlb55ju 正数の大きい方から5個
正数の大きい方から3個と負数の絶対数の大きい方から2個
正数の大きい方から1個と負数の絶対数の大きい方から4個
で比較すれば?
正数の大きい方から3個と負数の絶対数の大きい方から2個
正数の大きい方から1個と負数の絶対数の大きい方から4個
で比較すれば?
634デフォルトの名無しさん
2019/06/26(水) 10:35:24.88ID:qQlb55ju 別に正数とか負数とか気にしないでも良いか
ソートして、上から5個 上から3個と下から2個 上から1個と下から4個 の中で最大のものを選べば
ソートして、上から5個 上から3個と下から2個 上から1個と下から4個 の中で最大のものを選べば
635デフォルトの名無しさん
2019/06/26(水) 12:11:39.42ID:4ftm39hn636デフォルトの名無しさん
2019/06/26(水) 12:18:02.87ID:Hr9hv0Xe 古典的スタートレックゲーム
言語はなんでもよし
言語はなんでもよし
637デフォルトの名無しさん
2019/06/26(水) 12:52:21.84ID:4t4MRNDi >>632
思考停止して全パターン出して最大値を取る。
あえて5個以下だとエラー。
対策するなら関数fで長さが5個以下か判定すれば良い。
昔、似た様な問題でリスト内包表記と再帰を組み合わせて、
スマートな方法を誰か書いてたの見たけど忘れた。
Haskell
main = f [(-1),4,(-2),1,3,2]
f xs = maximum [product [a,b,c,d,e]|
a <- xs, b <- xs, c <- xs, d <- xs, e <- xs,
a /= b, a /= c, a /= d, a /= e, b /= c, b/= d, b /= e, c /= d, c /= e, d /= e]
思考停止して全パターン出して最大値を取る。
あえて5個以下だとエラー。
対策するなら関数fで長さが5個以下か判定すれば良い。
昔、似た様な問題でリスト内包表記と再帰を組み合わせて、
スマートな方法を誰か書いてたの見たけど忘れた。
Haskell
main = f [(-1),4,(-2),1,3,2]
f xs = maximum [product [a,b,c,d,e]|
a <- xs, b <- xs, c <- xs, d <- xs, e <- xs,
a /= b, a /= c, a /= d, a /= e, b /= c, b/= d, b /= e, c /= d, c /= e, d /= e]
638デフォルトの名無しさん
2019/06/26(水) 15:36:37.02ID:GwE3QISY >>637 おいおい、いくつの中から5個取り出すかわからないんだぞ。 100000個の中から5個取り出すと結構な時間がかかるだろ。
どんだけの組み合わせになるんだよ。
どんだけの組み合わせになるんだよ。
639デフォルトの名無しさん
2019/06/26(水) 15:53:36.43ID:4t4MRNDi >>638
だから思考停止っって書いてるんよ^^;
だから思考停止っって書いてるんよ^^;
640デフォルトの名無しさん
2019/06/26(水) 16:01:02.80ID:4t4MRNDi >>632
Listモジュールに関数あった。。。
Haskell
import Data.List
main = print $ f [(-1),4,(-2),1,3,2]
f = maximum.map product.permutations
Listモジュールに関数あった。。。
Haskell
import Data.List
main = print $ f [(-1),4,(-2),1,3,2]
f = maximum.map product.permutations
641デフォルトの名無しさん
2019/06/26(水) 18:21:48.58ID:D6IEM3tk 全部負なら、必ず答えも負になるんだから選ぶのは上から5個で良くないか
つまり634で合ってると思う
0も問題無いな、どこにあっても網羅されてる
つまり634で合ってると思う
0も問題無いな、どこにあっても網羅されてる
642デフォルトの名無しさん
2019/06/27(木) 01:55:36.37ID:sxRhjDp7 >>600
perl5 ワンライナー
perl -ne 'if(/^(.*?),(.*)$/){$d{$2}{$1}=1}END{for(sort keys%d){if(keys%{$d{$_}}>=2){print"$_ ".join(",",sort keys%{$d{$_}})."\n"}}}'
入力
A,2019/07/05
A,2019/07/10
A,2019/07/15
A,2019/07/20
B,2019/07/08
B,2019/07/10
B,2019/07/20
C,2019/07/15
C,2019/07/20
C,2019/07/25
出力
2019/07/10 A,B
2019/07/15 A,C
2019/07/20 A,B,C
perl5 ワンライナー
perl -ne 'if(/^(.*?),(.*)$/){$d{$2}{$1}=1}END{for(sort keys%d){if(keys%{$d{$_}}>=2){print"$_ ".join(",",sort keys%{$d{$_}})."\n"}}}'
入力
A,2019/07/05
A,2019/07/10
A,2019/07/15
A,2019/07/20
B,2019/07/08
B,2019/07/10
B,2019/07/20
C,2019/07/15
C,2019/07/20
C,2019/07/25
出力
2019/07/10 A,B
2019/07/15 A,C
2019/07/20 A,B,C
643デフォルトの名無しさん
2019/06/27(木) 07:16:25.32ID:ken8tLFo >>635
oh...全て負の場合は数値が大きい方(絶対値が小さい方)から5個だな
oh...全て負の場合は数値が大きい方(絶対値が小さい方)から5個だな
644デフォルトの名無しさん
2019/06/27(木) 07:17:36.65ID:ken8tLFo と、それは上から5個か…寝起き死んでるww
645デフォルトの名無しさん
2019/06/27(木) 10:12:29.88ID:kVdr/MgG >>637
試した限りじゃ上手く動いてる。
もっとスマートな書き方出来ないものか。。。
Haskell
import Data.List
main = (print.f) [9,(-5),3,2,1,8,(-4)]
f xs |(odd.length) b && (length.filter (<0)) xs > 1 =
promax
((map snd.f') a ++ (map snd.take (5 - (length.f') a)) b')
((map snd.take 5.abslst) xs)
where
a = (filter ((>=0).snd).take 5.abslst) xs
a' = (filter ((>=0).snd).abslst) xs
b = (filter ((< 0).snd).take 5.abslst) xs
b' = (filter ((< 0).snd).abslst) xs
f' xs |length a > length b = init xs
f' _ = (take (5 - (length.init) b)) a'
f xs = promax ((take 5.reverse.sort) xs) ((map snd.take 5.abslst) xs)
promax xs ys |product xs > product ys = xs
promax _ ys = ys
abslst xs = reverse.sort $ zip (map abs xs) xs
試した限りじゃ上手く動いてる。
もっとスマートな書き方出来ないものか。。。
Haskell
import Data.List
main = (print.f) [9,(-5),3,2,1,8,(-4)]
f xs |(odd.length) b && (length.filter (<0)) xs > 1 =
promax
((map snd.f') a ++ (map snd.take (5 - (length.f') a)) b')
((map snd.take 5.abslst) xs)
where
a = (filter ((>=0).snd).take 5.abslst) xs
a' = (filter ((>=0).snd).abslst) xs
b = (filter ((< 0).snd).take 5.abslst) xs
b' = (filter ((< 0).snd).abslst) xs
f' xs |length a > length b = init xs
f' _ = (take (5 - (length.init) b)) a'
f xs = promax ((take 5.reverse.sort) xs) ((map snd.take 5.abslst) xs)
promax xs ys |product xs > product ys = xs
promax _ ys = ys
abslst xs = reverse.sort $ zip (map abs xs) xs
646デフォルトの名無しさん
2019/06/27(木) 10:13:36.13ID:kVdr/MgG promax xs ys |product xs > product ys = xs
promax _ ys = ys
abslst xs = reverse.sort $ zip (map abs xs) xs
promax _ ys = ys
abslst xs = reverse.sort $ zip (map abs xs) xs
647蟻人間 ◆T6xkBnTXz7B0
2019/06/27(木) 16:22:58.68ID:nAZ+iPIM だれかあみだくじ解けない?
648デフォルトの名無しさん
2019/06/27(木) 16:37:32.78ID:cEwto4HN I can, but I won't.
649デフォルトの名無しさん
2019/06/27(木) 17:17:24.80ID:fA/gCr42 >>632 Sqeueak Smalltalk
| data stream selection set numNegs |
data := #(9 -5 -3 2 1 8 -4).
stream := ((data copyWithout: 0) sortBy: #abs descending) readStream.
set := Set with: (selection := (stream next: 5) asArray).
numNegs := selection count: #negative.
(numNegs > 0 and: [numNegs odd]) ifTrue: [
| nextNeg nextPos lastPosIdx lastNegIdx |
nextNeg := nextPos := nil.
lastPosIdx := selection findLast: #positive.
lastNegIdx := selection findLast: #negative.
[(nextNeg isNil or: [nextPos isNil]) and: [stream atEnd not]] whileTrue: [
| next |
next := stream next.
(lastPosIdx > 0 and: [nextNeg isNil] and: [next negative])
ifTrue: [set add: (selection copyWithoutIndex: lastPosIdx), {nextNeg := next}].
(lastNegIdx > 0 and: [nextPos isNil] and: [next positive])
ifTrue: [set add: (selection copyWithoutIndex: lastNegIdx), {nextPos :=next}]
].
].
set detectMax: [:xs | xs reduce: #*]
"=> #(9 8 -5 -4 2) "
Pharo Smalltalk版 → http://ws.stfx.eu/OK6PHG96QEY8
| data stream selection set numNegs |
data := #(9 -5 -3 2 1 8 -4).
stream := ((data copyWithout: 0) sortBy: #abs descending) readStream.
set := Set with: (selection := (stream next: 5) asArray).
numNegs := selection count: #negative.
(numNegs > 0 and: [numNegs odd]) ifTrue: [
| nextNeg nextPos lastPosIdx lastNegIdx |
nextNeg := nextPos := nil.
lastPosIdx := selection findLast: #positive.
lastNegIdx := selection findLast: #negative.
[(nextNeg isNil or: [nextPos isNil]) and: [stream atEnd not]] whileTrue: [
| next |
next := stream next.
(lastPosIdx > 0 and: [nextNeg isNil] and: [next negative])
ifTrue: [set add: (selection copyWithoutIndex: lastPosIdx), {nextNeg := next}].
(lastNegIdx > 0 and: [nextPos isNil] and: [next positive])
ifTrue: [set add: (selection copyWithoutIndex: lastNegIdx), {nextPos :=next}]
].
].
set detectMax: [:xs | xs reduce: #*]
"=> #(9 8 -5 -4 2) "
Pharo Smalltalk版 → http://ws.stfx.eu/OK6PHG96QEY8
650デフォルトの名無しさん
2019/06/28(金) 01:49:16.31ID:Vk0oU0Nl >>632 haskell
import Data.List
f xs = if length xs < 5 then undefined else (maximumBy(\ x y ->compare(product x)(product y))$zipWith(++)(reverse.inits.(take 5).reverse.sort$xs)(inits.(take 5).sort$xs))
f [9,-5,-3,2,1,8,-4]
-- > [9,8,2,-5,-4]
import Data.List
f xs = if length xs < 5 then undefined else (maximumBy(\ x y ->compare(product x)(product y))$zipWith(++)(reverse.inits.(take 5).reverse.sort$xs)(inits.(take 5).sort$xs))
f [9,-5,-3,2,1,8,-4]
-- > [9,8,2,-5,-4]
651デフォルトの名無しさん
2019/06/29(土) 05:03:25.69ID:BpIUWIWl お題: Hello, World!が入力されるのでHelloとWorldを入れ替えて表示せよ
652デフォルトの名無しさん
2019/06/29(土) 07:48:16.22ID:FqBWYLWj あまりにも簡単すぎる問題は控えて欲しいな、たまになら休憩として良いけど。
653デフォルトの名無しさん
2019/06/29(土) 11:18:10.70ID:HRfvRfYw printed("World, Hello!");
654デフォルトの名無しさん
2019/06/29(土) 11:36:54.32ID:t9YicpKG >>651 Perl5 簡単だけれども、解いてみた
<>=~/(\w+)(\W+)(\w+)(\W+)/;
print "$3$2$1$4\n";
実行結果
~ $ echo 'Hello, World!' | perl 14_651.pl
World, Hello!
※英単語部は任意です
<>=~/(\w+)(\W+)(\w+)(\W+)/;
print "$3$2$1$4\n";
実行結果
~ $ echo 'Hello, World!' | perl 14_651.pl
World, Hello!
※英単語部は任意です
655デフォルトの名無しさん
2019/06/29(土) 13:00:42.80ID:Rvf+oTMW お題:全単射を満足する最小桁数を求める
任意の整数域(-10000..10000とか)を引数とする単調増加/減少関数f(x)に対して、
その計算結果を有効数字n桁で丸めたものをy=round(f(x), n)とする。
xとyの関係が全単射になる(異なるxに対して、同じyにならない事)
最小のnを求めよ。
ttps://ja.wikipedia.org/wiki/%E5%85%A8%E5%8D%98%E5%B0%84
xの値域及びf(x)は回答者が適切と思われるものでよい。
任意の整数域(-10000..10000とか)を引数とする単調増加/減少関数f(x)に対して、
その計算結果を有効数字n桁で丸めたものをy=round(f(x), n)とする。
xとyの関係が全単射になる(異なるxに対して、同じyにならない事)
最小のnを求めよ。
ttps://ja.wikipedia.org/wiki/%E5%85%A8%E5%8D%98%E5%B0%84
xの値域及びf(x)は回答者が適切と思われるものでよい。
656デフォルトの名無しさん
2019/06/29(土) 13:27:37.67ID:HRfvRfYw fは2^N → Rでいいの?
2^Nは自然数の冪集合ね
てか括弧内で全射が無視されてんのが謎
2^Nは自然数の冪集合ね
てか括弧内で全射が無視されてんのが謎
657デフォルトの名無しさん
2019/06/29(土) 14:03:41.17ID:YzN8MsSb echo Hello, World! | perl -pe 's/ (\w+) , \N{SPACE} (\w+) ! /$2, $1!/x'
World, Hello!
World, Hello!
658デフォルトの名無しさん
2019/06/29(土) 14:38:46.06ID:LAXJlpSi イプシロン間際。
659655
2019/06/29(土) 14:50:05.50ID:Rvf+oTMW >>656
f(x)=x/1e4+42 但し xは整数で x∈[-10000, 10000]
とかの、もっと単純なヤツです(この例だとn=6)。
f(x)=10^x
とかだと、n=1なのは自明だし、
f(x)=c 但し cは任意の実定数
とかだと解は存在しないので、これらは除外して下さい。
f(x)=x/1e4+42 但し xは整数で x∈[-10000, 10000]
とかの、もっと単純なヤツです(この例だとn=6)。
f(x)=10^x
とかだと、n=1なのは自明だし、
f(x)=c 但し cは任意の実定数
とかだと解は存在しないので、これらは除外して下さい。
660デフォルトの名無しさん
2019/06/29(土) 14:51:20.55ID:HRfvRfYw >>659
任意の整数域を定義域とする関数に、なんで整数渡してんの?
任意の整数域を定義域とする関数に、なんで整数渡してんの?
661デフォルトの名無しさん
2019/06/29(土) 15:37:47.69ID:mF/+Te8R お題
与えられた画像ファイルを
適当なサイズに縮小・拡大
しモノクローム画像に変換
しアスキーアートに変換す
る
与えられた画像ファイルを
適当なサイズに縮小・拡大
しモノクローム画像に変換
しアスキーアートに変換す
る
■ このスレッドは過去ログ倉庫に格納されています
