プログラミングのお題スレ Part12

■ このスレッドは過去ログ倉庫に格納されています
2018/09/28(金) 10:09:07.13ID:phwOkayR
プログラミングのお題スレです。

【出題と回答例】
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/
2018/12/03(月) 23:49:23.73ID:CrTNh3lq
数え上げ系のお題はつまんない
2018/12/04(火) 10:39:39.35ID:ZczbahAK
パズルソルバーは制約・論理プログラミングが最適だね。
758デフォルトの名無しさん
垢版 |
2018/12/04(火) 13:11:47.75ID:vhrUEqnQ
>>720 正規表現だけで書いてみた

regexp = /((?:([^"']*?)(?:\/\/[^\n]*|\/\*.*?\*\/))*)(("|').*?(?<!\\)(?:\\\\)*\4)?/m

puts <<~EOT.gsub(regexp, '\2\3')
  hoge(); // fuga
  hoge('"'); // fuga ");
  hoge("// \\"fuga\\"\\\\", /* fuga */ *"fuga");
  hoge("/* fuga */"); /* fuga
  fuga /* "fuga" // */; hoge
EOT
# =>
hoge();
hoge('"');
hoge("// \"fuga\"\\", *"fuga");
hoge("/* fuga */"); ; hoge
2018/12/04(火) 13:34:55.49ID:fo8RIf+e
>>758 無駄な括弧があったので修正

regexp = /([^"']*?)(?:\/\/[^\n]*|\/\*.*?\*\/)?(("|').*?(?<!\\)(?:\\\\)*\3)?/m

puts src.gsub(regexp, '\1\2')
2018/12/04(火) 17:02:17.81ID:N7rAE58b
>>753
https://ideone.com/3hct3R

caseに書いちゃうと遅くなるな
2018/12/04(火) 17:20:50.80ID:tkE9zz4k
お題: テキストが入力されるのでそれがお題であれば1,お題でなければ0を出力せよ
762デフォルトの名無しさん
垢版 |
2018/12/04(火) 17:37:59.07ID:HMynH27O
>>761

#!/bin/sh

if grep お題 >/dev/null 2>&1
then
 echo 1
else
 echo 0
fi
2018/12/04(火) 17:43:36.31ID:evmq38l5
お題

C/C++言語のソースをHTMLに変換

・色分け(外部スタイルシートで色分け以外にも
サイズや種類など色々と細かく指定可能)表示
・コメント・クォート・マクロ定義部分・マクロ等に対応
・ローカル変数・グローバル変数・static関数・非static関数
ライブラリ変数/関数/マクロ(ヘッダ記載)・
ローカル型・グローバル型名の区別

入力:コマンドラインからファイル名(.c/.cpp)
出力:出力htm(l)ファイルとそれが参照するスタイルシート(.css)を
新規作成
2018/12/04(火) 17:47:43.27ID:evmq38l5
あと、コードブロックや式の括弧のネストレベルに応じて
背景色を変えてほしい(要望)
コマンドラインからタブ=4,8とか指定できるようにもして欲しい
2018/12/04(火) 17:58:45.10ID:0EeyK9d3
>>761
ruby -ne'p~/\Aお題\Z/?1:0'
766デフォルトの名無しさん
垢版 |
2018/12/04(火) 18:05:08.94ID:HMynH27O
1. 好きなIDEのエディタで画面に表示。
2. PrtSc キーを押す。
3. ペイントを起動してペースト。
4. PNGファイルとして保存。
5. メモ帳を起動。
6. HTML を書き、imgで先の画像を表示するようにする。
7. 拡張子をhtmlにして保存。
8. ブラウザで表示。
9. 終了。
2018/12/04(火) 18:14:10.74ID:evmq38l5
型に応じて変数の色分け(スタイル変更)に対応できたら最高
忘れてたけど予約語の色分けは当然
ソースコードの構文エラー箇所以降は単色赤文字で表示
2018/12/04(火) 19:05:35.22ID:Ntdpy5BB
>>761 PowerShell
[int]("お題" -eq $(Read-Host))
2018/12/05(水) 04:19:34.99ID:fABNAu0P
>>755 Java
https://ideone.com/a1wOZ4
770デフォルトの名無しさん
垢版 |
2018/12/05(水) 19:36:38.80ID:W3jESzak
お題:ビュフォンの針をシミュレートして円周率の近似値を求めよ
771デフォルトの名無しさん
垢版 |
2018/12/05(水) 20:02:35.88ID:W3jESzak
自分でやってみた
Python3
https://ideone.com/A2FnPP
1000万本投げた場合
3.14219665312
2018/12/05(水) 23:06:27.91ID:dgv/Vo0c
angleを計算するのに思いっきりπの値使ってるだろうし..www
2018/12/05(水) 23:30:47.41ID:oCZO3Dfm
wikipediaは日本語版だけその問題に言及して疑似コードも載ってるのな
2018/12/05(水) 23:30:56.16ID:qUBA/FDJ
>>772
そんなツッコミは初めてみました、うまいですね…
775デフォルトの名無しさん
垢版 |
2018/12/05(水) 23:42:52.79ID:W3jESzak
>>772
書いてて思ったけどめんどくさくなってそれ以上考えなかった
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 "
2018/12/06(木) 01:57:54.87ID:CjS0UpEg
こういうプログラム面手するのつらいだろうな
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
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秒くらい)
2018/12/06(木) 21:56:29.19ID:QyI+7EvW
>>779
from collections import Counter
でもうちょっと楽できる
2018/12/07(金) 15:14:44.93ID:wiJMm9Hc
>>779
蛇足的改良?してみた(一応C++だが殆どC)
https://pastebin.com/dRM2yC3e
782デフォルトの名無しさん
垢版 |
2018/12/07(金) 22:19:34.17ID:x8xNXHP3
お題
1,3,4,6,7,9,10,12,…
のように1から始まり奇数, 奇数,偶数,偶数,
奇数,奇数,偶数,偶数…と続く場合2019番目はいくつになるか
2018/12/07(金) 22:30:34.68ID:avhY9emJ
floor(2019 * 1.5)
2018/12/07(金) 22:32:31.84ID:avhY9emJ
結果書いてなかった
3028
2018/12/07(金) 22:35:02.23ID:avhY9emJ
計算量的に整数の乗算とシフト演算だけの n * 3 >> 1 のほうが良いか
2018/12/07(金) 22:38:48.18ID:xSpw6JJG
>>782 Ruby
f = -> n {a, b = n.divmod(4); 6 * a + 2 * b + 3 / (b + 2)}
p f[2019]
# => 3030
2018/12/07(金) 22:47:23.26ID:avhY9emJ
>>786
1が0番目で計算してね?
https://ideone.com/8B4VVN
2018/12/07(金) 22:48:51.29ID:xSpw6JJG
>>787
あー本当だ
しかも n * 3 >> 1 でよかったんだね
789デフォルトの名無しさん
垢版 |
2018/12/08(土) 03:40:55.13ID:xmV4OmOO
>>782
Kotlin
https://paiza.io/projects/IrRQGqJSJL8lVYGlBueZDw
2018/12/08(土) 08:09:08.92ID:JIGsOpwq
第n項=3n/2+(-1)^n/4-1/4
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:Mku3deOK
>>782
f=:+/@$&1 2

f 2019
3028
794デフォルトの名無しさん
垢版 |
2018/12/08(土) 09:59:51.42ID:Mku3deOK
>>793
言語はJ
795781
垢版 |
2018/12/08(土) 12:53:06.37ID:JIGsOpwq
整数計算オーバーフローが発生していたのを修正
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
797デフォルトの名無しさん
垢版 |
2018/12/08(土) 17:29:13.00ID:xmV4OmOO
>>796
問題の意味がわからない。図とか描いてくれ。
2018/12/08(土) 17:33:47.41ID:kCA+QhwE
>>796
石の大きさはゼロで格子点とでも考えればいいのかな
2018/12/08(土) 17:36:28.60ID:m52vxjN5
ああ共円か
有名なゲームだな
800デフォルトの名無しさん
垢版 |
2018/12/08(土) 19:05:02.19ID:xmV4OmOO
共円でググってようやっとわかった。
2018/12/08(土) 19:37:58.42ID:xPmIyiBg
>>791
テトリス
2018/12/10(月) 02:09:47.01ID:3g7m60y1
>>782
1は0番目じゃなくて1番目だよね。念のため確認
803デフォルトの名無しさん
垢版 |
2018/12/12(水) 02:35:41.59ID:84v7sPOJ
お題
2次元平面上で点(x,y)が点列(X1,Y1), (X2,Y2), ..., (Xn,Yn), (X1,Y1)を順に結んでできる多角形の内部にあるかどうか判定せよ
2018/12/12(水) 07:13:05.92ID:SVnAXs6w
どのような多角形をなすかの
仮定で方法も違ってくるだろうけど、
一般的な場合を視野に入れる限り
複数の数学ライブラリを組み合わせて
扱うソリューションパッケージ的なものに
なりそうでお題としてはなんだかなって感じ
2018/12/12(水) 08:10:30.84ID:3f3X1OW4
>>803
多角形の定義がひどい。
重なる事はあるのか、と、重なったときに内部はどうするのかとか。(抜けるのはめんどくさい)
重なってはいけないけど辺は突き抜けても良いのかとか。
描いた絵みたいな状態を許すかどうかでけっこう判定が変わる。
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…と使う頂点をスライドさせていくだけで良いんじゃないかな?どっかで裏返るかな。
2018/12/12(水) 09:01:00.07ID:J4hfK+qs
また数学か。数学板が嫌なら紙とえんぴつでやってろ
2018/12/12(水) 09:21:43.03ID:YlPyc4+b
ポリゴンで塗り潰してその色になれば真
2018/12/12(水) 11:12:59.34ID:3f3X1OW4
数学になるの?
俺CAD関連と3DCG関連でこういうの書くけどな。
コード書こうと思って出題者に問うたつもりだけど。。
証明出来てないコード書いても無意味なんだから先にロジック書いたつもり。

ってかどうして数学?っぼい問題が嫌われるの?
脳筋コードが良いってこと?
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
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
2018/12/12(水) 11:56:39.21ID:3f3X1OW4
ベクトル係数の解法も綺麗だな。式も少ないし素晴らしいと思う。
2018/12/12(水) 12:12:03.42ID:SeAXRl2+
>>803 Java
https://ideone.com/xJBcjx
わかんねーので言語任せw

non_zero: >>805の星型の内部も多角形に含まれる
even_odd: >>805の星型の内部は多角形に含まれない
2018/12/12(水) 12:14:30.79ID:ygJIxGmd
>>809
このスレには解答者側に数学ができない人がいて、そういう人が文句を言ってる
かく言う俺も数学できないが文句は言わない
2018/12/12(水) 14:03:01.24ID:FdJbiO2G
数学の問題集から拾ってきただけみたいな雑な出題が叩かれてるんじゃなかったのか
問題文自体に不備があってそこを詰めるのが主になってしまうパターンもあるけど
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でも使いながらなんじゃろか。。。
2018/12/12(水) 20:48:43.83ID:5ElL+qNp
>>816
>純粋に数学だけで解けて解法の式を作ったら、あとはコードにベタ書きしてただ解を出力するだけ、
それは甘い、大甘だと私の経験は私の心に語ってくれています
2018/12/12(水) 20:49:58.51ID:5ElL+qNp
>>817
そういう問題はある種の順序関係を仮定してインプリメントしたいところです
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
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) "
2018/12/13(木) 01:00:05.58ID:vQDTFPB2
>>817 Ruby

x, a, b = [*1..10], [*3..6], [*5..8]
p x & (a | b)
# => [3, 4, 5, 6, 7, 8]
2018/12/13(木) 09:40:48.46ID:wBrOfppZ
>>817
c
https://ideone.com/YkmUdB

c++
https://ideone.com/WXXvlU
2018/12/15(土) 18:26:25.25ID:RxHR1YVb
お題:標準入力から読み取った行を出力せよ
ただし42を読んだ場合は出力せずに終了する
https://ideone.com/vdWddB
2018/12/15(土) 18:51:24.63ID:Hf86DN+J
>>824
ruby -pe'~/^42$/&&exit'
826デフォルトの名無しさん
垢版 |
2018/12/15(土) 20:46:54.11ID:Du8iBFv1
>>824 Common Lisp
https://ideone.com/QQzEQh

read-lineの第三引数にnil以外を使ったの初めてだ
2018/12/15(土) 23:34:07.15ID:2jxK776v
>>824
bash
https://paiza.io/projects/gIZdCMpBEoNvFnnjVvGGtA
2018/12/15(土) 23:59:19.52ID:QTag+jm2
>>824 PowerShell
while (($var = (Read-Host)) -ne 42) { $var }
2018/12/16(日) 03:36:20.47ID:X+FaDx+z
>>824
python 3
https://ideone.com/it2Axq
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桁だけの回答も可。
2018/12/16(日) 14:12:11.90ID:IjCemHtZ
>>830
年忘れ課題の時期になったんですね…
2018/12/16(日) 19:04:23.02ID:P931WLXH
>>830 Java
https://ideone.com/LgkDWF
あってんのかなー
833830
垢版 |
2018/12/16(日) 19:54:33.15ID:GrZg6kve
>>832

2)の31からして自分のと違う。
自分のでは111だった。

javaのやついじって、112個の明細を出してみたら、[2,2,27] があった。
27は素数じゃないよね。いじり方が悪い?
2018/12/16(日) 19:56:19.00ID:pjubjjb0
>>833
自分も31は111だったわ
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
2018/12/16(日) 20:50:18.98ID:P931WLXH
>>833
まじだ・・・修正した
犯人は118行目だ!orz
837830
垢版 |
2018/12/17(月) 20:45:38.05ID:4p2KDXiR
>>832 836
 当方の回答と一致しました。

>>835
4) 201931 だけ異なる(自分のがあっているとは限らないが……)。
※再帰の動きがよくわからない
838830
垢版 |
2018/12/20(木) 20:26:37.78ID:W0v1JICZ
>>830 python https://ideone.com/OFR7bn

 間が空いたので、出題者コメント

 1)問題文説明用に書いてみて、問題にもできると思った。

 2)3)は"オイラー 31 DP"でググってください。
 違いはコインの額面が素数に変わったくらいと、おおきさ。
 なかには一つ一つ数えて、本問の2)しか溶けない回答があるので見分けて。

 4)については、ソース上三種類書いて考察しています。
  ("201931"という変な数値は、3重ループ解を落とすのが目的だった)
