プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part14
http://mevius.5ch.net/test/read.cgi/tech/1558168409/
探検
プログラミングのお題スレ Part15
■ このスレッドは過去ログ倉庫に格納されています
2019/07/28(日) 19:39:57.54ID:832c/ukY
2019/07/28(日) 21:03:19.25ID:KnbJf+WN
宿題、チューリングの泥沼、条件不足等回避のため
出題者は自分で回答可能か確認してからお題を出すこと
出題者は自分で回答可能か確認してからお題を出すこと
2019/07/28(日) 21:08:20.48ID:OTB4c+BP
※QZは書き込み禁止
2019/07/28(日) 21:32:12.69ID:MO+jaDzY
お題
とあるゲームでは、10面ダイスによってスコアを次のように定める
1. x個のダイスを全部振る
2. 振ったダイスのうち、最大の出目をスコアとする
3. 出目がc以上のダイスが存在するなら、その全てのダイスを使って同じ試行を行い、スコアに加算する
例えばc=7の時、2個のダイスの結果が(10,7)→(8,3)→(2)ならスコアは10+8+2=20となる
最初に振るダイスの個数Nとc(≧2)が分かっている時、スコアの期待値を求めよ
とあるゲームでは、10面ダイスによってスコアを次のように定める
1. x個のダイスを全部振る
2. 振ったダイスのうち、最大の出目をスコアとする
3. 出目がc以上のダイスが存在するなら、その全てのダイスを使って同じ試行を行い、スコアに加算する
例えばc=7の時、2個のダイスの結果が(10,7)→(8,3)→(2)ならスコアは10+8+2=20となる
最初に振るダイスの個数Nとc(≧2)が分かっている時、スコアの期待値を求めよ
2019/07/29(月) 11:14:17.89ID:3vvajVS9
2019/07/29(月) 11:34:20.96ID:3vvajVS9
2019/07/29(月) 11:49:50.47ID:3vvajVS9
サイコロの偏りをもっと明確にしたいなら、乱数エンジンを複数持つか、ランダムデバイスそのもので実行する。
ランダムデバイスは遅いことになってるのでMTに投げるんだけど。
ランダムデバイスは遅いことになってるのでMTに投げるんだけど。
2019/07/29(月) 11:55:28.48ID:3vvajVS9
一様乱数のサイコロは、現実では職人が作ったサイコロですなあ。
9蟻人間 ◆T6xkBnTXz7B0
2019/07/30(火) 00:00:42.86ID:NJpsA13e お題: 炭素原子C, 酸素原子O, 水素原子Hという三種類の原子をそれぞれいくつか組み合わせて、非イオンの分子を作る。C, O, Hの結合の手の本数は、それぞれ四本、二本、一本である。
ゼロ以上の整数p,q,rが与えられ、Cがp個、Oがq個、Hがr個あると仮定するとき、原子を余らせず、また、結合の手を余らせずに一つの連結された分子を作りたい。
C, O, Hをこの順でp+q+r個、並べたリストLについて、m番目の原子L[m]とn番目の原子L[n]の結合の個数をA[m,n]と書くとき、A[m,n]によってなる行列Aを一つ求めなさい。不可能な場合は「None.」と表示しなさい。
例)
(p, q, r)=(0, 2, 0) → A=((0, 2), (2, 0)).
(p, q, r)=(1, 2, 0) → A=((0, 2, 2), (2, 0, 0), (2, 0, 0)).
(p, q, r)=(0, 1, 2) → A=((0, 1, 1), (1, 0, 0), (1, 0, 0)).
ゼロ以上の整数p,q,rが与えられ、Cがp個、Oがq個、Hがr個あると仮定するとき、原子を余らせず、また、結合の手を余らせずに一つの連結された分子を作りたい。
C, O, Hをこの順でp+q+r個、並べたリストLについて、m番目の原子L[m]とn番目の原子L[n]の結合の個数をA[m,n]と書くとき、A[m,n]によってなる行列Aを一つ求めなさい。不可能な場合は「None.」と表示しなさい。
例)
(p, q, r)=(0, 2, 0) → A=((0, 2), (2, 0)).
(p, q, r)=(1, 2, 0) → A=((0, 2, 2), (2, 0, 0), (2, 0, 0)).
(p, q, r)=(0, 1, 2) → A=((0, 1, 1), (1, 0, 0), (1, 0, 0)).
10デフォルトの名無しさん
2019/07/30(火) 03:21:18.39ID:NEOgIkE0 問題がわかりづらい。
2019/07/30(火) 06:42:15.48ID:x+cPGemS
出題者は自分で解けることを確認してからお題にしてるのかね?
自明でない不可能な場合の例とか出してこないし怪しいもんだ
自明でない不可能な場合の例とか出してこないし怪しいもんだ
2019/07/30(火) 10:22:50.80ID:xUDKdiN7
慣れない言語の勉強に使うのに丁度いいね
出題者が答えも貼っといてくれるとありがたい(´・ω・`)
出題者が答えも貼っといてくれるとありがたい(´・ω・`)
13デフォルトの名無しさん
2019/07/30(火) 16:13:07.32ID:YUdTZrG6 良いプログラムは良い数式がないと作れないのでこのスレは過疎化する。
2019/07/30(火) 16:39:56.09ID:qFxGgTrm
久々にこの板きたけど、宿題スレってなくなったんだね
15蟻人間 ◆T6xkBnTXz7B0
2019/07/30(火) 16:51:52.79ID:gia580F5 解空間は、サイズ(p+q+r)×(p+q+r)の整数行列の集合になる。
結合の手の個数は有限だから、解行列の成分は上限がある。
よって行列の各成分についてしらみつぶし探索が可能。
自分自身とは結合しないので、A[k,k]=0(つまり、行列の対角成分はゼロ)。
ある行の和は、行番号に対応する原子の結合の手の個数になる。
ある列の和は、列番号に対応する原子の結合の手の個数になる。
連結条件のチェックが必要。
結合の手の個数は有限だから、解行列の成分は上限がある。
よって行列の各成分についてしらみつぶし探索が可能。
自分自身とは結合しないので、A[k,k]=0(つまり、行列の対角成分はゼロ)。
ある行の和は、行番号に対応する原子の結合の手の個数になる。
ある列の和は、列番号に対応する原子の結合の手の個数になる。
連結条件のチェックが必要。
2019/07/30(火) 17:04:44.75ID:RYwsY7rK
お題: xのn次式を簡潔に表現できる関数を書け(rationalじゃなくてもOK)
a+bx+cx^2+dx^3+...
を
f x a b c d ...
のように表現する
(可変引数を処理する)
例えば
(defun f (x &rest as) (reduce #'+ (loop for a in as for i from 0 collect (* a (expt x i)))))
(loop for x from -5 to 5 do (print (f x 0 -1 0 1/3)))
-110/3
-52/3
-6
-2/3
2/3
0
-2/3
2/3
6
52/3
110/3
a+bx+cx^2+dx^3+...
を
f x a b c d ...
のように表現する
(可変引数を処理する)
例えば
(defun f (x &rest as) (reduce #'+ (loop for a in as for i from 0 collect (* a (expt x i)))))
(loop for x from -5 to 5 do (print (f x 0 -1 0 1/3)))
-110/3
-52/3
-6
-2/3
2/3
0
-2/3
2/3
6
52/3
110/3
2019/07/30(火) 17:10:40.80ID:CNgKzCU7
>>14
基地外粘着uyによって潰された
基地外粘着uyによって潰された
2019/07/30(火) 19:44:50.09ID:RfvVlMN8
>>13
良い数式が立てられないのでモンテカルロに酔っているオレ・・・。
良い数式が立てられないのでモンテカルロに酔っているオレ・・・。
>>14
存在することはするのですが、誰も近寄らなくなりました、キチガイが一匹しつこく居候しているので
存在することはするのですが、誰も近寄らなくなりました、キチガイが一匹しつこく居候しているので
2019/07/30(火) 21:52:06.20ID:WkS1m6T1
>>20
つ 鏡
つ 鏡
2019/07/30(火) 23:15:45.71ID:1jiiGCYP
>>21
草生える
草生える
2019/07/30(火) 23:24:02.31ID:2GPXM96o
お題: 1 + 1 を計算させて 3 と出力させなさい
2019/07/30(火) 23:34:18.81ID:77FpHlNC
2019/07/31(水) 00:12:45.83ID:w173sz60
26デフォルトの名無しさん
2019/07/31(水) 04:39:05.16ID:BcGPMjSP2019/07/31(水) 05:06:41.43ID:B/3ESziM
>>23 ruby
class Fixnum
alias :add :+
def +(val)
if self == 1 && val == 1
puts 3
2
else
self.add(val)
end
end
end
1 + 1 #=> "3\n"
1 + 1 + 1 #=> "3\n"
1 + 1 + 1 + 1 #=> "3\n"
1 + 1 - 1 + 1 #=> "3\n3\n"
class Fixnum
alias :add :+
def +(val)
if self == 1 && val == 1
puts 3
2
else
self.add(val)
end
end
end
1 + 1 #=> "3\n"
1 + 1 + 1 #=> "3\n"
1 + 1 + 1 + 1 #=> "3\n"
1 + 1 - 1 + 1 #=> "3\n3\n"
2019/07/31(水) 09:55:03.07ID:w173sz60
2019/07/31(水) 14:18:08.83ID:6BPSvdm1
お題、東大入試
a^2 - a が、10,000 で割り切れるような奇数a を求めよ。
ただし、3 <= a <= 9,999
ヒント
a^2 - a = a(a - 1) で、aは奇数、a-1 は偶数。
10,000 = 10^4 = 2^4 * 5^4
答え、625
東京大【整数マスターに俺はなる!#31】
https://www.youtube.com/watch?v=-LdnNZVftmw
a^2 - a が、10,000 で割り切れるような奇数a を求めよ。
ただし、3 <= a <= 9,999
ヒント
a^2 - a = a(a - 1) で、aは奇数、a-1 は偶数。
10,000 = 10^4 = 2^4 * 5^4
答え、625
東京大【整数マスターに俺はなる!#31】
https://www.youtube.com/watch?v=-LdnNZVftmw
2019/07/31(水) 14:46:10.23ID:w173sz60
>>29
common lisp
(loop for n from 3 to 10000 when (and (equal (mod n 2) 1) (equal 0 (mod (- (expt n 2) n) 10000))) collect n)
(625)
common lisp
(loop for n from 3 to 10000 when (and (equal (mod n 2) 1) (equal 0 (mod (- (expt n 2) n) 10000))) collect n)
(625)
31デフォルトの名無しさん
2019/07/31(水) 15:57:49.04ID:oxQy3lj+ ・女体限定で、3次元の写真から3Dポリゴンモデルデータを自動作成
・そのデータから胴体部の着衣部分を、裸モデルに修正
・水着でついた脇乳の段差も修正
・元写真の地肌色を使い、女体テンプレのテクスチャを作成
・完成したモデルから胴体部だけ精密レンダリング
・元の写真に貼り付けて完成
・そのデータから胴体部の着衣部分を、裸モデルに修正
・水着でついた脇乳の段差も修正
・元写真の地肌色を使い、女体テンプレのテクスチャを作成
・完成したモデルから胴体部だけ精密レンダリング
・元の写真に貼り付けて完成
2019/07/31(水) 17:25:11.51ID:6BPSvdm1
プログラミングのお題スレ Part14
https://mevius.5ch.net/test/read.cgi/tech/1558168409/981-986
漏れは、前スレの981 ではないですが、この問題の応用で、
括弧のネストの深さの最大値を求めよ
括弧の対応が取れていない場合は、-1 を出力せよ。
2種類の括弧が順序通りに、閉じていないものも、-1 です
ヒント : stack を使うと良いかも
"" => 0
"( )" => 1
"{ ( { ( ) } ( ) ) } ( )" => 4
"} {" => -1
"( { ) }" => -1
https://mevius.5ch.net/test/read.cgi/tech/1558168409/981-986
漏れは、前スレの981 ではないですが、この問題の応用で、
括弧のネストの深さの最大値を求めよ
括弧の対応が取れていない場合は、-1 を出力せよ。
2種類の括弧が順序通りに、閉じていないものも、-1 です
ヒント : stack を使うと良いかも
"" => 0
"( )" => 1
"{ ( { ( ) } ( ) ) } ( )" => 4
"} {" => -1
"( { ) }" => -1
2019/07/31(水) 20:22:09.77ID:AESVjm16
自分でスタックするか再起にして自動で積ませるか、といったところか。
2019/07/31(水) 21:44:23.62ID:CaRsLsI2
2019/07/31(水) 22:14:16.43ID:w173sz60
2019/07/31(水) 22:19:24.27ID:w173sz60
ideone バグっているのか?
STDIN の1行目空だと
ちゃんと標準入力としてプログラムに伝わっているけど
リンク先の stdin 枠の中だと省略されているように見える
stdout の 0 はその空を受け取ったもの
STDIN の1行目空だと
ちゃんと標準入力としてプログラムに伝わっているけど
リンク先の stdin 枠の中だと省略されているように見える
stdout の 0 はその空を受け取ったもの
2019/07/31(水) 22:42:26.48ID:w173sz60
twitterやっていたようなので
そこにバグフィックス要請とテストケース画像貼っておいた
たぶんそのうち直るでしょう
そこにバグフィックス要請とテストケース画像貼っておいた
たぶんそのうち直るでしょう
2019/07/31(水) 23:32:10.18ID:M5c7ILzZ
問題
n桁のヒットアンドブローのソルバーを作る。
n桁のヒットアンドブローのソルバーを作る。
39デフォルトの名無しさん
2019/07/31(水) 23:34:51.48ID:BcGPMjSP 君の言っていることの意味がよくわからない。
2019/08/01(木) 00:15:32.73ID:i4UPQl8k
>>37
GJ
GJ
2019/08/01(木) 15:40:09.21ID:eeSbVWum
2019/08/01(木) 15:47:29.97ID:/tDwAGeP
年収n円の人が生活費と交遊費2種類だけで1年間の収入のすべてを消費するとして
税率がt1からt2に上がった時
税抜き価格ベースでの生活費が変動しないものと考えると
税抜き価格ベースでの交遊費の減少額はいくらになるか?
(端数は切り上げとする)
ex)
年収n=5,000,000
税率t1=8%
税率t2=10%
税抜き価格ベースでの生活費a
税抜き価格ベースでの交遊費x, y
5000000 = ( a + x ) * 1.08
5000000 = ( a + y ) * 1.10
上記の方程式を解いて
x-y ≒ 84,176
税率がt1からt2に上がった時
税抜き価格ベースでの生活費が変動しないものと考えると
税抜き価格ベースでの交遊費の減少額はいくらになるか?
(端数は切り上げとする)
ex)
年収n=5,000,000
税率t1=8%
税率t2=10%
税抜き価格ベースでの生活費a
税抜き価格ベースでの交遊費x, y
5000000 = ( a + x ) * 1.08
5000000 = ( a + y ) * 1.10
上記の方程式を解いて
x-y ≒ 84,176
2019/08/01(木) 16:10:15.37ID:WaJjQk0q
2019/08/01(木) 16:16:06.40ID:WaJjQk0q
切り上げか
Ceiling[ Simplify[ x-y, {5000000 ==(a+x)*1.08 == (a+y)*1.1} ] ]
84176
Ceiling[ Simplify[ x-y, {5000000 ==(a+x)*1.08 == (a+y)*1.1} ] ]
84176
2019/08/01(木) 16:17:25.45ID:9Ke7npq5
何も考えずにceiling(n/1.08-n/1.1)でいいんとちゃうけ?
46デフォルトの名無しさん
2019/08/01(木) 19:07:52.51ID:CMxA9z9p >>32 Ruby
f = -> str {s = +str.delete(?\ ); (0..).each{|i| s.gsub!(/{}|\(\)/, '') || (break s.size.zero? ? i : -1)}}
['', '( )', '{ ( { ( ) } ( ) ) } ( )', '} {', '( { ) }'].each{|e| puts '%p => %d' % [e, f[e]]}
# =>
"" => 0
"( )" => 1
"{ ( { ( ) } ( ) ) } ( )" => 4
"} {" => -1
"( { ) }" => -1
f = -> str {s = +str.delete(?\ ); (0..).each{|i| s.gsub!(/{}|\(\)/, '') || (break s.size.zero? ? i : -1)}}
['', '( )', '{ ( { ( ) } ( ) ) } ( )', '} {', '( { ) }'].each{|e| puts '%p => %d' % [e, f[e]]}
# =>
"" => 0
"( )" => 1
"{ ( { ( ) } ( ) ) } ( )" => 4
"} {" => -1
"( { ) }" => -1
2019/08/01(木) 21:02:36.17ID:9Ke7npq5
>>45
ちょっと考えたらceiling(n/59.4)だったw
ちょっと考えたらceiling(n/59.4)だったw
2019/08/02(金) 20:14:36.58ID:fXsI78QL
お題: 数字が与えられるので、その数字を元の数より大きくなるように再構築せよ
大きくできなければ元の数字をそのまま出力せよ
例:
in < 123
out > 231, 213, 321, 312
in < 921
out > 921
大きくできなければ元の数字をそのまま出力せよ
例:
in < 123
out > 231, 213, 321, 312
in < 921
out > 921
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【速報】高市首相 青森震度6強地震で負傷者30人 [蚤の市★]
- 【画像】TOKIO山口達也に「いいべ」された当時のJK、性加害の反動であたしこグラドルにwww [779857986]
- 寒さしのげる場所があって食べ物も豊富にあるなら熊は冬眠しないの?
- 声優・矢尾一樹の妻「治療の影響で思う様に話せない彼に、近くで仕事をしてきた人が、かっこ悪い!もう辞めなよと言った。私は許さない」 [594040874]
- AIが仕事を奪うフェーズ、ガチでスタートしてしまう、世界はこの先どうなってしまうのか [604928783]
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
- 気象庁・高市内閣「この後311級の地震の可能性があります。北海道〜関東の人は1週間は地震が来てもすぐ逃げられる格好をしてください」 [597533159]
