プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
前スレ
プログラミングのお題スレ Part10
https://mevius.5ch.net/test/read.cgi/tech/1514772904/
プログラミングのお題スレ Part11
https://mevius.5ch.net/test/read.cgi/tech/1524570314/
プログラミングのお題スレ Part12
■ このスレッドは過去ログ倉庫に格納されています
2018/09/28(金) 10:09:07.13ID:phwOkayR
766デフォルトの名無しさん
2018/12/04(火) 18:05:08.94ID:HMynH27O 1. 好きなIDEのエディタで画面に表示。
2. PrtSc キーを押す。
3. ペイントを起動してペースト。
4. PNGファイルとして保存。
5. メモ帳を起動。
6. HTML を書き、imgで先の画像を表示するようにする。
7. 拡張子をhtmlにして保存。
8. ブラウザで表示。
9. 終了。
2. PrtSc キーを押す。
3. ペイントを起動してペースト。
4. PNGファイルとして保存。
5. メモ帳を起動。
6. HTML を書き、imgで先の画像を表示するようにする。
7. 拡張子をhtmlにして保存。
8. ブラウザで表示。
9. 終了。
767デフォルトの名無しさん
2018/12/04(火) 18:14:10.74ID:evmq38l5 型に応じて変数の色分け(スタイル変更)に対応できたら最高
忘れてたけど予約語の色分けは当然
ソースコードの構文エラー箇所以降は単色赤文字で表示
忘れてたけど予約語の色分けは当然
ソースコードの構文エラー箇所以降は単色赤文字で表示
768デフォルトの名無しさん
2018/12/04(火) 19:05:35.22ID:Ntdpy5BB >>761 PowerShell
[int]("お題" -eq $(Read-Host))
[int]("お題" -eq $(Read-Host))
769デフォルトの名無しさん
2018/12/05(水) 04:19:34.99ID:fABNAu0P770デフォルトの名無しさん
2018/12/05(水) 19:36:38.80ID:W3jESzak お題:ビュフォンの針をシミュレートして円周率の近似値を求めよ
771デフォルトの名無しさん
2018/12/05(水) 20:02:35.88ID:W3jESzak772デフォルトの名無しさん
2018/12/05(水) 23:06:27.91ID:dgv/Vo0c angleを計算するのに思いっきりπの値使ってるだろうし..www
773デフォルトの名無しさん
2018/12/05(水) 23:30:47.41ID:oCZO3Dfm wikipediaは日本語版だけその問題に言及して疑似コードも載ってるのな
>>772
そんなツッコミは初めてみました、うまいですね…
そんなツッコミは初めてみました、うまいですね…
775デフォルトの名無しさん
2018/12/05(水) 23:42:52.79ID:W3jESzak >>772
書いてて思ったけどめんどくさくなってそれ以上考えなかった
書いてて思ったけどめんどくさくなってそれ以上考えなかった
776デフォルトの名無しさん
2018/12/06(木) 01:36:29.15ID:Yn5Hc93r >>770 Squeak/Pharo Smalltalk
| length N rand needle nCrossed |
length := 10000.
N := 1e7.
rand := Random new.
needle := LineMorph from: length / -2 @ 0 to: length / 2 @ 0 color: Color black width: 1.
nCrossed := 0.
N timesRepeat: [
| crossed |
needle rotationDegrees: 90 * rand next; center: 0 @ (length * rand next).
crossed := length negated @ 0 to: length @ 0 intersects: needle firstVertex to: needle lastVertex.
crossed ifTrue: [nCrossed := nCrossed + 1]
].
N / nCrossed asFloat "=> 3.142226273599298 "
| length N rand needle nCrossed |
length := 10000.
N := 1e7.
rand := Random new.
needle := LineMorph from: length / -2 @ 0 to: length / 2 @ 0 color: Color black width: 1.
nCrossed := 0.
N timesRepeat: [
| crossed |
needle rotationDegrees: 90 * rand next; center: 0 @ (length * rand next).
crossed := length negated @ 0 to: length @ 0 intersects: needle firstVertex to: needle lastVertex.
crossed ifTrue: [nCrossed := nCrossed + 1]
].
N / nCrossed asFloat "=> 3.142226273599298 "
777デフォルトの名無しさん
2018/12/06(木) 01:57:54.87ID:CjS0UpEg こういうプログラム面手するのつらいだろうな
778デフォルトの名無しさん
2018/12/06(木) 02:09:23.51ID:7UXgAx11 >>771 Ruby
# length = 2; gap = 2
buffon_s = -> n {n.fdiv((1..n).count{rand < sin(rand(1e10))})}
p buffon_s[10**6]
# => 3.1421245789553063
# length = 2; gap = 2
buffon_s = -> n {n.fdiv((1..n).count{rand < sin(rand(1e10))})}
p buffon_s[10**6]
# => 3.1421245789553063
779755
2018/12/06(木) 20:58:20.17ID:fqSvUjwD >>755
需要はほぼなかったみたいだが、出題者コメントを
答えだすのに必要なものだけに前処理で集計。今回必要なのは
0-9数字使用の有無だけなので2^10に集約・集計できる( 50万→1024)
この数になればあとは、二重ループで集計をすればいい。
後半は集約にビットを使えば、popcountを使って簡潔に書けるパターン。
想定解(python by pypy) https://ideone.com/bujm1x
回答者さんとほぼ同じ。
あえて相違点は、pythonのpopcount相当が意外と重かったので、
前処理でテーブル化している。(高速に出れば、いらないはず?)
※制約の50万と1.5秒は、素の(標準だけの)pythonに合わせている。
(このコードも素のpythonだと、例題6)だけで0.8秒くらい)
需要はほぼなかったみたいだが、出題者コメントを
答えだすのに必要なものだけに前処理で集計。今回必要なのは
0-9数字使用の有無だけなので2^10に集約・集計できる( 50万→1024)
この数になればあとは、二重ループで集計をすればいい。
後半は集約にビットを使えば、popcountを使って簡潔に書けるパターン。
想定解(python by pypy) https://ideone.com/bujm1x
回答者さんとほぼ同じ。
あえて相違点は、pythonのpopcount相当が意外と重かったので、
前処理でテーブル化している。(高速に出れば、いらないはず?)
※制約の50万と1.5秒は、素の(標準だけの)pythonに合わせている。
(このコードも素のpythonだと、例題6)だけで0.8秒くらい)
780デフォルトの名無しさん
2018/12/06(木) 21:56:29.19ID:QyI+7EvW781デフォルトの名無しさん
2018/12/07(金) 15:14:44.93ID:wiJMm9Hc782デフォルトの名無しさん
2018/12/07(金) 22:19:34.17ID:x8xNXHP3 お題
1,3,4,6,7,9,10,12,…
のように1から始まり奇数, 奇数,偶数,偶数,
奇数,奇数,偶数,偶数…と続く場合2019番目はいくつになるか
1,3,4,6,7,9,10,12,…
のように1から始まり奇数, 奇数,偶数,偶数,
奇数,奇数,偶数,偶数…と続く場合2019番目はいくつになるか
783デフォルトの名無しさん
2018/12/07(金) 22:30:34.68ID:avhY9emJ floor(2019 * 1.5)
784デフォルトの名無しさん
2018/12/07(金) 22:32:31.84ID:avhY9emJ 結果書いてなかった
3028
3028
785デフォルトの名無しさん
2018/12/07(金) 22:35:02.23ID:avhY9emJ 計算量的に整数の乗算とシフト演算だけの n * 3 >> 1 のほうが良いか
786デフォルトの名無しさん
2018/12/07(金) 22:38:48.18ID:xSpw6JJG787デフォルトの名無しさん
2018/12/07(金) 22:47:23.26ID:avhY9emJ788デフォルトの名無しさん
2018/12/07(金) 22:48:51.29ID:xSpw6JJG789デフォルトの名無しさん
2018/12/08(土) 03:40:55.13ID:xmV4OmOO790デフォルトの名無しさん
2018/12/08(土) 08:09:08.92ID:JIGsOpwq 第n項=3n/2+(-1)^n/4-1/4
791デフォルトの名無しさん
2018/12/08(土) 09:20:01.90ID:vpfNpx82 プログラミング初心者なんですがJavaを覚えるのに良い課題下さい
言語の本は一冊読みました
言語の本は一冊読みました
792デフォルトの名無しさん
2018/12/08(土) 09:29:35.75ID:5PBkTMHJ Winならtypeコマンド(LinuxとかUnix系だとcat)と同じ機能を自作してみるとか、行番号も表示するようにするとかから始めては?
793デフォルトの名無しさん
2018/12/08(土) 09:53:44.58ID:Mku3deOK794デフォルトの名無しさん
2018/12/08(土) 09:59:51.42ID:Mku3deOK >>793
言語はJ
言語はJ
795781
2018/12/08(土) 12:53:06.37ID:JIGsOpwq 整数計算オーバーフローが発生していたのを修正
https://pastebin.com/FAzjRJn5
https://pastebin.com/FAzjRJn5
796デフォルトの名無しさん
2018/12/08(土) 15:30:02.59ID:dsjig1JQ お題:N×Nの盤面に石を置いていく。
どの4つの石も同一円周上に乗らないようにする場合、最大何個配置できるか?
ただし、一直線上に並ぶ配置は半径∞の円周上と考える。
N=3 => 5
N=4 => 7
5 => 9
6 => 11
9 => 18
どの4つの石も同一円周上に乗らないようにする場合、最大何個配置できるか?
ただし、一直線上に並ぶ配置は半径∞の円周上と考える。
N=3 => 5
N=4 => 7
5 => 9
6 => 11
9 => 18
797デフォルトの名無しさん
2018/12/08(土) 17:29:13.00ID:xmV4OmOO >>796
問題の意味がわからない。図とか描いてくれ。
問題の意味がわからない。図とか描いてくれ。
798デフォルトの名無しさん
2018/12/08(土) 17:33:47.41ID:kCA+QhwE >>796
石の大きさはゼロで格子点とでも考えればいいのかな
石の大きさはゼロで格子点とでも考えればいいのかな
799デフォルトの名無しさん
2018/12/08(土) 17:36:28.60ID:m52vxjN5 ああ共円か
有名なゲームだな
有名なゲームだな
800デフォルトの名無しさん
2018/12/08(土) 19:05:02.19ID:xmV4OmOO 共円でググってようやっとわかった。
801デフォルトの名無しさん
2018/12/08(土) 19:37:58.42ID:xPmIyiBg >>791
テトリス
テトリス
802デフォルトの名無しさん
2018/12/10(月) 02:09:47.01ID:3g7m60y1 >>782
1は0番目じゃなくて1番目だよね。念のため確認
1は0番目じゃなくて1番目だよね。念のため確認
803デフォルトの名無しさん
2018/12/12(水) 02:35:41.59ID:84v7sPOJ お題
2次元平面上で点(x,y)が点列(X1,Y1), (X2,Y2), ..., (Xn,Yn), (X1,Y1)を順に結んでできる多角形の内部にあるかどうか判定せよ
2次元平面上で点(x,y)が点列(X1,Y1), (X2,Y2), ..., (Xn,Yn), (X1,Y1)を順に結んでできる多角形の内部にあるかどうか判定せよ
804デフォルトの名無しさん
2018/12/12(水) 07:13:05.92ID:SVnAXs6w どのような多角形をなすかの
仮定で方法も違ってくるだろうけど、
一般的な場合を視野に入れる限り
複数の数学ライブラリを組み合わせて
扱うソリューションパッケージ的なものに
なりそうでお題としてはなんだかなって感じ
仮定で方法も違ってくるだろうけど、
一般的な場合を視野に入れる限り
複数の数学ライブラリを組み合わせて
扱うソリューションパッケージ的なものに
なりそうでお題としてはなんだかなって感じ
805デフォルトの名無しさん
2018/12/12(水) 08:10:30.84ID:3f3X1OW4 >>803
多角形の定義がひどい。
重なる事はあるのか、と、重なったときに内部はどうするのかとか。(抜けるのはめんどくさい)
重なってはいけないけど辺は突き抜けても良いのかとか。
描いた絵みたいな状態を許すかどうかでけっこう判定が変わる。
多角形の定義がひどい。
重なる事はあるのか、と、重なったときに内部はどうするのかとか。(抜けるのはめんどくさい)
重なってはいけないけど辺は突き抜けても良いのかとか。
描いた絵みたいな状態を許すかどうかでけっこう判定が変わる。
806デフォルトの名無しさん
2018/12/12(水) 08:27:43.91ID:3f3X1OW4 多角形を三角形に分割して、
(x1,y1)→(x2,y2)のベクトルと
(x2,y2)→(x3,y3)のベクトルと
(x3,y3)→(x1,y1)のベクトルを
それぞれ、
(x2,y2)→(x,y)
(x3,y3)→(x,y)
(x1,y1)→(x,y)
と外積をとって、正負が一致したらその点は多角形内部にある。
重ならないなら三角形に分割、は、
1,2,3、2,3,4、3,4,5…と使う頂点をスライドさせていくだけで良いんじゃないかな?どっかで裏返るかな。
(x1,y1)→(x2,y2)のベクトルと
(x2,y2)→(x3,y3)のベクトルと
(x3,y3)→(x1,y1)のベクトルを
それぞれ、
(x2,y2)→(x,y)
(x3,y3)→(x,y)
(x1,y1)→(x,y)
と外積をとって、正負が一致したらその点は多角形内部にある。
重ならないなら三角形に分割、は、
1,2,3、2,3,4、3,4,5…と使う頂点をスライドさせていくだけで良いんじゃないかな?どっかで裏返るかな。
807デフォルトの名無しさん
2018/12/12(水) 09:01:00.07ID:J4hfK+qs また数学か。数学板が嫌なら紙とえんぴつでやってろ
808デフォルトの名無しさん
2018/12/12(水) 09:21:43.03ID:YlPyc4+b ポリゴンで塗り潰してその色になれば真
809デフォルトの名無しさん
2018/12/12(水) 11:12:59.34ID:3f3X1OW4 数学になるの?
俺CAD関連と3DCG関連でこういうの書くけどな。
コード書こうと思って出題者に問うたつもりだけど。。
証明出来てないコード書いても無意味なんだから先にロジック書いたつもり。
ってかどうして数学?っぼい問題が嫌われるの?
脳筋コードが良いってこと?
俺CAD関連と3DCG関連でこういうの書くけどな。
コード書こうと思って出題者に問うたつもりだけど。。
証明出来てないコード書いても無意味なんだから先にロジック書いたつもり。
ってかどうして数学?っぼい問題が嫌われるの?
脳筋コードが良いってこと?
810デフォルトの名無しさん
2018/12/12(水) 11:17:02.00ID:rSdIoMBA >>803 Ruby 与えられるのは凸多角形のみとし、頂点は反時計・時計回りのいずれかで与えられるものとする
def diff(a, b); a.zip(b).map{|i, j| i - j}; end
def in_triangle?(p, a, b, c)
ap, ab, ac = [p, b, c].map{|v| diff(v, a)}
det = ab[0] * ac[1] - ab[1] * ac[0]
s = (ac[1] * ap[0] - ac[0] * ap[1]) / det
t = -(ab[1] * ap[0] - ab[0] * ap[1]) / det
[s, t].all?{|e| (0..1).include?(e)} && s + t <= 1
end
def in_con_polygon?(p, *vers)
vers[1..-1].each_cons(2).any?{|v1, v2| in_triangle?(p, vers[0], v1, v2)}
end
# 原点を左下の頂点とする長さ1の正方形の内部に(0.5, 0.5)は含まれるか
p in_con_polygon?([0.5, 0.5], [0, 0], [1, 0], [1, 1], [0, 1])
# => true
p in_con_polygon?([1.76, 1.75], [0, 0], [3, 0], [2, 1.5], [1, 2.5], [0, 3])
# => false
def diff(a, b); a.zip(b).map{|i, j| i - j}; end
def in_triangle?(p, a, b, c)
ap, ab, ac = [p, b, c].map{|v| diff(v, a)}
det = ab[0] * ac[1] - ab[1] * ac[0]
s = (ac[1] * ap[0] - ac[0] * ap[1]) / det
t = -(ab[1] * ap[0] - ab[0] * ap[1]) / det
[s, t].all?{|e| (0..1).include?(e)} && s + t <= 1
end
def in_con_polygon?(p, *vers)
vers[1..-1].each_cons(2).any?{|v1, v2| in_triangle?(p, vers[0], v1, v2)}
end
# 原点を左下の頂点とする長さ1の正方形の内部に(0.5, 0.5)は含まれるか
p in_con_polygon?([0.5, 0.5], [0, 0], [1, 0], [1, 1], [0, 1])
# => true
p in_con_polygon?([1.76, 1.75], [0, 0], [3, 0], [2, 1.5], [1, 2.5], [0, 3])
# => false
811デフォルトの名無しさん
2018/12/12(水) 11:40:32.38ID:rSdIoMBA 問題を勘違いしてたので一部修正
凸多角形でなくてもOK 順番も結ぶ順でOK
ただし>>805の星型の内部は多角形には含まれないとする
def in_con_polygon?(p, *vers)
vers[1..-1].each_cons(2).count{|v1, v2| in_triangle?(p, vers[0], v1, v2)}.odd?
end
凸多角形でなくてもOK 順番も結ぶ順でOK
ただし>>805の星型の内部は多角形には含まれないとする
def in_con_polygon?(p, *vers)
vers[1..-1].each_cons(2).count{|v1, v2| in_triangle?(p, vers[0], v1, v2)}.odd?
end
812デフォルトの名無しさん
2018/12/12(水) 11:56:39.21ID:3f3X1OW4 ベクトル係数の解法も綺麗だな。式も少ないし素晴らしいと思う。
813デフォルトの名無しさん
2018/12/12(水) 12:12:03.42ID:SeAXRl2+ >>803 Java
https://ideone.com/xJBcjx
わかんねーので言語任せw
non_zero: >>805の星型の内部も多角形に含まれる
even_odd: >>805の星型の内部は多角形に含まれない
https://ideone.com/xJBcjx
わかんねーので言語任せw
non_zero: >>805の星型の内部も多角形に含まれる
even_odd: >>805の星型の内部は多角形に含まれない
814デフォルトの名無しさん
2018/12/12(水) 12:14:30.79ID:ygJIxGmd815デフォルトの名無しさん
2018/12/12(水) 14:03:01.24ID:FdJbiO2G 数学の問題集から拾ってきただけみたいな雑な出題が叩かれてるんじゃなかったのか
問題文自体に不備があってそこを詰めるのが主になってしまうパターンもあるけど
問題文自体に不備があってそこを詰めるのが主になってしまうパターンもあるけど
816デフォルトの名無しさん
2018/12/12(水) 14:49:36.03ID:GETLERsG 純粋に数学だけで解けて解法の式を作ったら、あとはコードにベタ書きしてただ解を出力するだけ、という問題だったら、わざわざプログラム板でやる面白味はないなあと思う。
数学的に解いても、その後コードに起こす際にプログラミング固有の工夫とか言語による違いが見られるような物だと興味深い。
個人的な感想です。
数学的に解いても、その後コードに起こす際にプログラミング固有の工夫とか言語による違いが見られるような物だと興味深い。
個人的な感想です。
817デフォルトの名無しさん
2018/12/12(水) 15:01:41.06ID:LIx8RHBs 集合論的なのをリスト使うのと配列使うのだったら違いもあるだろうけど、
そういう問題出ないね。
A∪B := {x | x ∈ A ∨ x ∈ B}
はHaskellだと仮にx が{1,2,3,4,5,6,7,8,9,10}の要素で、Aが{3,4,5,6}、Bが{5,6,7,8}なら
setX = [1..10]
setA = [3..6]
setB = [5..8]
[x | x <- setX, x `elem` setA || x `elem` setB]
(Haskellは変数名の初めに大文字使えない)
これがCで配列縛りだとreallocでも使いながらなんじゃろか。。。
そういう問題出ないね。
A∪B := {x | x ∈ A ∨ x ∈ B}
はHaskellだと仮にx が{1,2,3,4,5,6,7,8,9,10}の要素で、Aが{3,4,5,6}、Bが{5,6,7,8}なら
setX = [1..10]
setA = [3..6]
setB = [5..8]
[x | x <- setX, x `elem` setA || x `elem` setB]
(Haskellは変数名の初めに大文字使えない)
これがCで配列縛りだとreallocでも使いながらなんじゃろか。。。
>>817
そういう問題はある種の順序関係を仮定してインプリメントしたいところです
そういう問題はある種の順序関係を仮定してインプリメントしたいところです
820デフォルトの名無しさん
2018/12/12(水) 23:47:12.93ID:V5rMC+dN >>817 Smalltalk
| X A B |
X := 1 to: 10.
A := 3 to: 6.
B := 5 to: 8.
X select: [:x | (A includes: x) or: [B includes: x]]
https://ideone.com/XSlcVz
| X A B |
X := 1 to: 10.
A := 3 to: 6.
B := 5 to: 8.
X select: [:x | (A includes: x) or: [B includes: x]]
https://ideone.com/XSlcVz
821デフォルトの名無しさん
2018/12/13(木) 00:26:45.67ID:ilwXN+sT >>817 Squeak/Pharo Smalltalk
| X A B |
X := 1 to: 10.
A := 3 to: 6.
B := 5 to: 8.
X intersection: (A union: B) "=> #(3 4 5 6 7 8) "
| X A B |
X := 1 to: 10.
A := 3 to: 6.
B := 5 to: 8.
X intersection: (A union: B) "=> #(3 4 5 6 7 8) "
822デフォルトの名無しさん
2018/12/13(木) 01:00:05.58ID:vQDTFPB2823デフォルトの名無しさん
2018/12/13(木) 09:40:48.46ID:wBrOfppZ824デフォルトの名無しさん
2018/12/15(土) 18:26:25.25ID:RxHR1YVb825デフォルトの名無しさん
2018/12/15(土) 18:51:24.63ID:Hf86DN+J >>824
ruby -pe'~/^42$/&&exit'
ruby -pe'~/^42$/&&exit'
826デフォルトの名無しさん
2018/12/15(土) 20:46:54.11ID:Du8iBFv1827デフォルトの名無しさん
2018/12/15(土) 23:34:07.15ID:2jxK776v828デフォルトの名無しさん
2018/12/15(土) 23:59:19.52ID:QTag+jm2 >>824 PowerShell
while (($var = (Read-Host)) -ne 42) { $var }
while (($var = (Read-Host)) -ne 42) { $var }
829デフォルトの名無しさん
2018/12/16(日) 03:36:20.47ID:X+FaDx+z830デフォルトの名無しさん
2018/12/16(日) 13:54:15.20ID:ob8ozoeg [お題] 来年と素数
今年も残りわずか、来年は2019年で平成31年。
1)"2019"の省略形の"19"について。
素数の和で19を作る、すべての素数配列を列挙せよ(できれば辞書順で)。
同じ素数を何個使ってもよいが、同じ素数同士は区別しない。
・例えば対象が"11"だと以下の6つ
{2, 2, 2, 2, 3}
{2, 2, 2, 5}
{2, 2, 7}
{2, 3, 3, 3}
{3, 3, 5}
{11}
以下 2)3)4)は種類計のみ答える(明細は多いので略)。
2)来年の初まりは平成31年で、"31"について。
素数の和で31を作る、その種類はいくつか。条件は1)と同様。
3)素数の和で2019を作る、その種類はいくつか。条件は1)と同様。
4)2019と31を続けた数 201931(=2019*100+31)について。
素数の和で201931を作る、その種類はいくつか。
但し、使用していい素数は31以下の素数かつ、
同じ素数は最大2019個までしか使えない。同じ素数は区別しない。
※ 3)4)は64bit整数を超えるので、下10桁だけの回答も可。
今年も残りわずか、来年は2019年で平成31年。
1)"2019"の省略形の"19"について。
素数の和で19を作る、すべての素数配列を列挙せよ(できれば辞書順で)。
同じ素数を何個使ってもよいが、同じ素数同士は区別しない。
・例えば対象が"11"だと以下の6つ
{2, 2, 2, 2, 3}
{2, 2, 2, 5}
{2, 2, 7}
{2, 3, 3, 3}
{3, 3, 5}
{11}
以下 2)3)4)は種類計のみ答える(明細は多いので略)。
2)来年の初まりは平成31年で、"31"について。
素数の和で31を作る、その種類はいくつか。条件は1)と同様。
3)素数の和で2019を作る、その種類はいくつか。条件は1)と同様。
4)2019と31を続けた数 201931(=2019*100+31)について。
素数の和で201931を作る、その種類はいくつか。
但し、使用していい素数は31以下の素数かつ、
同じ素数は最大2019個までしか使えない。同じ素数は区別しない。
※ 3)4)は64bit整数を超えるので、下10桁だけの回答も可。
>>830
年忘れ課題の時期になったんですね…
年忘れ課題の時期になったんですね…
832デフォルトの名無しさん
2018/12/16(日) 19:04:23.02ID:P931WLXH833830
2018/12/16(日) 19:54:33.15ID:GrZg6kve834デフォルトの名無しさん
2018/12/16(日) 19:56:19.00ID:pjubjjb0 >>833
自分も31は111だったわ
自分も31は111だったわ
835デフォルトの名無しさん
2018/12/16(日) 20:37:34.86ID:VvrWecHB >>830 Ruby 1)は省略
require 'prime'
def fuge(n, cand = Prime.to_a(n), h = {}, succ = 0)
c0 = cand[0]
return h[[n, c0]] if h[[n, c0]]
return 0 if n == 0 || !c0 || n < c0
return 1 if n == c0
x = succ == 2019 ? 0 : fuge(n - c0, cand, h, succ + 1)
h[[n, c0]] = fuge(n, cand[1..-1], h) + x
end
p fuge(19) # => 23
p fuge(31) # => 111
p fuge(2019) # => 576202207044176168646563
p fuge(201931, Prime.to_a(31)) # => 4021686887140718864271667825968903
require 'prime'
def fuge(n, cand = Prime.to_a(n), h = {}, succ = 0)
c0 = cand[0]
return h[[n, c0]] if h[[n, c0]]
return 0 if n == 0 || !c0 || n < c0
return 1 if n == c0
x = succ == 2019 ? 0 : fuge(n - c0, cand, h, succ + 1)
h[[n, c0]] = fuge(n, cand[1..-1], h) + x
end
p fuge(19) # => 23
p fuge(31) # => 111
p fuge(2019) # => 576202207044176168646563
p fuge(201931, Prime.to_a(31)) # => 4021686887140718864271667825968903
836デフォルトの名無しさん
2018/12/16(日) 20:50:18.98ID:P931WLXH837830
2018/12/17(月) 20:45:38.05ID:4p2KDXiR838830
2018/12/20(木) 20:26:37.78ID:W0v1JICZ >>830 python https://ideone.com/OFR7bn
間が空いたので、出題者コメント
1)問題文説明用に書いてみて、問題にもできると思った。
2)3)は"オイラー 31 DP"でググってください。
違いはコインの額面が素数に変わったくらいと、おおきさ。
なかには一つ一つ数えて、本問の2)しか溶けない回答があるので見分けて。
4)については、ソース上三種類書いて考察しています。
("201931"という変な数値は、3重ループ解を落とすのが目的だった)
間が空いたので、出題者コメント
1)問題文説明用に書いてみて、問題にもできると思った。
2)3)は"オイラー 31 DP"でググってください。
違いはコインの額面が素数に変わったくらいと、おおきさ。
なかには一つ一つ数えて、本問の2)しか溶けない回答があるので見分けて。
4)については、ソース上三種類書いて考察しています。
("201931"という変な数値は、3重ループ解を落とすのが目的だった)
839デフォルトの名無しさん
2018/12/21(金) 08:20:43.27ID:hMEdBbLv お題:
真理値表から2入力NANDで最小ゲート数回路を作れ。実用上最も重要な問題群
真理値表から2入力NANDで最小ゲート数回路を作れ。実用上最も重要な問題群
840デフォルトの名無しさん
2018/12/21(金) 08:38:52.94ID:choQhZIj 遅延時間とかファンアウトとかは考慮不要ってことでいいのかな
841デフォルトの名無しさん
2018/12/22(土) 11:29:36.65ID:7UfbjIEE >>841
昔カルノー図がかける範囲(3入力?4入力くらいだったかな?)で簡約化ツールを作ったことがあります
当時は書き捨て上等、でやっていたのですが、今は困ってしまっています、当時のプログラム記述能力は当時は今後もずっと保存されるものと当時は考えていたのですが、それは完全な誤りでした…
昔カルノー図がかける範囲(3入力?4入力くらいだったかな?)で簡約化ツールを作ったことがあります
当時は書き捨て上等、でやっていたのですが、今は困ってしまっています、当時のプログラム記述能力は当時は今後もずっと保存されるものと当時は考えていたのですが、それは完全な誤りでした…
843デフォルトの名無しさん
2018/12/23(日) 16:48:28.85ID:V9Fp8lZV >>841
俺全然わかってない人なんだけど、
そのURLの一番下の、入力部分のNOTゲートを無視しない場合、
9個のNANDゲートで構成できるって書いてあるけど、
NOTゲートの部分を2個減らして7個で作るとかはあかんのん?
俺全然わかってない人なんだけど、
そのURLの一番下の、入力部分のNOTゲートを無視しない場合、
9個のNANDゲートで構成できるって書いてあるけど、
NOTゲートの部分を2個減らして7個で作るとかはあかんのん?
844デフォルトの名無しさん
2018/12/23(日) 16:56:13.54ID:jMuRFGAa 半導体製造のコストがある
NANDゲートは作り易い、というか造りが簡素で単純
NOTゲートも作り易い
なので厳密には製造コストも考えないといけない
NANDゲートは作り易い、というか造りが簡素で単純
NOTゲートも作り易い
なので厳密には製造コストも考えないといけない
845デフォルトの名無しさん
2018/12/23(日) 17:29:24.88ID:gPP7+XoH846デフォルトの名無しさん
2018/12/23(日) 18:34:59.46ID:m1FIlPHW847デフォルトの名無しさん
2018/12/23(日) 21:11:36.62ID:9AXglOVX >>846
それA=0, B=0, C=0の結果から間違ってるんだが
それA=0, B=0, C=0の結果から間違ってるんだが
848デフォルトの名無しさん
2018/12/23(日) 23:39:28.74ID:DR7zt9Cz >>847
うむ
最終形は
Z=~ABC+A~C+~B~C
ですね
2入力NAND回路は
Step 9, Solution 1
0 : -1, -1: 0, 0, 0, 0, 1, 1, 1, 1
1 : -1, -1: 0, 0, 1, 1, 0, 0, 1, 1
2 : -1, -1: 0, 1, 0, 1, 0, 1, 0, 1
3 : 0, 0: 1, 1, 1, 1, 0, 0, 0, 0
4 : 3, 1: 1, 1, 0, 0, 1, 1, 1, 1
5 : 4, 2: 1, 0, 1, 1, 1, 0, 1, 0
6 : 5, 2: 1, 1, 1, 0, 1, 1, 1, 1
7 : 5, 4: 0, 1, 1, 1, 0, 1, 0, 1
8 : 7, 6: 1, 0, 0, 1, 1, 0, 1, 0
ともう一つでした。
うむ
最終形は
Z=~ABC+A~C+~B~C
ですね
2入力NAND回路は
Step 9, Solution 1
0 : -1, -1: 0, 0, 0, 0, 1, 1, 1, 1
1 : -1, -1: 0, 0, 1, 1, 0, 0, 1, 1
2 : -1, -1: 0, 1, 0, 1, 0, 1, 0, 1
3 : 0, 0: 1, 1, 1, 1, 0, 0, 0, 0
4 : 3, 1: 1, 1, 0, 0, 1, 1, 1, 1
5 : 4, 2: 1, 0, 1, 1, 1, 0, 1, 0
6 : 5, 2: 1, 1, 1, 0, 1, 1, 1, 1
7 : 5, 4: 0, 1, 1, 1, 0, 1, 0, 1
8 : 7, 6: 1, 0, 0, 1, 1, 0, 1, 0
ともう一つでした。
849デフォルトの名無しさん
2018/12/24(月) 08:22:13.10ID:bL5ZoHRn850デフォルトの名無しさん
2018/12/24(月) 11:32:09.70ID:7aEQUcJ6851デフォルトの名無しさん
2018/12/24(月) 13:42:11.05ID:bL5ZoHRn852デフォルトの名無しさん
2018/12/26(水) 16:33:56.35ID:GYS6kcBm >>848
wxMaximaでお絵描きした。
/* [wxMaxima: input start ] */
load (graphs)$
gg() := draw_graph(
net,
show_weight=true,
vertex_size=3,
show_id=true,
show_vertices=[0,1,2,8],
show_vertex_type=filled_square,
head_length=0.2,
head_angle=5,
edge_color="dark-green",
text_color=blue
);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Solution[1]:[[[ 0, 3],2],[[ 3, 4],1],[[ 1, 4],1],
[[ 4, 5],1],[[ 2, 5],1],[[ 5, 6],1],[[ 2, 6],1],
[[ 5, 7],1],[[ 4, 7],1],[[ 7, 8],1],[[ 6, 8],1]]$
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
aa:1$ for g:aa thru 1 do (
net : create_graph(9,Solution[g],directed=true),
print("Solution",aa,Solution[g]),aa:aa+1,
gg());
/* [wxMaxima: input end ] */
wxMaximaでお絵描きした。
/* [wxMaxima: input start ] */
load (graphs)$
gg() := draw_graph(
net,
show_weight=true,
vertex_size=3,
show_id=true,
show_vertices=[0,1,2,8],
show_vertex_type=filled_square,
head_length=0.2,
head_angle=5,
edge_color="dark-green",
text_color=blue
);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Solution[1]:[[[ 0, 3],2],[[ 3, 4],1],[[ 1, 4],1],
[[ 4, 5],1],[[ 2, 5],1],[[ 5, 6],1],[[ 2, 6],1],
[[ 5, 7],1],[[ 4, 7],1],[[ 7, 8],1],[[ 6, 8],1]]$
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
aa:1$ for g:aa thru 1 do (
net : create_graph(9,Solution[g],directed=true),
print("Solution",aa,Solution[g]),aa:aa+1,
gg());
/* [wxMaxima: input end ] */
853デフォルトの名無しさん
2019/01/06(日) 20:37:20.68ID:uX30aAuK エモい歌うまバーチャルユーチューバー
https://script.google.com/macros/s/AKfycbxuAt1ejx43_zMRfK7Xplwgwn7cXDQAdZTJkDdLrVCLo8SIdhI/exec
今、見られている話題のVtuberを知りたいなら、ハルカス式Vtuberランキングを見ましょう
【ハルカス式Vtuberランキング】※毎週・毎月自動更新
https://script.google.com/macros/s/AKfycbzZO93mJcZ5M_dPmIZOzuVQNr4mcGwQQdiT7GiLld_1Uews7uE/exec
年末年始の一週間12/27〜01/02までのハルカス式Vtuberランキング
https://docs.google.com/spreadsheets/d/1jdVQ2r5yTrAykMRF1nuX6_5DXpK0167D4JcVCQZTJdM/edit#gid=157464142
年末の一ヶ月12/1〜12/31までのハルカス式Vtuberランキング
https://docs.google.com/spreadsheets/d/1Yc6HD_h4lfurme9b3T0ZXBf2-iBpFSmMGg-1bdgSe0E/edit#gid=1971024984
第4回バーチャルYouTuber人気投票募集中(全304名、2018年11月23日〜)
あなたの好きなVtuberは?5問(配信内容、トーク、歌うま、ゲーム実況、キャラデザ)
https://script.google.com/macros/s/AKfycbwSwNBm8qYD4_kZN2uJLeqRIP8Mwpbo3YDTUEpaSMU02BDAR3jh/exec
・Googleフォームは標準仕様では不正投票が可能な為、改造して対策を行いました。
・2018/11/23時点でチャンネル登録数10,000人以上のuserlocalに登録されたVtuberを対象としています。
・一つのチャンネルでVtuberが複数人いる場合は、それぞれ分けています。
・このフォームに投票するにはグーグルアカウントでログインする必要はありません。
・並び順は前回の得票数の高い順と新人は登録者数の多い順に並んでいます。
・今回も1,000人の方が投票するまで継続します。
なお投票結果はスプレッドシートにリアルタイムで表示されるようにしました。
また【概要】と【詳細】でシートを分けております。
https://docs.google.com/spreadsheets/d/1udB81Vnia9CoIgPaan3a5XFeaCfcnBXkRoPTuxvRpAc/
grげrげ
https://script.google.com/macros/s/AKfycbxuAt1ejx43_zMRfK7Xplwgwn7cXDQAdZTJkDdLrVCLo8SIdhI/exec
今、見られている話題のVtuberを知りたいなら、ハルカス式Vtuberランキングを見ましょう
【ハルカス式Vtuberランキング】※毎週・毎月自動更新
https://script.google.com/macros/s/AKfycbzZO93mJcZ5M_dPmIZOzuVQNr4mcGwQQdiT7GiLld_1Uews7uE/exec
年末年始の一週間12/27〜01/02までのハルカス式Vtuberランキング
https://docs.google.com/spreadsheets/d/1jdVQ2r5yTrAykMRF1nuX6_5DXpK0167D4JcVCQZTJdM/edit#gid=157464142
年末の一ヶ月12/1〜12/31までのハルカス式Vtuberランキング
https://docs.google.com/spreadsheets/d/1Yc6HD_h4lfurme9b3T0ZXBf2-iBpFSmMGg-1bdgSe0E/edit#gid=1971024984
第4回バーチャルYouTuber人気投票募集中(全304名、2018年11月23日〜)
あなたの好きなVtuberは?5問(配信内容、トーク、歌うま、ゲーム実況、キャラデザ)
https://script.google.com/macros/s/AKfycbwSwNBm8qYD4_kZN2uJLeqRIP8Mwpbo3YDTUEpaSMU02BDAR3jh/exec
・Googleフォームは標準仕様では不正投票が可能な為、改造して対策を行いました。
・2018/11/23時点でチャンネル登録数10,000人以上のuserlocalに登録されたVtuberを対象としています。
・一つのチャンネルでVtuberが複数人いる場合は、それぞれ分けています。
・このフォームに投票するにはグーグルアカウントでログインする必要はありません。
・並び順は前回の得票数の高い順と新人は登録者数の多い順に並んでいます。
・今回も1,000人の方が投票するまで継続します。
なお投票結果はスプレッドシートにリアルタイムで表示されるようにしました。
また【概要】と【詳細】でシートを分けております。
https://docs.google.com/spreadsheets/d/1udB81Vnia9CoIgPaan3a5XFeaCfcnBXkRoPTuxvRpAc/
grげrげ
854デフォルトの名無しさん
2019/01/18(金) 22:48:43.15ID:sD1souQd あげ
855デフォルトの名無しさん
2019/01/19(土) 05:22:33.88ID:M8Q3zGyy 過疎ってるので別スレのこれをお題にする。
なお、クラスではなく関数でもサブルーチンでも良い。
https://mevius.5ch.net/test/read.cgi/tech/1544839627/332
332 デフォルトの名無しさん (ワッチョイ f11f-t+p0) sage 2019/01/18(金) 22:57:58.37 ID:1ZiD/8V00
文字列から数字をtmpWとtmpHに抜き出すクラスを作りたいのですがどうしたらいいですか?
演算子記号は+−もある、数字の桁数は不明で小数点もあり、数字が入るときは小文字一字始まり、引数はw or hで抜き出す戻り値を示す。
対象文字
@w900×HH
AWW×h1000
BWW×HH
Cw900/h100
結果 引数がwなら左 hなら右
@tmpW=900 tmpH=WW
AtmpW=WW tmpH=1000
BtmpW=WW tmpH=WW
CtmpW=900 tmpH=1000
なお、クラスではなく関数でもサブルーチンでも良い。
https://mevius.5ch.net/test/read.cgi/tech/1544839627/332
332 デフォルトの名無しさん (ワッチョイ f11f-t+p0) sage 2019/01/18(金) 22:57:58.37 ID:1ZiD/8V00
文字列から数字をtmpWとtmpHに抜き出すクラスを作りたいのですがどうしたらいいですか?
演算子記号は+−もある、数字の桁数は不明で小数点もあり、数字が入るときは小文字一字始まり、引数はw or hで抜き出す戻り値を示す。
対象文字
@w900×HH
AWW×h1000
BWW×HH
Cw900/h100
結果 引数がwなら左 hなら右
@tmpW=900 tmpH=WW
AtmpW=WW tmpH=1000
BtmpW=WW tmpH=WW
CtmpW=900 tmpH=1000
856デフォルトの名無しさん
2019/01/19(土) 08:17:19.40ID:9NMu+pMT お題スレじゃなくて、あなたの宿題無料でやりますよになってる
857デフォルトの名無しさん
2019/01/19(土) 09:54:02.71ID:9IabhBF0 >>855 Ruby
f = -> str {str.scan(/([A-Z]{2}|[a-z])((?:\d+\.)?\d+)?/).each_with_object({}){|(m, num), h| h["tmp#{m[0].upcase}"] = !num ? ' ' : num.match?(/\./) ? num.to_f : num.to_i}}
%w[
w900×HH WW×h1000 WW×HH w900/h100 w3.14/h2.72
].each{|e| h = f[e]; puts "#{e} -> " + h.map{|v| '%s = %p' % v}.join(', ')}
# =>
w900×HH -> tmpW = 900, tmpH = " "
WW×h1000 -> tmpW = " ", tmpH = 1000
WW×HH -> tmpW = " ", tmpH = " "
w900/h100 -> tmpW = 900, tmpH = 100
w3.14/h2.72 -> tmpW = 3.14, tmpH = 2.72
f = -> str {str.scan(/([A-Z]{2}|[a-z])((?:\d+\.)?\d+)?/).each_with_object({}){|(m, num), h| h["tmp#{m[0].upcase}"] = !num ? ' ' : num.match?(/\./) ? num.to_f : num.to_i}}
%w[
w900×HH WW×h1000 WW×HH w900/h100 w3.14/h2.72
].each{|e| h = f[e]; puts "#{e} -> " + h.map{|v| '%s = %p' % v}.join(', ')}
# =>
w900×HH -> tmpW = 900, tmpH = " "
WW×h1000 -> tmpW = " ", tmpH = 1000
WW×HH -> tmpW = " ", tmpH = " "
w900/h100 -> tmpW = 900, tmpH = 100
w3.14/h2.72 -> tmpW = 3.14, tmpH = 2.72
858デフォルトの名無しさん
2019/01/19(土) 12:58:12.91ID:XYN5JTgF > CtmpW=900 tmpH=1000
859デフォルトの名無しさん
2019/01/19(土) 15:20:58.20ID:M8Q3zGyy >>856
お題をやるかどうかは自由だし使う言語も自由なのでここは宿題向きスレではない。それに宿題用のスレは別にある。
お題をやるかどうかは自由だし使う言語も自由なのでここは宿題向きスレではない。それに宿題用のスレは別にある。
860デフォルトの名無しさん
2019/01/20(日) 17:00:10.01ID:XepLmY3z お題
チェス盤をかく
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
チェス盤をかく
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
861デフォルトの名無しさん
2019/01/20(日) 17:28:18.15ID:bv4HmLR/ for i in range(4):
print("□■□■□■□■")
print("■□■□■□■□")
print("□■□■□■□■")
print("■□■□■□■□")
862デフォルトの名無しさん
2019/01/20(日) 18:45:01.40ID:vla32kuj console.log(`
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
`);
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
`);
863デフォルトの名無しさん
2019/01/20(日) 19:21:05.18ID:QLQt0ffh >>860
85kg 170cmの俺がJavascriptで回答。
[85, 170]
.map(d => [...d.toString(2).padStart(8,0)]
.map(b => +b ? '□' : '■')
.join`` + '\n')
.join``
.repeat(4)
85kg 170cmの俺がJavascriptで回答。
[85, 170]
.map(d => [...d.toString(2).padStart(8,0)]
.map(b => +b ? '□' : '■')
.join`` + '\n')
.join``
.repeat(4)
864デフォルトの名無しさん
2019/01/20(日) 19:39:43.28ID:CUY2SNg1 >>860 Ruby
puts 72.times.map{|i| i % 9 / 8 * 10 + 15 / (i % 9 + 8) * (i & 1 ^ 9633)}.pack('U*')
# =>
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
puts 72.times.map{|i| i % 9 / 8 * 10 + 15 / (i % 9 + 8) * (i & 1 ^ 9633)}.pack('U*')
# =>
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
865デフォルトの名無しさん
2019/01/20(日) 19:45:27.08ID:z2xvgkTe■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」 [♪♪♪★]
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」★2 [♪♪♪★]
- 【速報】 植田日銀総裁 「円安進行が物価高を起こしている」 ★2 [お断り★]
- 「ふざけんな!」 国会議員給与、『月5万円増』報道にネット騒然 「国民が物価高で困っているのに」「定数削減とか言いながら…」 [♪♪♪★]
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★11 [BFU★]
- デヴィ夫人、悪化の日中関係に言及「戦いましょう」「日本の経済人よ、日本総力で戦えば勝てるはず」 [muffin★]
- 【速報】暫定税率廃止、全会一致で可決!12月31日から25円/L安くなるぞ! [369521721]
- 戦略的互恵関係望むなら答弁撤回せよと中国。高市、もう後がなくなる [805596214]
- 【鈴木早苗】お米券おひとり様3000円に閣議決定 [993451824]
- 🏡なにゃこのスリャ!🐧⚡🏡
- 麻生太郎(85)「国民は台湾有事で戦う覚悟が求められる」 [961870172]
- ジャップランドにネトウヨがこんなに多いとは想わなかったよな🥺 [929293504]