2018/12/21(金) 08:20:43.27ID:hMEdBbLv
お題:
真理値表から2入力NANDで最小ゲート数回路を作れ。実用上最も重要な問題群
2018/12/21(金) 08:38:52.94ID:choQhZIj
遅延時間とかファンアウトとかは考慮不要ってことでいいのかな
841デフォルトの名無しさん
垢版 |
2018/12/22(土) 11:29:36.65ID:7UfbjIEE
参考にどうぞ
https://eng.kice.tokyo/logic/logic_ex3/
2018/12/22(土) 16:28:53.58ID:vmp1HvU+
>>841
昔カルノー図がかける範囲(3入力?4入力くらいだったかな?)で簡約化ツールを作ったことがあります
当時は書き捨て上等、でやっていたのですが、今は困ってしまっています、当時のプログラム記述能力は当時は今後もずっと保存されるものと当時は考えていたのですが、それは完全な誤りでした…
2018/12/23(日) 16:48:28.85ID:V9Fp8lZV
>>841
俺全然わかってない人なんだけど、
そのURLの一番下の、入力部分のNOTゲートを無視しない場合、
9個のNANDゲートで構成できるって書いてあるけど、
NOTゲートの部分を2個減らして7個で作るとかはあかんのん?
2018/12/23(日) 16:56:13.54ID:jMuRFGAa
半導体製造のコストがある
NANDゲートは作り易い、というか造りが簡素で単純
NOTゲートも作り易い

なので厳密には製造コストも考えないといけない
2018/12/23(日) 17:29:24.88ID:gPP7+XoH
>>843
ホントだ、AとCのNOTを一つずつ減らせるね
というかこれが最小になる保証もないよね
2018/12/23(日) 18:34:59.46ID:m1FIlPHW
>>841
カルノー図からの簡略結果が最終形ではない。
最終形は
Z=~ABC+A~C+~BC
2018/12/23(日) 21:11:36.62ID:9AXglOVX
>>846
それA=0, B=0, C=0の結果から間違ってるんだが
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

ともう一つでした。
2018/12/24(月) 08:22:13.10ID:bL5ZoHRn
>>848
> Z=~ABC+A~C+~B~C
それA=0, B=1, C=0の結果が違うぞ
2018/12/24(月) 11:32:09.70ID:7aEQUcJ6
>>849
~ABC → C=0なので0
A~C → A=0なので0
~B~C → B=1なので0
結果0であってるんじゃないのん?
2018/12/24(月) 13:42:11.05ID:bL5ZoHRn
>>850
すまん、合ってるわ
ちょっとボケてたな
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 ] */
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げ
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
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況