プログラミングのお題スレです。
前スレ
プログラミングのお題スレ Part8©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1444216746/
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
http://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
http://runnable.com/
http://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/
宿題は宿題スレがあるのでそちらへ。
探検
プログラミングのお題スレ Part9 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
2016/12/01(木) 16:58:30.97ID:gTkHDluD
2016/12/01(木) 19:14:53.02ID:sow3BhsA
即死回避
2016/12/01(木) 21:04:32.24ID:bG1bMw/g
puts 'そ'
2016/12/01(木) 22:56:02.34ID:sN9AIsZM
printfn "れ"
2016/12/01(木) 23:26:28.91ID:Vh7HCfjU
http://pc10.2ch.net/test/read.cgi/tech/1169413998/656
この問題
2つの1バイトのビットパターン b,w (b&w == 0) に対して
r = base[b|w]+b (or base[b|w]+w)
を重複なく定める配列
6668まで縮める配列を見つけたけどもっと縮める或は6561ぴったりにする配列はあるのだろうか
int base[] = {
612,614,1681,1054,4528,3808,6078,2684,3278,3262,6349,336,5719,4410,6249,
700,1587,1584,5960,2284,4738,3352,6230,2412,4496,3514,5924,516,4770,3546,6636,
2876,4371,3096,6497,1952,5977,3880,5696,2668,6153,4268,5708,320,6235,3984,6182,
812,4354,4282,6549,1576,5713,3384,6541,2372,6029,4350,6425,1508,6155,4090,6605,
1760,3620,3496,5182,692,6058,3612,6094,1020,3694,3774,6317,580,4732,3480,6217,
716,6260,3740,5672,1416,6050,3768,6086,2180,6254,3674,6256,1288,6048,3898,6284,
2844,6522,2968,5680,1936,5711,3864,6142,1132,6093,3646,6313,564,6169,3936,6297,
1140,6510,4226,6489,2156,6508,3192,6514,2540,6025,4222,6413,1572,6027,4048,6380,
2716,4396,3266,5559,548,4690,3712,5628,980,5319,3246,5555,368,4540,3214,5567,
908,5380,3258,5800,1544,4876,3320,4938,972,5436,3486,5828,1512,4706,3290,5491,
2308,4693,3250,4755,1980,5833,3792,5791,1912,5285,4204,5281,1956,5769,3198,5265,
1888,4691,4218,5866,1960,5860,3728,5839,2348,5862,3450,5636,256,4428,4026,5201,
1696,4947,3500,5150,568,4969,3456,4961,556,4945,3642,4977,464,4636,3658,4993,
876,4955,3608,5640,1424,4682,3512,4906,2148,5410,3390,5376,1284,5404,3802,5459,
1252,4685,2952,5146,1908,5721,3472,5122,996,4701,4176,4949,448,4620,4188,5130,
732,4699,2944,5792,2064,5735,3200,4866,2468,5374,2940,4687,260,4426,2942,4427,0
};
この問題
2つの1バイトのビットパターン b,w (b&w == 0) に対して
r = base[b|w]+b (or base[b|w]+w)
を重複なく定める配列
6668まで縮める配列を見つけたけどもっと縮める或は6561ぴったりにする配列はあるのだろうか
int base[] = {
612,614,1681,1054,4528,3808,6078,2684,3278,3262,6349,336,5719,4410,6249,
700,1587,1584,5960,2284,4738,3352,6230,2412,4496,3514,5924,516,4770,3546,6636,
2876,4371,3096,6497,1952,5977,3880,5696,2668,6153,4268,5708,320,6235,3984,6182,
812,4354,4282,6549,1576,5713,3384,6541,2372,6029,4350,6425,1508,6155,4090,6605,
1760,3620,3496,5182,692,6058,3612,6094,1020,3694,3774,6317,580,4732,3480,6217,
716,6260,3740,5672,1416,6050,3768,6086,2180,6254,3674,6256,1288,6048,3898,6284,
2844,6522,2968,5680,1936,5711,3864,6142,1132,6093,3646,6313,564,6169,3936,6297,
1140,6510,4226,6489,2156,6508,3192,6514,2540,6025,4222,6413,1572,6027,4048,6380,
2716,4396,3266,5559,548,4690,3712,5628,980,5319,3246,5555,368,4540,3214,5567,
908,5380,3258,5800,1544,4876,3320,4938,972,5436,3486,5828,1512,4706,3290,5491,
2308,4693,3250,4755,1980,5833,3792,5791,1912,5285,4204,5281,1956,5769,3198,5265,
1888,4691,4218,5866,1960,5860,3728,5839,2348,5862,3450,5636,256,4428,4026,5201,
1696,4947,3500,5150,568,4969,3456,4961,556,4945,3642,4977,464,4636,3658,4993,
876,4955,3608,5640,1424,4682,3512,4906,2148,5410,3390,5376,1284,5404,3802,5459,
1252,4685,2952,5146,1908,5721,3472,5122,996,4701,4176,4949,448,4620,4188,5130,
732,4699,2944,5792,2064,5735,3200,4866,2468,5374,2940,4687,260,4426,2942,4427,0
};
2016/12/02(金) 00:12:44.35ID:gTW8SJ/a
リンク開けねーし日本語意味不明だし
2016/12/02(金) 00:32:31.53ID:IjczpQdN
二つの2^8の形で表されている実質3^8の状態を一回の256要素の配列の参照と加算で
0から6561になるべく近いユニークな数に変換するその配列を求めるって問題
for (w = 0; w < 256; w++) {
for (b = 0; b < 256; b++) {
if ((b & w) == 0) {
if (++a[base[b | w] + b] > 1)
printf ("err\n");
}
}
}
これをエラーが出ないように通す配列
0から6561になるべく近いユニークな数に変換するその配列を求めるって問題
for (w = 0; w < 256; w++) {
for (b = 0; b < 256; b++) {
if ((b & w) == 0) {
if (++a[base[b | w] + b] > 1)
printf ("err\n");
}
}
}
これをエラーが出ないように通す配列
2016/12/06(火) 09:57:55.18ID:4tk1iq5o
>>1おつ
9デフォルトの名無しさん
2016/12/07(水) 14:23:07.62ID:ltGABuaa 景気付けにどうぞ
お題:以下の数列を出力するプログラム
[0, 10, 1110, 110, 2110, 122110, 11222110, 2122110, 1211222110, 11122122110,...]
お題:以下の数列を出力するプログラム
[0, 10, 1110, 110, 2110, 122110, 11222110, 2122110, 1211222110, 11122122110,...]
2016/12/07(水) 18:06:29.71ID:qM0eFzSC
法則性が分からん
2016/12/07(水) 19:07:54.18ID:ijEXmeus
2016/12/07(水) 19:15:52.19ID:Gz2S0y7j
2016/12/08(木) 00:20:55.59ID:Gvasb8BC
2016/12/08(木) 00:21:30.57ID:Gvasb8BC
>>9 ruby
・法則見つけた瞬間までがピーク
・実際書くと何一つスッキリ書けなくて悔しい
https://ideone.com/n0RoNr
↓
["0", "10", "1110", "110", "2110", "122110", "11222110", "2122110", "1211222110", "11122122110", "12211222110", "11222122110"]
・法則見つけた瞬間までがピーク
・実際書くと何一つスッキリ書けなくて悔しい
https://ideone.com/n0RoNr
↓
["0", "10", "1110", "110", "2110", "122110", "11222110", "2122110", "1211222110", "11122122110", "12211222110", "11222122110"]
2016/12/08(木) 00:53:14.68ID:T7wNCBuS
2016/12/08(木) 22:20:30.70ID:eRjONenV
・前項の数字の1の位から順に見てって、数字が連続する数を数えていく。
・数字とその連続数を1の位から順に埋める
・3の数字は削除する
・数字とその連続数を1の位から順に埋める
・3の数字は削除する
2016/12/09(金) 16:43:25.82ID:pZMdQcgu
お題: 文字列に含まれる複数のURLをHTMLのaタグで囲って出力してください。詳細な仕様はないです。
例: http://ideone.com/NY2ooA
例: http://ideone.com/NY2ooA
2016/12/09(金) 21:12:11.14ID:Ees/IyTq
例に出されたURLも不正だし
>詳細な仕様はないです。
となると判別不能では
>詳細な仕様はないです。
となると判別不能では
2016/12/09(金) 21:52:57.66ID:BOiFZI5h
>>9 Nim
あまりに不細工だったので書き直し
https://ideone.com/9q80v4
正規表現使うバージョン(ただしideoneは古すぎてコンパイルできない)
https://ideone.com/01ktu2
あまりに不細工だったので書き直し
https://ideone.com/9q80v4
正規表現使うバージョン(ただしideoneは古すぎてコンパイルできない)
https://ideone.com/01ktu2
2016/12/10(土) 04:17:33.77ID:mNmdekz4
イデオンって投稿時にURL置換するんだよな。
2117
2016/12/10(土) 11:48:18.29ID:E4ED1H/i ideone.comをフィルターしてるのかと思ったらURL全般だめっぽい
2016/12/11(日) 18:00:53.14ID:RSXbZT65
>>9 Perl
use feature qw{:5.16};
sub {
$_ = join'', @_;
exit if length > 12;
say;
@_ = ();
while (/((.)\2*)$/) {
$len = length($1);
$len = '' if $len > 2;
unshift @_, $len . $2;
$_ = $`
}
goto __SUB__;
}->(0);
無名関数の末尾再帰を使って記述してみました。
use feature qw{:5.16};
sub {
$_ = join'', @_;
exit if length > 12;
say;
@_ = ();
while (/((.)\2*)$/) {
$len = length($1);
$len = '' if $len > 2;
unshift @_, $len . $2;
$_ = $`
}
goto __SUB__;
}->(0);
無名関数の末尾再帰を使って記述してみました。
23片山博文MZ ◆T6xkBnTXz7B0
2016/12/13(火) 23:58:53.18ID:AlD2ABgf お題:C言語に関する質問に答えられる人工知能を作れ。
2016/12/14(水) 02:25:35.75ID:EQpNWDBR
自分で作れ
2016/12/17(土) 22:23:37.55ID:zexuiF2f
案1 Amazon Mechanical Turk を使う。
案2 知恵袋に投げて、回答を転記する。
案3 IBM Watson 使う。
案2 知恵袋に投げて、回答を転記する。
案3 IBM Watson 使う。
2016/12/17(土) 22:35:16.13ID:R0k7IOIa
大穴 自分の脳をささげる。
2016/12/19(月) 21:40:29.23ID:KFYYsgKs
入力音声を2chのスレに書き込む
レスがあったら音声出力する
処理時間→数分〜数日
レスがあったら音声出力する
処理時間→数分〜数日
2016/12/19(月) 22:14:03.89ID:TQpl8Z1r
お題:ペントミノパズルの12種類のピースを表示する
2016/12/20(火) 00:24:55.91ID:j+0pMEUE
2016/12/20(火) 23:33:43.23ID:kU3OD1WB
お題:ペントミノパズルの全解を列挙する
2016/12/31(土) 19:13:55.05ID:39E0aGGL
2016/12/31(土) 19:23:15.93ID:39E0aGGL
たった今一部訂正
2016/12/31(土) 22:12:03.44ID:FA/ffAJp
2016/12/31(土) 22:16:03.44ID:oE9oDlU2
ああ、2017ぐらいなら何の工夫もせず力技でごり押ししても大丈夫なのか。
そりゃそうだなw
しかし俺は大みそかに何でこんなスレ覗いてるんだw
そりゃそうだなw
しかし俺は大みそかに何でこんなスレ覗いてるんだw
2016/12/31(土) 22:56:06.40ID:07cXWtfS
>>31 Emacs Lisp
(require 'cl-lib)
(defun a (x)
(cl-assert (and (integerp x) (> x 1)))
(let ((l (let ((max-lisp-eval-depth most-positive-fixnum)
(max-specpdl-size most-positive-fixnum))
(b (cl-loop for i from 2 to x collect i)))))
(when (= (car (last l)) x) (length l))))
(defun b (l)
(when l
(cons (car l) (b (cl-remove-if (lambda (x) (= (% x (car l)) 0)) (cdr l))))))
(mapcar (lambda (x) (cons x (a x))) '(2 3 4 5 2017))
((2 . 1) (3 . 2) (4) (5 . 3) (2017 . 306))
(require 'cl-lib)
(defun a (x)
(cl-assert (and (integerp x) (> x 1)))
(let ((l (let ((max-lisp-eval-depth most-positive-fixnum)
(max-specpdl-size most-positive-fixnum))
(b (cl-loop for i from 2 to x collect i)))))
(when (= (car (last l)) x) (length l))))
(defun b (l)
(when l
(cons (car l) (b (cl-remove-if (lambda (x) (= (% x (car l)) 0)) (cdr l))))))
(mapcar (lambda (x) (cons x (a x))) '(2 3 4 5 2017))
((2 . 1) (3 . 2) (4) (5 . 3) (2017 . 306))
2016/12/31(土) 23:05:34.75ID:39E0aGGL
2017/01/01(日) 11:09:07.28ID:IDYigKuX
2017/01/01(日) 12:49:27.41ID:AcyWguNB
>>31 ruby2.0.0
require 'prime'
def f9031(n)
Prime.prime?(n) && Prime.each_with_index.find {|p, _| p == n}
end
p f9031(4), f9031(2), f9031(2017)
↓
false
[2, 0]
[2017, 305]
require 'prime'
def f9031(n)
Prime.prime?(n) && Prime.each_with_index.find {|p, _| p == n}
end
p f9031(4), f9031(2), f9031(2017)
↓
false
[2, 0]
[2017, 305]
2017/01/02(月) 13:41:39.67ID:jOTKTTu2
>>31
Bash
seq 2017 | factor | awk '{happy = $1;new=0}NF==2{year++;new=1} END{
print happy,new?year "th":"no","prime"}'
Bash
seq 2017 | factor | awk '{happy = $1;new=0}NF==2{year++;new=1} END{
print happy,new?year "th":"no","prime"}'
41片山博文MZ ◆T6xkBnTXz7B0
2017/01/02(月) 15:29:42.51ID:h8C28I9Z お題:与えられたクレジットカードの番号が正しいかどうか判定するプログラム。
42片山博文MZ ◆T6xkBnTXz7B0
2017/01/02(月) 15:34:59.42ID:h8C28I9Z お題:個人情報(氏名、年齢、住所、電話番号)のダミーデータ(偽物のデータ)を大量に作成するプログラムを作れ。
2017/01/02(月) 15:41:47.73ID:h8C28I9Z
上げまして
2017/01/02(月) 15:47:49.69ID:jOTKTTu2
>>42
wget -r -l 0 URL で適当なサイトから住所のデータを持ってきてシャッフルしダミーデータを生成
wget -r -l 0 URL で適当なサイトから住所のデータを持ってきてシャッフルしダミーデータを生成
2017/01/02(月) 16:37:06.06ID:4fVv1Ig/
正しいかどうかはクレカ会社でないとわからない
Luhnアルゴリズムの計算だけでいいならわりと楽だけど
Luhnアルゴリズムの計算だけでいいならわりと楽だけど
2017/01/02(月) 17:39:17.52ID:fYcUjGFM
ダミーだから、実在する住所、通話可能な番号は許可しないんだよな?
50片山博文MZ ◆T6xkBnTXz7B0
2017/01/02(月) 18:27:21.29ID:h8C28I9Z 住所や電話番号の一部を伏せ字にすれば迷惑が掛からないとは思うが。。。
ダミーデータの用途によるんだよね。データベースのテスト用とか、●●●●用とか。
ダミーデータの用途によるんだよね。データベースのテスト用とか、●●●●用とか。
51片山博文MZ ◆T6xkBnTXz7B0
2017/01/02(月) 18:48:13.86ID:h8C28I9Z ヒント:住所テキストデータの意味の定義は郵便局が行っている。
2017/01/04(水) 12:00:38.64ID:y99Ue0/2
お題:□に自然数を入れて式を成立させる。^は、べき乗。
□^□+□^□=2017
□^□+□^□=2017
2017/01/04(水) 12:44:11.80ID:WgerS0Nf
回答無限個あるけどいいの?
2017/01/04(水) 13:15:36.49ID:UpZyqzsr
なにわろてんねん
2017/01/04(水) 18:33:26.02ID:dwq5ZcuT
http://ideone.com/BinLDz
C++??なんかへんな問題だな。
C++??なんかへんな問題だな。
56片山博文MZ ◆T6xkBnTXz7B0
2017/01/04(水) 18:36:48.39ID:83LRywdJ 1^X+2016^1=2017
という形の解が無数に存在する。
これに対する制限がなければ面白くない。
という形の解が無数に存在する。
これに対する制限がなければ面白くない。
5752
2017/01/04(水) 19:17:06.25ID:y99Ue0/2 では□に入れるのを2以上の自然数に変更させてください
2017/01/04(水) 23:01:48.48ID:tU35eaIW
>>57
C++
自然数nがa^b (a>=2,b>=2)で表せるかどうか判定する関数(isFact)の
キャストが糞だから誰かいい書き方教えてください…
http://ideone.com/cB1Ncw
C++
自然数nがa^b (a>=2,b>=2)で表せるかどうか判定する関数(isFact)の
キャストが糞だから誰かいい書き方教えてください…
http://ideone.com/cB1Ncw
2017/01/04(水) 23:17:21.92ID:dwq5ZcuT
2017/01/04(水) 23:37:14.33ID:I0E1npQu
2017/01/04(水) 23:41:45.40ID:I0E1npQu
パフォーマンス改良
http://ideone.com/WDu0Ox
http://ideone.com/WDu0Ox
2017/01/04(水) 23:54:08.76ID:dwq5ZcuT
2017/01/05(木) 00:33:24.56ID:FeYPKi0Y
2017/01/05(木) 01:06:45.10ID:FeYPKi0Y
>>57 Java
http://ideone.com/hNhAMC
>>63の ArrayList<String>[] list = new ArrayList[n]; がすんげぇメモリの無駄に思えたので
http://ideone.com/hNhAMC
>>63の ArrayList<String>[] list = new ArrayList[n]; がすんげぇメモリの無駄に思えたので
2017/01/05(木) 01:50:33.81ID:Tpy8rHG5
2017/01/05(木) 23:04:17.78ID:Rf7MYzqE
2017/01/06(金) 07:39:18.38ID:zAIptLYs
>>66
12^3 + 17^2 = 2017
17^2 + 12^3 = 2017
AB入れ替わりのこれはあるのに
3^4 + 44^2 = 2017
9^2 + 44^2 = 2017
がないのはなんでなんだぜ?
12^3 + 17^2 = 2017
17^2 + 12^3 = 2017
AB入れ替わりのこれはあるのに
3^4 + 44^2 = 2017
9^2 + 44^2 = 2017
がないのはなんでなんだぜ?
2017/01/06(金) 08:14:14.51ID:6Va7LE9a
ループ2が43で十分ってことになってるからかな??
2017/01/06(金) 08:20:39.24ID:FKYJf0Ai
全てのパターンを調べろっていうお題じゃないからな
2017/01/06(金) 09:28:08.44ID:0R4aMgJq
>>57 Squeak/Pharo Smalltalk
| ans |
ans := OrderedCollection new.
(2 to: 2017 sqrt) asDigitsToPower: 4 do: [:digits |
((digits first: 2) raisedTo: (digits last: 2)) sum = 2017
ifTrue: [ans add: ('{1}^{3}+{2}^{4}' format: digits)]
].
^ans asStringWithCr
| ans |
ans := OrderedCollection new.
(2 to: 2017 sqrt) asDigitsToPower: 4 do: [:digits |
((digits first: 2) raisedTo: (digits last: 2)) sum = 2017
ifTrue: [ans add: ('{1}^{3}+{2}^{4}' format: digits)]
].
^ans asStringWithCr
2017/01/06(金) 21:50:55.39ID:aMqQPymQ
>>66
コメントアウトで書いた議論をそのままコードにすればいいのに、そんなにマジックナンバー埋め込んでどうすんだ
コメントアウトで書いた議論をそのままコードにすればいいのに、そんなにマジックナンバー埋め込んでどうすんだ
2017/01/08(日) 13:22:26.64ID:XDbKIsfA
画面に並んでいるコントロールに左上から右下にタブ順を割り振るアルゴリズムってどう書きますか?
要するに矩形のソート方法です
綺麗に並んでるとは限りませんし重なっているものもあります
目で見た感覚的に正しくなるようにできますかね?
要するに矩形のソート方法です
綺麗に並んでるとは限りませんし重なっているものもあります
目で見た感覚的に正しくなるようにできますかね?
2017/01/08(日) 14:54:28.66ID:pxQLZoyB
>>72
(1) 重心の座標を求めて、
(2) Yでソート後Xでソート
とか。
まあ「感覚的に正しい」なんて要件はこの手の問題じゃ曖昧以外の何でもないし
どうやっても厳密な定義は無理だから、普通に左上座標で妥協してもいいんじゃないの
(1) 重心の座標を求めて、
(2) Yでソート後Xでソート
とか。
まあ「感覚的に正しい」なんて要件はこの手の問題じゃ曖昧以外の何でもないし
どうやっても厳密な定義は無理だから、普通に左上座標で妥協してもいいんじゃないの
2017/01/08(日) 15:11:05.77ID:RSx5of9s
2017/01/08(日) 17:11:20.51ID:8OGZNgRf
完全にスレチです。
JSスレでどうぞ。
JSスレでどうぞ。
2017/01/08(日) 17:17:34.30ID:5tCF0ZUl
>>72
要件が曖昧すぎる
どこを左上として、どこを右下とするのかで結果が変わるだろうし、あなたの感覚とズレが生じることもありえる
円形や一直線に並んでいる場合どこを左上とするのか、
画面右上、左下、右下を結んだ三角形(凾フような形)に並んでいるとき、左上と呼べるようなコントロールが存在しないけど、どうするのか
要件が曖昧すぎる
どこを左上として、どこを右下とするのかで結果が変わるだろうし、あなたの感覚とズレが生じることもありえる
円形や一直線に並んでいる場合どこを左上とするのか、
画面右上、左下、右下を結んだ三角形(凾フような形)に並んでいるとき、左上と呼べるようなコントロールが存在しないけど、どうするのか
2017/01/08(日) 17:27:52.04ID:MJfiP+Ss
2017/01/08(日) 17:33:29.68ID:pxQLZoyB
2017/01/08(日) 17:43:37.92ID:MJfiP+Ss
2017/01/08(日) 17:54:48.18ID:pxQLZoyB
2017/01/08(日) 18:05:19.61ID:RSx5of9s
これ業務じゃないんだし、自分だったらこう実装するっていうのを書いてけばええやん
2017/01/08(日) 18:21:10.87ID:XDbKIsfA
というかこの問題は順位付けに自明な定義がないところが肝です
AIなどでもそうですけど最近は曖昧かつ感覚に矛盾しない答えを求められる事が増えてきています
AIなどでもそうですけど最近は曖昧かつ感覚に矛盾しない答えを求められる事が増えてきています
2017/01/08(日) 22:47:32.14ID:Qw43e7Zm
で、お題ってどれ?
2017/01/08(日) 23:19:01.41ID:4zEbWvNh
左上と右下を結ぶ線が垂直軸となる座標系に変換して
上から順に拾っていくだけじゃないの?
上から順に拾っていくだけじゃないの?
2017/01/08(日) 23:27:18.98ID:c38VN46k
>>84
それだと(0, 80は(100, 0)より順番が若くなる気がするんだけどw
それだと(0, 80は(100, 0)より順番が若くなる気がするんだけどw
2017/01/09(月) 00:07:13.57ID:g5s54bF4
2017/01/09(月) 00:12:11.15ID:i1HzEaEu
>>86
自分で自分の言ってることが分かってないのかw
A = (0, 80)、 B = (100, 0)とすると、お前さんが言ってる座標兼では
AはBの「上」になる。
このぐらいのことそれを思いついた5秒後に分かれよほんと
自分で自分の言ってることが分かってないのかw
A = (0, 80)、 B = (100, 0)とすると、お前さんが言ってる座標兼では
AはBの「上」になる。
このぐらいのことそれを思いついた5秒後に分かれよほんと
2017/01/09(月) 03:09:12.91ID:iIb+NoJa
xでソートしてからyでソートだよな?
違う?
違う?
2017/01/09(月) 07:01:36.39ID:s6rymSkb
>>88
(10,0)と(5,10000)で後者が先に選択されるのはいやだ
次のような長方形からなる集合Uを定義する:
∀a∈ U に対し,∃b∈ a.center ⊂ b or b.center ⊂ aが成立する
(10,0)と(5,10000)で後者が先に選択されるのはいやだ
次のような長方形からなる集合Uを定義する:
∀a∈ U に対し,∃b∈ a.center ⊂ b or b.center ⊂ aが成立する
2017/01/09(月) 07:04:25.54ID:s6rymSkb
ミスった
次のような長方形からなる集合Uを定義する:
∀a∈ U に対し,∃b∈Uが存在し a.center ⊂ b or b.center ⊂ aが成立する
要するに連結した長方形を集めるイメージですね
タグの順位付けしたい長方形の集合を連結した長方形の集合に分割してから
次のような長方形からなる集合Uを定義する:
∀a∈ U に対し,∃b∈Uが存在し a.center ⊂ b or b.center ⊂ aが成立する
要するに連結した長方形を集めるイメージですね
タグの順位付けしたい長方形の集合を連結した長方形の集合に分割してから
2017/01/09(月) 07:08:49.40ID:s6rymSkb
>>90
ほんとごめんなさい
集合Uの頂点を、最も原点(0,0)と集合Uの要素の長方形との距離が最も小さくなる長方形の左上の点と定義して
集合についてソートして、集合の要素についてxでソートするのが個人的に自然な感覚かなぁ
ほんとごめんなさい
集合Uの頂点を、最も原点(0,0)と集合Uの要素の長方形との距離が最も小さくなる長方形の左上の点と定義して
集合についてソートして、集合の要素についてxでソートするのが個人的に自然な感覚かなぁ
2017/01/09(月) 07:18:31.23ID:s6rymSkb
2017/01/09(月) 08:02:40.56ID:g5s54bF4
>>87
> A = (0, 80)、 B = (100, 0)とすると、お前さんが言ってる座標兼では
> AはBの「上」になる。
AがBの上になるのはあなたがそう変換した(あなたが決めた)からですよ
現在の座標系と左上と右下を結ぶ線が垂直軸となる座標系との関係性には
自由度があります(1秒で気付くと思いますが)
どのような関係にするかはお題の人間の感覚的に正しく見えるような関係を
選ぶべきであって、あなたが選択した関係に従って変換された座標に対して
あなたがおかしいと思ったというだけですね
> A = (0, 80)、 B = (100, 0)とすると、お前さんが言ってる座標兼では
> AはBの「上」になる。
AがBの上になるのはあなたがそう変換した(あなたが決めた)からですよ
現在の座標系と左上と右下を結ぶ線が垂直軸となる座標系との関係性には
自由度があります(1秒で気付くと思いますが)
どのような関係にするかはお題の人間の感覚的に正しく見えるような関係を
選ぶべきであって、あなたが選択した関係に従って変換された座標に対して
あなたがおかしいと思ったというだけですね
2017/01/09(月) 10:48:32.68ID:LhlDvgN3
2017/01/09(月) 10:56:12.03ID:LhlDvgN3
ああ、きっと>>93の世界では平行移動で2点間の相対的な位置関係が
変わるんだろうねw
変わるんだろうねw
2017/01/09(月) 17:11:09.51ID:s0WlKSpH
2017/01/09(月) 19:58:25.90ID:nfkV3o0K
2017/01/10(火) 18:29:09.08ID:Ilw6o9KC
2017/01/10(火) 20:42:50.38ID:ld93epow
100デフォルトの名無しさん
2017/01/10(火) 21:08:13.05ID:fM7Pfoze キチガイ降臨age
101デフォルトの名無しさん
2017/01/10(火) 21:19:39.42ID:NXUZz/0q 多分アマゾンギフトの人だよ
102デフォルトの名無しさん
2017/01/10(火) 21:52:46.22ID:KKLCbaCP 煽って教えてもらうメソッドか
低能って嫌だな
低能って嫌だな
103デフォルトの名無しさん
2017/01/10(火) 22:22:58.60ID:EjxLrxqR どっちかっていうと消えてくれた方がありがたい
104デフォルトの名無しさん
2017/01/10(火) 22:34:23.43ID:U9oYccVU105デフォルトの名無しさん
2017/01/10(火) 22:36:50.29ID:U9oYccVU106デフォルトの名無しさん
2017/01/11(水) 12:22:04.85ID:gkYh8YCT 教えるも糞も最初から正解は書いてある>>87
107デフォルトの名無しさん
2017/01/11(水) 14:49:58.96ID:iTAjJX4H >>104-105
uyか?Qか?
uyか?Qか?
108デフォルトの名無しさん
2017/01/11(水) 19:39:31.27ID:J0kepQ6p QZ=>>96
109デフォルトの名無しさん
2017/01/11(水) 21:08:00.35ID:0XwQtfyu QZ怒りのマンガでわかる心理学
110デフォルトの名無しさん
2017/01/11(水) 21:11:32.29ID:NdPILmY+111デフォルトの名無しさん
2017/01/11(水) 21:13:18.42ID:NdPILmY+112デフォルトの名無しさん
2017/01/11(水) 21:14:22.15ID:NdPILmY+ 心理学怒りのマンガでわかるQZ
113デフォルトの名無しさん
2017/01/11(水) 21:18:25.47ID:NdPILmY+ 頭の中がQZでいっぱいな心理学おじさんはQ呼称で自分だけは特別な存在アピール
114デフォルトの名無しさん
2017/01/11(水) 23:33:02.72ID:IQVyJq11 感覚に頼るような変なお題出すからキチガイが湧くんだよ
115デフォルトの名無しさん
2017/01/12(木) 00:14:22.68ID:OC4R5S2o IDが出るようになったのになぜQはコテを消したのか?
とんだチキンだったのではないだろうか?
とんだチキンだったのではないだろうか?
116デフォルトの名無しさん
2017/01/12(木) 07:39:01.18ID:sAp1jMS4 心理学怒涛の寝ても覚めてもQZ
117デフォルトの名無しさん
2017/01/12(木) 13:04:44.00ID:OdpRjvqI >>16
ようQ
ようQ
118デフォルトの名無しさん
2017/01/12(木) 13:06:09.71ID:OdpRjvqI119デフォルトの名無しさん
2017/01/12(木) 21:59:23.34ID:yV1HOyPB 心理学最終手段の居直りQ連呼
120デフォルトの名無しさん
2017/01/12(木) 22:00:27.56ID:yV1HOyPB 心理学おじさんとQZを同じ部屋にとじこめたらどうなるの?
121デフォルトの名無しさん
2017/01/12(木) 22:38:03.38ID:KUw+Fq2e ラップでも始めるんじゃね。
122デフォルトの名無しさん
2017/01/13(金) 18:15:01.00ID:hu5eqRYQ QZ=>>96
123デフォルトの名無しさん
2017/01/13(金) 21:36:42.18ID:A97spPPP お題:平面上に四つの点を二点間の距離が二種類になるように配置する
124デフォルトの名無しさん
2017/01/13(金) 23:31:20.40ID:Z31HhTHu 正三角形+中心
一辺を共有する二つの正三角形
正方形
他にあるかな?
一辺を共有する二つの正三角形
正方形
他にあるかな?
125デフォルトの名無しさん
2017/01/14(土) 03:29:31.67ID:OgQ0DzZw 異なる辺の長さa,bに対して
1)a:5本, b:1本
正三角形(辺の長さa)×2の菱形のみ
2)a:4本, b:2本
2辺と対角線の長さがaの凧型
正方形(辺の長さa)
3)a:3本, b:3本
正三角形と重心
3)はまだまだありそう
1)a:5本, b:1本
正三角形(辺の長さa)×2の菱形のみ
2)a:4本, b:2本
2辺と対角線の長さがaの凧型
正方形(辺の長さa)
3)a:3本, b:3本
正三角形と重心
3)はまだまだありそう
126デフォルトの名無しさん
2017/01/18(水) 21:37:38.36ID:6wTe0sJ+ sage>>123
●
●
● ●
ーーー
●
● ●
●
ーーー
● ●
● ●
ーーー
● ●
● ●
ーーー
●
●
● ●
ーーー
● ●
● ●
●
●
● ●
ーーー
●
● ●
●
ーーー
● ●
● ●
ーーー
● ●
● ●
ーーー
●
●
● ●
ーーー
● ●
● ●
127デフォルトの名無しさん
2017/01/18(水) 22:19:10.68ID:vpMv+OF/ >>126
座標で書いてくれw
座標で書いてくれw
128デフォルトの名無しさん
2017/01/18(水) 22:50:29.86ID:nuz5iQOv プログラムで書いてくれ
129デフォルトの名無しさん
2017/01/19(木) 12:26:45.56ID:ZgJp4HEV >>123
平面上に3点P1、P2、P3を配置して三角形を作る時、正三角形を含む二等辺三角形でなければならない
これ以外の配置のやり方をすると辺の長さが3種類となって前提に反する
上記のように配置した3点3点P1、P2、P3に4点目P4を配置するとき、
A) 二等辺三角形P1P2P3と底辺を共有し、長さが等しい辺と同じ長さの2辺をもつ2等辺三角形となるようにP4を配置する
(底辺を共有するように二等辺三角形二つを配置する)
または
B) 三角形P1P2P3が正三角形のとき、外接円の中心と一致するようにP4を配置する
の二通りの配置の仕方がある。逆に言えば、この条件に従うように座標を決定すれば無限の配置の仕方が可能
平面上に3点P1、P2、P3を配置して三角形を作る時、正三角形を含む二等辺三角形でなければならない
これ以外の配置のやり方をすると辺の長さが3種類となって前提に反する
上記のように配置した3点3点P1、P2、P3に4点目P4を配置するとき、
A) 二等辺三角形P1P2P3と底辺を共有し、長さが等しい辺と同じ長さの2辺をもつ2等辺三角形となるようにP4を配置する
(底辺を共有するように二等辺三角形二つを配置する)
または
B) 三角形P1P2P3が正三角形のとき、外接円の中心と一致するようにP4を配置する
の二通りの配置の仕方がある。逆に言えば、この条件に従うように座標を決定すれば無限の配置の仕方が可能
130デフォルトの名無しさん
2017/01/19(木) 13:43:42.27ID:ff1dOA50131デフォルトの名無しさん
2017/01/19(木) 14:02:27.30ID:ff1dOA50132デフォルトの名無しさん
2017/02/21(火) 19:03:19.21ID:vHI0u4yb お題:ある数 n が与えられたとして、n の原始根の位数を求めよ
条件:原始根については https://ja.wikisource.org/wiki/%E5%88%9D%E7%AD%89%E6%95%B4%E6%95%B0%E8%AB%96%E8%AC%9B%E7%BE%A9/%E7%AC%AC1%E7%AB%A0/%E5%8E%9F%E5%A7%8B%E6%A0%B9%EF%BC%8C%E6%8C%87%E6%95%B0
を参照せよ、ただし、このテキストでは n が素数であることを前提にしているが、原始根は n が素数でなくても存在する。n が素数でない場合にも対応せよ。
原始根を、小さい数から順次位数を力技で求める方法は認めない。
n の原始根が存在しない場合にアルゴリズムが停止する必要は要請しない。
条件:原始根については https://ja.wikisource.org/wiki/%E5%88%9D%E7%AD%89%E6%95%B4%E6%95%B0%E8%AB%96%E8%AC%9B%E7%BE%A9/%E7%AC%AC1%E7%AB%A0/%E5%8E%9F%E5%A7%8B%E6%A0%B9%EF%BC%8C%E6%8C%87%E6%95%B0
を参照せよ、ただし、このテキストでは n が素数であることを前提にしているが、原始根は n が素数でなくても存在する。n が素数でない場合にも対応せよ。
原始根を、小さい数から順次位数を力技で求める方法は認めない。
n の原始根が存在しない場合にアルゴリズムが停止する必要は要請しない。
133デフォルトの名無しさん
2017/03/02(木) 16:39:35.38ID:TV66ybVQ なんでお前偉そうなの
宿題は自分でやりな
宿題は自分でやりな
134デフォルトの名無しさん
2017/03/03(金) 09:55:45.90ID:SUJ1/PZz C言語スレよりロンダリング
x面体のサイコロy個を振って得られる出目のヒストグラムを出力するプログラムを作ろう
dice.exe 6 3 (6面体のサイコロ3個) の出力例
出目 出現回数 出現率
---- -------- ------
3 1 0.46
4 3 1.39
5 6 2.78
6 10 4.63
7 15 6.94
8 21 9.72
9 25 11.57
10 27 12.50
11 27 12.50
12 25 11.57
13 21 9.72
14 15 6.94
15 10 4.63
16 6 2.78
17 3 1.39
18 1 0.46
x面体のサイコロy個を振って得られる出目のヒストグラムを出力するプログラムを作ろう
dice.exe 6 3 (6面体のサイコロ3個) の出力例
出目 出現回数 出現率
---- -------- ------
3 1 0.46
4 3 1.39
5 6 2.78
6 10 4.63
7 15 6.94
8 21 9.72
9 25 11.57
10 27 12.50
11 27 12.50
12 25 11.57
13 21 9.72
14 15 6.94
15 10 4.63
16 6 2.78
17 3 1.39
18 1 0.46
135デフォルトの名無しさん
2017/03/03(金) 18:25:27.76ID:P2edee8O 厳密解を出す場合なら動的計画法で素朴にやるとO(x^2y^2)
136デフォルトの名無しさん
2017/03/03(金) 20:41:14.23ID:yCeb1kZ1137デフォルトの名無しさん
2017/03/03(金) 21:29:12.11ID:SEBfdj3K この問題のポイントはサイコロを正N面体に限定してないところだな
それと3面体なんていう指定をされたらどうするとかな
それと3面体なんていう指定をされたらどうするとかな
138デフォルトの名無しさん
2017/03/04(土) 01:08:57.14ID:eNSOp3uJ139デフォルトの名無しさん
2017/03/04(土) 04:55:45.63ID:VvbFezkO140デフォルトの名無しさん
2017/03/05(日) 03:05:26.21ID:FnE3e1tn お題: ハート・ダイヤ・クラブ・スペードを各13枚ずつもつ52枚のカードから13枚のカードが配られます.
Q1. 配られたカードの種類がもっとも均質でない(13・0・0・0)確率P1と, もっとも均質である(4・3・3・3)確率P2を求めてください.
Q2. 確率P1よりも低い確率の組み合わせが存在する場合, その組み合わせと確率を求めてください.
Q3. 確率P2よりも高い確率の組み合わせが存在する場合, その組み合わせと確率を求めてください.
Q1. 配られたカードの種類がもっとも均質でない(13・0・0・0)確率P1と, もっとも均質である(4・3・3・3)確率P2を求めてください.
Q2. 確率P1よりも低い確率の組み合わせが存在する場合, その組み合わせと確率を求めてください.
Q3. 確率P2よりも高い確率の組み合わせが存在する場合, その組み合わせと確率を求めてください.
141デフォルトの名無しさん
2017/03/05(日) 07:48:05.16ID:KWf32tSz 宿題は自分でやろう
142デフォルトの名無しさん
2017/03/05(日) 09:20:54.74ID:FnE3e1tn >>134 Emacs Lisp
(require 'cl-lib)
(defun dice (x y)
(let ((b '(0)))
(dotimes (i y)
(setq b (reduce (lambda (a b) (append a b)) (loop for n in (loop for i from 1 to x collect i) collect (loop for m in b collect (+ n m))))))
(pp (loop for n in (remove-duplicates b) collect (list n (count n b) (/ (float (count n b)) (length b)))))))
(dice 6 3)
((3 1 0.004629629629629629)
(4 3 0.013888888888888888)
(5 6 0.027777777777777776)
(6 10 0.046296296296296294)
(7 15 0.06944444444444445)
(8 21 0.09722222222222222)
(9 25 0.11574074074074074)
(10 27 0.125)
(11 27 0.125)
(12 25 0.11574074074074074)
(13 21 0.09722222222222222)
(14 15 0.06944444444444445)
(15 10 0.046296296296296294)
(16 6 0.027777777777777776)
(17 3 0.013888888888888888)
(18 1 0.004629629629629629))
(require 'cl-lib)
(defun dice (x y)
(let ((b '(0)))
(dotimes (i y)
(setq b (reduce (lambda (a b) (append a b)) (loop for n in (loop for i from 1 to x collect i) collect (loop for m in b collect (+ n m))))))
(pp (loop for n in (remove-duplicates b) collect (list n (count n b) (/ (float (count n b)) (length b)))))))
(dice 6 3)
((3 1 0.004629629629629629)
(4 3 0.013888888888888888)
(5 6 0.027777777777777776)
(6 10 0.046296296296296294)
(7 15 0.06944444444444445)
(8 21 0.09722222222222222)
(9 25 0.11574074074074074)
(10 27 0.125)
(11 27 0.125)
(12 25 0.11574074074074074)
(13 21 0.09722222222222222)
(14 15 0.06944444444444445)
(15 10 0.046296296296296294)
(16 6 0.027777777777777776)
(17 3 0.013888888888888888)
(18 1 0.004629629629629629))
143デフォルトの名無しさん
2017/03/05(日) 11:59:20.94ID:h/zPOUa4 >>134 Squeak/Pharo Smalltalk
| dice |
dice := [:x :y |
| bag |
bag := Bag new.
(1 to: x) asDigitsToPower: y do: [:ary | bag add: ary sum].
bag sortedElements collect: [:kv | {kv key. kv value. kv value / bag size * 100s2}]
].
dice value: 6 value: 3
"=> {
{3 . 1 . 0.46s2}.
{4 . 3 . 1.38s2}.
{5 . 6 . 2.77s2}.
{6 . 10 . 4.62s2}.
{7 . 15 . 6.94s2}.
{8 . 21 . 9.72s2}.
{9 . 25 . 11.57s2}.
{10 27 12.50s2}.
{11 27 12.50s2}.
{12 . 25 . 11.57s2}.
{13 . 21 . 9.72s2}.
{14 . 15 . 6.94s2}.
{15 . 10 . 4.62s2}.
{16 . 6 . 2.77s2}.
{17 . 3 . 1.38s2}.
{18 . 1 . 0.46s2}
} "
| dice |
dice := [:x :y |
| bag |
bag := Bag new.
(1 to: x) asDigitsToPower: y do: [:ary | bag add: ary sum].
bag sortedElements collect: [:kv | {kv key. kv value. kv value / bag size * 100s2}]
].
dice value: 6 value: 3
"=> {
{3 . 1 . 0.46s2}.
{4 . 3 . 1.38s2}.
{5 . 6 . 2.77s2}.
{6 . 10 . 4.62s2}.
{7 . 15 . 6.94s2}.
{8 . 21 . 9.72s2}.
{9 . 25 . 11.57s2}.
{10 27 12.50s2}.
{11 27 12.50s2}.
{12 . 25 . 11.57s2}.
{13 . 21 . 9.72s2}.
{14 . 15 . 6.94s2}.
{15 . 10 . 4.62s2}.
{16 . 6 . 2.77s2}.
{17 . 3 . 1.38s2}.
{18 . 1 . 0.46s2}
} "
144デフォルトの名無しさん
2017/03/05(日) 15:38:00.05ID:Z6iNRFEa プログラミングする意味のないお題ばっか
145デフォルトの名無しさん
2017/03/05(日) 17:57:56.52ID:I6Dgph4B >>144
プログラミングする意味のあるお題作ってくれよ
プログラミングする意味のあるお題作ってくれよ
146デフォルトの名無しさん
2017/03/05(日) 18:17:30.28ID:WuF+gNTE147デフォルトの名無しさん
2017/03/05(日) 20:12:40.81ID:Oe+PHv4r148デフォルトの名無しさん
2017/03/07(火) 18:28:24.63ID:sN5zB8qN149140
2017/03/12(日) 13:40:16.63ID:VxOAsp1C 乱数を使用して10億回試行してみたところ,4・3・3・3の出現回数は105357474 (10.5%), 13・0・0・0は0(12・1・0・0は3)でした.
4・3・3・3よりも出現回数の多い組み合わせは以下の4通りでした.
4・4・3・2 215505541回 (21.6%)
5・3・3・2 155167267回 (15.5%)
5・4・3・1 129327030回 (12.9%)
5・4・2・2 105786216回 (10.6%)
このお題はHAKMEM MIT AI Memo 239 ITEM 46 (Schroeppel)を参考にしました.
http://www.inwap.com/pdp10/hbaker/hakmem/number.html#item46
4・3・3・3よりも出現回数の多い組み合わせは以下の4通りでした.
4・4・3・2 215505541回 (21.6%)
5・3・3・2 155167267回 (15.5%)
5・4・3・1 129327030回 (12.9%)
5・4・2・2 105786216回 (10.6%)
このお題はHAKMEM MIT AI Memo 239 ITEM 46 (Schroeppel)を参考にしました.
http://www.inwap.com/pdp10/hbaker/hakmem/number.html#item46
150デフォルトの名無しさん
2017/03/24(金) 16:34:29.50ID:krVzShuL A+B+C+D+E+F+G+H+I+J+K=170
A-B=−2
A>B>C>D>E>F>G>H>I>J>K
A>0のとき
この式を満たすA〜Kを全て求めよ
A-B=−2
A>B>C>D>E>F>G>H>I>J>K
A>0のとき
この式を満たすA〜Kを全て求めよ
151デフォルトの名無しさん
2017/03/24(金) 16:44:02.34ID:IzMGTasH A-B=−2
A>B
この二つを同時に満たせません
A>B
この二つを同時に満たせません
152デフォルトの名無しさん
2017/03/24(金) 19:36:54.08ID:krVzShuL 済みません間違えてました
A-B=2でした
A-B=2でした
153デフォルトの名無しさん
2017/03/24(金) 19:49:23.03ID:3IaHiZWx そっちを直すのか
154デフォルトの名無しさん
2017/03/24(金) 19:50:50.29ID:IzMGTasH 修正がA>B>C...→A<B<C...じゃなくてA-B=-2→A-B=2だと無数に求められるから全て求めるのは無理じゃないかな?
155デフォルトの名無しさん
2017/03/24(金) 19:57:24.58ID:IzMGTasH 例えばこんなん
int A=68,B=66,C=8,D=7,E=6,F=5,G=4,H=3,I=2,J=1,K=0;
while(true) {
A++; B++; K-=2;
}
int A=68,B=66,C=8,D=7,E=6,F=5,G=4,H=3,I=2,J=1,K=0;
while(true) {
A++; B++; K-=2;
}
156デフォルトの名無しさん
2017/03/24(金) 22:00:38.98ID:DBVfNEjn こういうお題を書きたいのなら制約条件を良く考えないと
A+B+C+D+E+F+G+H+I+J+K=170
A>B>C>D>E>F>G>H>I>J>K
A〜Kは全て自然数とする
こういうのとかな
A+B+C+D+E+F+G+H+I+J+K=170
A>B>C>D>E>F>G>H>I>J>K
A〜Kは全て自然数とする
こういうのとかな
157デフォルトの名無しさん
2017/03/25(土) 07:43:46.30ID:LJUF46o1158デフォルトの名無しさん
2017/03/25(土) 07:59:35.07ID:LJUF46o1 あれ?条件おかしいな。俺ってせっかちさん!
159デフォルトの名無しさん
2017/03/25(土) 08:00:35.83ID:LJUF46o1 と思ったら専ブラの安価化けてた。
160デフォルトの名無しさん
2017/03/25(土) 13:31:35.87ID:wrPCcs4m https://www.hackerrank.com/sinapusu2002-1
ハッカーランクという競技プログラミングサイトで出題中の問題。
オリジナル問題6問。
ハッカーランクに登録して解いてくれ。
スレ違いだろうか?
2つの三角形の共有面積はかなりマゾいのでお勧め。
一応競技プログラミング界の重鎮で東大で数学してる人にも解いてもらったりはしたけど。
挑戦者数が増えないのが悩みの種。
ただいま次回コンテストに向けて3/6問作成済み、3問作成予定。
ハッカーランクという競技プログラミングサイトで出題中の問題。
オリジナル問題6問。
ハッカーランクに登録して解いてくれ。
スレ違いだろうか?
2つの三角形の共有面積はかなりマゾいのでお勧め。
一応競技プログラミング界の重鎮で東大で数学してる人にも解いてもらったりはしたけど。
挑戦者数が増えないのが悩みの種。
ただいま次回コンテストに向けて3/6問作成済み、3問作成予定。
161デフォルトの名無しさん
2017/03/25(土) 13:58:45.28ID:LJUF46o1 レジストするのめんどいのと頭悪いので無理〜〜。
162デフォルトの名無しさん
2017/03/25(土) 14:01:32.89ID:P+Eymz64 挑戦者数が増えないのは問題が悪いからだろ。
良問をだしてれば自然と挑戦者は増えるはず。
宣伝してズルした時点でお前の人間性の低さがわかるんだよ
良問をだしてれば自然と挑戦者は増えるはず。
宣伝してズルした時点でお前の人間性の低さがわかるんだよ
163デフォルトの名無しさん
2017/03/25(土) 14:02:58.32ID:LJUF46o1 んんん?どうした?
164デフォルトの名無しさん
2017/03/25(土) 14:13:46.85ID:LJUF46o1 頭悪いって俺のこと行ってるんだが。すまんな!
165デフォルトの名無しさん
2017/03/25(土) 15:30:57.12ID:P+Eymz64166デフォルトの名無しさん
2017/03/25(土) 18:47:23.24ID:OqJqFalA まあ完全にスレチだから無視すれば?
167デフォルトの名無しさん
2017/03/28(火) 09:57:58.96ID:084k/T9f お題:格子点を1個だけ含む面積4の凸多角形を求める
168デフォルトの名無しさん
2017/03/28(火) 13:00:05.06ID:qGSQyMpt >>167
斜めってる正方形とか、無限にできるんでないの?
斜めってる正方形とか、無限にできるんでないの?
169デフォルトの名無しさん
2017/03/29(水) 00:52:34.65ID:IYsCUDjz170デフォルトの名無しさん
2017/04/01(土) 19:39:48.39ID:bpxrLk3k >>167
(0,0)-(0.8,0)-(9.8,10)
(0,0)-(0.8,0)-(9.8,10)
[1] 授業単元:線形代数
[2] 問題文
与えられたn字正方行列の逆行列を求めよ。
求めた行列は、与えられた行列を掛けて n 次単位行列となることを確認せよ。
以下のCプログラムを元に実装されていない部分を補完せよ。C 以外の言語で記述する場合は、この C プラグラムの対応する部分も記述すること。
https://ideone.com/k996I1
逆行列が存在しない場合は適切に処理してよい。
[3] 環境
[3.1] OS: 問わない
[3.2] コンパイラ名とバージョン: 問わない
[3.3] 言語: C または任意の言語
[4] 期限: ([2017年4月15日23:59まで]
[5] その他の制限:お題です。
[2] 問題文
与えられたn字正方行列の逆行列を求めよ。
求めた行列は、与えられた行列を掛けて n 次単位行列となることを確認せよ。
以下のCプログラムを元に実装されていない部分を補完せよ。C 以外の言語で記述する場合は、この C プラグラムの対応する部分も記述すること。
https://ideone.com/k996I1
逆行列が存在しない場合は適切に処理してよい。
[3] 環境
[3.1] OS: 問わない
[3.2] コンパイラ名とバージョン: 問わない
[3.3] 言語: C または任意の言語
[4] 期限: ([2017年4月15日23:59まで]
[5] その他の制限:お題です。
172デフォルトの名無しさん
2017/04/08(土) 21:30:20.69ID:n0eUgEex QZのひとか。ここは宿題スレじゃないよ。
173デフォルトの名無しさん
2017/04/08(土) 21:43:02.82ID:gcfXcmks お題ですぅ‥
174デフォルトの名無しさん
2017/04/09(日) 20:50:45.75ID:uOnZBcD2 お題:
辺の長さが100より小さい既約のピタゴラス三角形をすべて求めう。
出力の順序は問わない。
辺の長さが100より小さい既約のピタゴラス三角形をすべて求めう。
出力の順序は問わない。
175デフォルトの名無しさん
2017/04/09(日) 23:51:51.14ID:eG+aks/D >>171
これ、宿題の解答にならないようなプログラムにするのは結構難問かも。
これ、宿題の解答にならないようなプログラムにするのは結構難問かも。
176デフォルトの名無しさん
2017/04/10(月) 23:26:39.47ID:9Aj0xnIY177デフォルトの名無しさん
2017/04/11(火) 01:24:52.99ID:gtlUVgn4178デフォルトの名無しさん
2017/04/11(火) 21:44:43.48ID:MO2JwS29 お題:フランス語で1から100まで数える
179デフォルトの名無しさん
2017/04/11(火) 21:50:23.26ID:LjaFq8Gx 1(フランス語 ・・・ 100(フランス語
180デフォルトの名無しさん
2017/04/11(火) 22:35:16.36ID:gMY8o6LW お題:
トランプの札のリストが文字列で与えられるので
同じマークor同じ数字のペアが最大何組できるか求めよ
D:ダイヤ、H:ハート、S:スペード、C:クラブ、
A:エース、2〜9:数字の2〜9、T:10、J:ジャック、Q:クイーン、K:キング
例:
"DAD2HAH3" -> 2
"DAD3D8D9DJH5H8HKSASKCAC5C8CK" -> 7
"SAS2S3S4S5S6S7S8S9C2C3C4C5C6C7C8C9CT" -> 9
トランプの札のリストが文字列で与えられるので
同じマークor同じ数字のペアが最大何組できるか求めよ
D:ダイヤ、H:ハート、S:スペード、C:クラブ、
A:エース、2〜9:数字の2〜9、T:10、J:ジャック、Q:クイーン、K:キング
例:
"DAD2HAH3" -> 2
"DAD3D8D9DJH5H8HKSASKCAC5C8CK" -> 7
"SAS2S3S4S5S6S7S8S9C2C3C4C5C6C7C8C9CT" -> 9
181デフォルトの名無しさん
2017/04/13(木) 22:19:39.85ID:S/dW7TnL182デフォルトの名無しさん
2017/04/14(金) 01:20:45.82ID:xslPbFLu183デフォルトの名無しさん
2017/04/14(金) 02:38:04.01ID:/pg6QsRy >>180
c++ http://ideone.com/WK9LQi
問題文には明記なかったが、ユニークな52枚(4*13)1セットだけだとして解いた。
計算量は 1問 14^4*6 くらいになるのだろう。
(最初は14^5*6でやったが、ひとつ計算量落とした。
この数値じゃ、意味なかったけど)
c++ http://ideone.com/WK9LQi
問題文には明記なかったが、ユニークな52枚(4*13)1セットだけだとして解いた。
計算量は 1問 14^4*6 くらいになるのだろう。
(最初は14^5*6でやったが、ひとつ計算量落とした。
この数値じゃ、意味なかったけど)
184デフォルトの名無しさん
2017/04/14(金) 06:35:41.46ID:qDe/EUun 動的計画法はよくわからん。
書けもしない。Orz
書けもしない。Orz
186デフォルトの名無しさん
2017/04/14(金) 22:18:00.95ID:qDe/EUun187デフォルトの名無しさん
2017/04/15(土) 10:54:03.85ID:tThpfxds >>186
>DAD2HAH3:4,2
>DAD3D8D9DJH5H8HKSASKCAC5C8CK:394,38
>SAS2S3S4S5S6S7S8S9C2C3C4C5C6C7C8C9CT:1972800,16
どういうこと???
組み合わせの数がカードの枚数すら超えてるの???
>DAD2HAH3:4,2
>DAD3D8D9DJH5H8HKSASKCAC5C8CK:394,38
>SAS2S3S4S5S6S7S8S9C2C3C4C5C6C7C8C9CT:1972800,16
どういうこと???
組み合わせの数がカードの枚数すら超えてるの???
188デフォルトの名無しさん
2017/04/15(土) 11:05:02.69ID:eiwfOO/l そいつのコード見てないから分からんが多分、最初の例なら
1)DAHA
2)DAD2
3)HAH3
4)DAD2,HAH3
みたいにカウントされちゃってるんじゃないか?
1)DAHA
2)DAD2
3)HAH3
4)DAD2,HAH3
みたいにカウントされちゃってるんじゃないか?
189デフォルトの名無しさん
2017/04/15(土) 17:04:06.01ID:gqnlgfq4190デフォルトの名無しさん
2017/04/15(土) 17:17:26.54ID:gqnlgfq4191デフォルトの名無しさん
2017/04/15(土) 17:40:29.91ID:gqnlgfq4192デフォルトの名無しさん
2017/04/15(土) 19:29:06.55ID:BbAH7YT3 >>189
反例
数字で(S2=C2)で1ペア、
残り8枚ずつで同スートのペアを8つくる
合計 9ペア
数字で(S2=C2, S3=C3, S4=C4) 3ペア
残りは6枚ずつになるので、6ペアできる
合計9ペア
その他 数字のペアを奇数個つくれれば、9を作れる
反例
数字で(S2=C2)で1ペア、
残り8枚ずつで同スートのペアを8つくる
合計 9ペア
数字で(S2=C2, S3=C3, S4=C4) 3ペア
残りは6枚ずつになるので、6ペアできる
合計9ペア
その他 数字のペアを奇数個つくれれば、9を作れる
193デフォルトの名無しさん
2017/04/15(土) 20:24:00.89ID:gqnlgfq4 >>192
意味がわかった
意味がわかった
194デフォルトの名無しさん
2017/04/15(土) 21:12:03.91ID:v99qvGb2 8bitの整数を一つ引数として与え、
上位4bitと下位4bit を符号なし整数として掛け算した結果の8bitを返す関数を
論理演算子のみで実装したもののうち、
もっとも実行時間が短いものを挙げよ。
論理演算は全て1命令1サイクルとする。
上位4bitと下位4bit を符号なし整数として掛け算した結果の8bitを返す関数を
論理演算子のみで実装したもののうち、
もっとも実行時間が短いものを挙げよ。
論理演算は全て1命令1サイクルとする。
195デフォルトの名無しさん
2017/04/15(土) 21:23:09.15ID:v99qvGb2 表引きで1クロックとかは無しね。
196デフォルトの名無しさん
2017/04/15(土) 22:10:36.10ID:fG6QrlNX 最も実行時間が短いかどうかの判定ってNP完全っぽそう
197デフォルトの名無しさん
2017/04/15(土) 23:11:44.46ID:v99qvGb2 8bitなら力技で解けないかな?
198デフォルトの名無しさん
2017/04/16(日) 03:52:44.93ID:T2fHNlZE199デフォルトの名無しさん
2017/04/16(日) 05:47:25.03ID:T2fHNlZE ふえぇーん。1時間半回してもおわらないよー。
動的計画法すごい。
動的計画法すごい。
200デフォルトの名無しさん
2017/04/16(日) 08:35:26.85ID:0couv4LD201デフォルトの名無しさん
2017/04/16(日) 14:11:29.20ID:oOWZ5kyJ202デフォルトの名無しさん
2017/04/16(日) 14:13:03.29ID:aobdGNjh203デフォルトの名無しさん
2017/04/16(日) 16:14:29.58ID:z1TgtbB7204デフォルトの名無しさん
2017/04/20(木) 11:21:43.08ID:QJAwY2Mb205デフォルトの名無しさん
2017/04/22(土) 15:45:58.46ID:Btp73K0S こういうのに瞬時に回答できるようになるまでどのくらいの時間がかかるものなの?
206デフォルトの名無しさん
2017/04/22(土) 21:31:15.12ID:DL7Mzdas お題: くまモンをかく
207デフォルトの名無しさん
2017/04/23(日) 10:45:10.81ID:33igmMUW くまモン
208デフォルトの名無しさん
2017/04/23(日) 20:01:13.92ID:fsvPYIZO >>205
一瞬
一瞬
209デフォルトの名無しさん
2017/04/23(日) 20:24:02.53ID:nc0/ghBL とんちかよw
210デフォルトの名無しさん
2017/04/23(日) 20:37:32.86ID:7bZTt8wr ああ、やっと意味が分かったw
211デフォルトの名無しさん
2017/04/24(月) 05:27:50.71ID:+7Sa1g5s >>206
http://light.dotup.org/uploda/light.dotup.org437888.png
http://ideone.com/eJ2xul
C++。あー大変だった。
以前ラウム螺旋作った時の流用したけど、タートルグラフィックはGUI無いとキツイなぁ。
似てないとか苦情は受け付けません。あしからず。
http://light.dotup.org/uploda/light.dotup.org437888.png
http://ideone.com/eJ2xul
C++。あー大変だった。
以前ラウム螺旋作った時の流用したけど、タートルグラフィックはGUI無いとキツイなぁ。
似てないとか苦情は受け付けません。あしからず。
212sage
2017/04/24(月) 05:36:47.92ID:4BlFLqQl213デフォルトの名無しさん
2017/04/24(月) 05:43:14.19ID:+7Sa1g5s214デフォルトの名無しさん
2017/04/24(月) 11:57:42.03ID:SbFm/aQk >>212
へーこんなところあるんだ知らんかった
へーこんなところあるんだ知らんかった
215デフォルトの名無しさん
2017/04/24(月) 21:55:43.67ID:WHcUZH3G すみません。何言ってるかわからないだろうけど、
12桁の数字が並ぶ羅列は何を表しているのでしょうか???
/021/000/000/000
とか
12桁の数字が並ぶ羅列は何を表しているのでしょうか???
/021/000/000/000
とか
216デフォルトの名無しさん
2017/04/24(月) 22:16:03.57ID:9NN+cmWY 最初の3つが市外局番 次が区番号 残りが個人識別子だよ
217デフォルトの名無しさん
2017/04/25(火) 05:30:26.30ID:8YHxJHtd 12桁くらいの数字を使う規格ってそれなりにありそうだけどな。
218デフォルトの名無しさん
2017/04/25(火) 23:23:31.83ID:bgy6YsrD お題:自然数nのヤング図形をもとめる
219デフォルトの名無しさん
2017/04/26(水) 07:01:54.95ID:ezAhxtxU >>218
ギブアップ。うぃきぺ見ても意味わかんない。頭爆発しそう。
ギブアップ。うぃきぺ見ても意味わかんない。頭爆発しそう。
220デフォルトの名無しさん
2017/04/26(水) 07:24:25.57ID:5DpYjYxD 数字の入ったヤング盤じゃなくて、図形だけでいいの?
nのヤング図形を全部求めるってこと?
nのヤング図形を全部求めるってこと?
221デフォルトの名無しさん
2017/04/26(水) 12:59:54.54ID:BGeLfl3x222221
2017/04/26(水) 16:03:33.34ID:BGeLfl3x >>221は1行目が「× Yaund」「○ Young」という恥ずかしい間違いから始まり
N <= 0の時のチェック漏れやら
長方形のパターン(N=10の時の[5,5]や[2,2,2,2,2])が抜けてるなど
ミスしまくってました orz てことで、修正します
>>218 Nim
https://wandbox.org/permlink/RUf5B0SVg0MozD25
N <= 0の時のチェック漏れやら
長方形のパターン(N=10の時の[5,5]や[2,2,2,2,2])が抜けてるなど
ミスしまくってました orz てことで、修正します
>>218 Nim
https://wandbox.org/permlink/RUf5B0SVg0MozD25
223デフォルトの名無しさん
2017/04/26(水) 16:07:13.33ID:ezAhxtxU なーんだそれでいいのか。
それならなんとか組めるかも。
それならなんとか組めるかも。
224デフォルトの名無しさん
2017/04/26(水) 19:19:14.42ID:ezAhxtxU225デフォルトの名無しさん
2017/04/27(木) 10:01:02.40ID:LnKeLTZP 問題の想定解と合ってるのかな?
出題者のコメントが欲しいところ
出題者のコメントが欲しいところ
226デフォルトの名無しさん
2017/05/05(金) 08:45:57.67ID:f8yfM1E5 素人の言語処理100本ノック:まとめ
http://qiita.com/segavvy/items/fb50ba8097d59475f760
http://qiita.com/segavvy/items/fb50ba8097d59475f760
227デフォルトの名無しさん
2017/05/24(水) 21:48:00.75ID:7oyfe1wq お題:以下を出力
857142
714285
571428
428571
285714
142857
857142
714285
571428
428571
285714
142857
228デフォルトの名無しさん
2017/05/24(水) 22:07:09.20ID:L9mU+g8W229デフォルトの名無しさん
2017/05/24(水) 22:19:15.30ID:lEJcnLZT230デフォルトの名無しさん
2017/05/24(水) 23:21:53.31ID:FC0+qCJl >>229
一番下の数字に1∼6を掛ければ
一番下の数字に1∼6を掛ければ
231デフォルトの名無しさん
2017/05/24(水) 23:33:01.85ID:0ssPtL9D232デフォルトの名無しさん
2017/05/24(水) 23:48:35.88ID:99+UTRWu 各々n/7の循環部だね
233デフォルトの名無しさん
2017/05/24(水) 23:51:10.59ID:99+UTRWu234デフォルトの名無しさん
2017/05/25(木) 01:00:30.19ID:vvyNjvHe235デフォルトの名無しさん
2017/05/25(木) 01:16:57.10ID:vvyNjvHe >>234 間違えてたスマソ
Perl
use 5.016;
say 142857 * (7 - $_) for 1..6;
$ perl 9_227.pl
857142
714285
571428
428571
285714
142857
Perl
use 5.016;
say 142857 * (7 - $_) for 1..6;
$ perl 9_227.pl
857142
714285
571428
428571
285714
142857
236デフォルトの名無しさん
2017/05/25(木) 13:01:14.56ID:+8TeyhTL >>227 Squeak/Pharo Smalltalk
(142857 * (6 to: 1 by: -1)) asStringWithCr
=> '857142
714285
571428
428571
285714
142857'
(142857 * (6 to: 1 by: -1)) asStringWithCr
=> '857142
714285
571428
428571
285714
142857'
237デフォルトの名無しさん
2017/05/25(木) 13:21:29.71ID:+8TeyhTL238デフォルトの名無しさん
2017/05/25(木) 18:49:32.83ID:F0MQej0l >>227 common lisp
(do ((i 6 (- i 1))) ((equal i 0)) (print (floor (/ (* 1000000 i) 7))))
(do ((i 6 (- i 1))) ((equal i 0)) (print (floor (/ (* 1000000 i) 7))))
239デフォルトの名無しさん
2017/05/25(木) 19:28:46.12ID:MmhezNib お題が情報不足過ぎて何を使っていいのか悪いのかがわかんない
240デフォルトの名無しさん
2017/05/25(木) 21:35:24.87ID:Z+pf95Ly >>227
@Mathematica
In[1]:=142857//
IntegerDigits//
NestList[RotateLeft,#,Length[#]-1]&//
Map[FromDigits,#]&//
Sort//
Reverse//
Map[{#}&,#]&//
Grid
Out[1] = 857142
714285
571428
428571
285714
142857
@Mathematica
In[1]:=142857//
IntegerDigits//
NestList[RotateLeft,#,Length[#]-1]&//
Map[FromDigits,#]&//
Sort//
Reverse//
Map[{#}&,#]&//
Grid
Out[1] = 857142
714285
571428
428571
285714
142857
241デフォルトの名無しさん
2017/05/25(木) 21:56:10.72ID:ShXkIc2G242デフォルトの名無しさん
2017/05/25(木) 22:10:21.35ID:73MQsPzv >>227 Nim
for i in countdown(6,1): stdout.writeline i*142857
for i in countdown(6,1): stdout.writeline i*142857
243デフォルトの名無しさん
2017/05/25(木) 23:50:37.58ID:SwCyV6dp244デフォルトの名無しさん
2017/05/27(土) 20:11:30.48ID:x9+XjHY5 227 R
write((6:1)*999999/7.",1)
write((6:1)*999999/7.",1)
245デフォルトの名無しさん
2017/05/28(日) 14:54:52.19ID:/dM5Kslk >>227 SWI-Prolog
main(N, X) :- X1 is X * N, write(X1), nl, N > 1, N1 is N - 1, main(N1, X).
:- main(6, 142857).
main(N, X) :- X1 is X * N, write(X1), nl, N > 1, N1 is N - 1, main(N1, X).
:- main(6, 142857).
246プログラミングのお題
2017/06/01(木) 12:06:57.65ID:o30QeXgp トランプ氏の謎の単語
covfefe
の謎を解明する。
covfefe
の謎を解明する。
247デフォルトの名無しさん
2017/06/01(木) 13:12:24.25ID:/fo1vNun ↑
c,o,v,f,e,f,eの7文字をランダムに出力し続け、covfefeが完成するまでの文字数をカウント
c,o,v,f,e,f,eの7文字をランダムに出力し続け、covfefeが完成するまでの文字数をカウント
248デフォルトの名無しさん
2017/06/01(木) 13:47:08.78ID:sszEh+oH >>247 Squeak/Pharo Smalltalk
| count covfefe buffer |
count := 0.
covfefe := 'covfefe' asOrderedCollection.
buffer := covfefe copy atAllPut: $*.
[ count := count + 1.
Transcript nextPut: (buffer removeFirst; add: covfefe atRandom).
(count isDivisibleBy: 1000) ifTrue: [Transcript endEntry].
buffer = covfefe
] whileFalse.
Transcript endEntry.
^count "= 34301 "
| count covfefe buffer |
count := 0.
covfefe := 'covfefe' asOrderedCollection.
buffer := covfefe copy atAllPut: $*.
[ count := count + 1.
Transcript nextPut: (buffer removeFirst; add: covfefe atRandom).
(count isDivisibleBy: 1000) ifTrue: [Transcript endEntry].
buffer = covfefe
] whileFalse.
Transcript endEntry.
^count "= 34301 "
249デフォルトの名無しさん
2017/06/01(木) 23:30:50.24ID:MQJNOblg >>247 効率悪いけれど…
Perl
$w='covfefe';
@l=split '',$w;
do {
$_ .= $l[int(rand(7))];
} while (!/$w/);
print index $_, $w . "\n";
Perl
$w='covfefe';
@l=split '',$w;
do {
$_ .= $l[int(rand(7))];
} while (!/$w/);
print index $_, $w . "\n";
250デフォルトの名無しさん
2017/06/01(木) 23:44:01.17ID:MQJNOblg >>249
ゴメン、これだと最初に見つかったときに0になっちゃうんで
「完成するまでの文字数」を出すためには
× print index $_, $w . "\n";
↓
○ print index($_, $w) + 7 . "\n";
に修正させてください。
ゴメン、これだと最初に見つかったときに0になっちゃうんで
「完成するまでの文字数」を出すためには
× print index $_, $w . "\n";
↓
○ print index($_, $w) + 7 . "\n";
に修正させてください。
251デフォルトの名無しさん
2017/06/02(金) 02:47:24.66ID:znhUDH9D >>247 Nim
import random
const word = "covfefe"
var count, match = 0
randomize()
while match != word.len():
let ch = word[random word.len()]
stdout.write ch
match = if ch == word[match]: match + 1 else: 0
inc count
echo "\n", count
import random
const word = "covfefe"
var count, match = 0
randomize()
while match != word.len():
let ch = word[random word.len()]
stdout.write ch
match = if ch == word[match]: match + 1 else: 0
inc count
echo "\n", count
252デフォルトの名無しさん
2017/06/02(金) 07:41:45.64ID:r1TSATN8 それだとccovfefeのときとか抜け落ちるんじゃね?
253デフォルトの名無しさん
2017/06/02(金) 14:13:15.27ID:znhUDH9D >>252
その通りですね
お題のcovfefeなら安直な修正でいいかな
- match = if ch == word[match]: match + 1 else: 0
+ match = if ch == word[match]: match + 1 elif ch == word[0]: 1 else: 0
その通りですね
お題のcovfefeなら安直な修正でいいかな
- match = if ch == word[match]: match + 1 else: 0
+ match = if ch == word[match]: match + 1 elif ch == word[0]: 1 else: 0
254デフォルトの名無しさん
2017/06/02(金) 20:36:39.00ID:GZbUsfWf >>247 ruby
covf, buff = 'covfefe', ''
buff += covf.chars.sample until buff.end_with? covf
p buff.size
covf, buff = 'covfefe', ''
buff += covf.chars.sample until buff.end_with? covf
p buff.size
255片山博文MZ ◆T6xkBnTXz7B0
2017/06/02(金) 21:34:10.62ID:ECCI41T/ お題: 2つの別々の牧場ウィンドウがあり、その中に複数の牛がうごめいている。複数の牛を選択して、別の牧場ウィンドウにドラッグ&ドロップできるようにしなさい。
256デフォルトの名無しさん
2017/06/02(金) 21:43:02.00ID:ZGhpg2JU GUIの課題ってコードも長くなりがちたから答えにくくない?
257片山博文MZ ◆T6xkBnTXz7B0
2017/06/02(金) 21:46:38.91ID:ECCI41T/ 賞金は早い者勝ちで三千円。スクリプト野郎どもにはできないだろう。へっ。
259デフォルトの名無しさん
2017/06/02(金) 22:03:48.67ID:doJoDkLD 賞金とか誰かと思ったら片山博文MZか。
260デフォルトの名無しさん
2017/06/02(金) 23:44:04.74ID:cFhdiKGB 三千円じゃ安い
261デフォルトの名無しさん
2017/06/03(土) 01:24:32.19ID:4TZnG99D >>255
動的言語のscriptでもQt,Wxwidget,Tkinterなど色々のGUI fwが使えるから書けるよ。
でも、エッセンスがなく、会コードが無駄に長くなるお題は、作成に時間がかかるし獣よな技術はないし
趣旨を考えで出題しろよ。
すくなくとも自分で作る気になれる題を出せ
動的言語のscriptでもQt,Wxwidget,Tkinterなど色々のGUI fwが使えるから書けるよ。
でも、エッセンスがなく、会コードが無駄に長くなるお題は、作成に時間がかかるし獣よな技術はないし
趣旨を考えで出題しろよ。
すくなくとも自分で作る気になれる題を出せ
262デフォルトの名無しさん
2017/06/03(土) 01:26:10.05ID:4TZnG99D263デフォルトの名無しさん
2017/06/03(土) 01:50:43.99ID:4TZnG99D でも、まぁ地獄の沙汰も金次第というじゃありませんか。
お見積もり30万円以上でしたらpython+tkinterで書いてお納めすtることも
検討させていただきますよ。ハイ
更にハイグレードに300万円だったらPerl+Ptkもお付けいたいます。
いかがですか?だんな
もみ手
お見積もり30万円以上でしたらpython+tkinterで書いてお納めすtることも
検討させていただきますよ。ハイ
更にハイグレードに300万円だったらPerl+Ptkもお付けいたいます。
いかがですか?だんな
もみ手
264デフォルトの名無しさん
2017/06/03(土) 19:38:09.78ID:bt+/AaG5 【問題】
アルバートとバーナードは、シェリルと友達になったばかりです。
シェリルの誕生日を2人は聞きましたが、彼女は10個の日にちを候補としてあげました。
・5月15日、5月16日、5月19日
・6月17日、6月18日
・7月14日、7月16日
・8月14日、8月15日、8月17日
それからシェリルは、アルバートに「月」だけを、バーナードに「日付」だけをそれぞれ教えました。
アルバート「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
バーナード「僕はシェリルの誕生日を知らなかったけど、今は知ってるよ」
アルバート「それなら僕もいつだか知っているよ」
シェリルの誕生日はいつでしょうか?
プログラムを書いてプログラムに解かせること。
アルバートとバーナードは、シェリルと友達になったばかりです。
シェリルの誕生日を2人は聞きましたが、彼女は10個の日にちを候補としてあげました。
・5月15日、5月16日、5月19日
・6月17日、6月18日
・7月14日、7月16日
・8月14日、8月15日、8月17日
それからシェリルは、アルバートに「月」だけを、バーナードに「日付」だけをそれぞれ教えました。
アルバート「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
バーナード「僕はシェリルの誕生日を知らなかったけど、今は知ってるよ」
アルバート「それなら僕もいつだか知っているよ」
シェリルの誕生日はいつでしょうか?
プログラムを書いてプログラムに解かせること。
265デフォルトの名無しさん
2017/06/03(土) 20:24:51.42ID:LavjhbKR Console.WriteLine("知らんがな");
266デフォルトの名無しさん
2017/06/03(土) 20:43:26.68ID:GyX0IIiI (begin (display "知らんがな")(newline))
267デフォルトの名無しさん
2017/06/03(土) 21:39:03.81ID:3br47TQ3 print("知らんがな")
268デフォルトの名無しさん
2017/06/03(土) 21:39:54.96ID:+ZiDT+Cr 世界で初めて原爆実験が行われた日を
わざわざ答えに選んだのは何か意図があってのこと?
わざわざ答えに選んだのは何か意図があってのこと?
269デフォルトの名無しさん
2017/06/04(日) 02:59:00.78ID:vYNPJugT 2年前のログ見てみたけどそのときはここに持ちこむ奴いなかったんだな
Prologおじさんとかが嬉々としてやりそうだけど
Prologおじさんとかが嬉々としてやりそうだけど
270デフォルトの名無しさん
2017/06/04(日) 03:31:57.97ID:JSJPiIxT 7月16日
271デフォルトの名無しさん
2017/06/04(日) 11:23:47.25ID:ICo3ogub272デフォルトの名無しさん
2017/06/04(日) 12:17:11.76ID:/fL6DBjJ >>264 Perl
@md = ([5, 15], [5, 16], [5, 19],
[6, 17], [6, 18],
[7, 14], [7, 16],
[8, 14], [8, 15], [8, 17]);
push @{$c{$$_[1]}}, $$_[0] for @md;
push @{$d{$$_[0]}}, $$_[1] for grep{1 < @{$c{$$_[1]}}} @md;
while (($m, $v) = each %d) {
print "$m/$$v[0]\n" if 1== @$v;
}
実行結果
$ perl 9_264.pl
6/17
@md = ([5, 15], [5, 16], [5, 19],
[6, 17], [6, 18],
[7, 14], [7, 16],
[8, 14], [8, 15], [8, 17]);
push @{$c{$$_[1]}}, $$_[0] for @md;
push @{$d{$$_[0]}}, $$_[1] for grep{1 < @{$c{$$_[1]}}} @md;
while (($m, $v) = each %d) {
print "$m/$$v[0]\n" if 1== @$v;
}
実行結果
$ perl 9_264.pl
6/17
273デフォルトの名無しさん
2017/06/04(日) 12:22:24.53ID:/fL6DBjJ >>272
7月16日が正解なら 解き方間を違えているのかも知れん
7月16日が正解なら 解き方間を違えているのかも知れん
274デフォルトの名無しさん
2017/06/04(日) 14:27:12.46ID:ArM8onCc アルバート「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
5,6月を排除
バーナード「僕はシェリルの誕生日を知らなかったけど、今は知ってるよ」
14日を排除
アルバート「それなら僕もいつだか知っているよ」
残り候補が一つの月 -> 7月16日
5,6月を排除
バーナード「僕はシェリルの誕生日を知らなかったけど、今は知ってるよ」
14日を排除
アルバート「それなら僕もいつだか知っているよ」
残り候補が一つの月 -> 7月16日
275デフォルトの名無しさん
2017/06/04(日) 15:02:32.31ID:/fL6DBjJ >>272 の解き方で考えたこと
アルバート「僕は(「月」だけしか教えてもらっていないので)シェリルの誕生日を知らないけど、
(「日付」だけを教えてもらった)バーナードも知らないよ」
⇒「日付」だけ聞けば誕生日だと判明する、即ち日の登場回数が一回だけの月日、
具体的には5月19日、6月18日は対象外とみなし除去
バーナード「僕は「日付」だけを教えてもらっても)シェリルの誕生日を知らなかったけど、
アルバートが「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」と言うのを聞いて
今は知ってるよ」
⇒日の登場回数が一回だけの19日、6月18日を除去したあと、
登場回数が一回だけの日が バーナードの聞いた「日付」に当たり、
誕生日だと考えられる。
⇒6/17
この考え方が違ったんだろうな…
アルバート「僕は(「月」だけしか教えてもらっていないので)シェリルの誕生日を知らないけど、
(「日付」だけを教えてもらった)バーナードも知らないよ」
⇒「日付」だけ聞けば誕生日だと判明する、即ち日の登場回数が一回だけの月日、
具体的には5月19日、6月18日は対象外とみなし除去
バーナード「僕は「日付」だけを教えてもらっても)シェリルの誕生日を知らなかったけど、
アルバートが「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」と言うのを聞いて
今は知ってるよ」
⇒日の登場回数が一回だけの19日、6月18日を除去したあと、
登場回数が一回だけの日が バーナードの聞いた「日付」に当たり、
誕生日だと考えられる。
⇒6/17
この考え方が違ったんだろうな…
276デフォルトの名無しさん
2017/06/04(日) 15:42:35.42ID:ArM8onCc >>275
アルバートは月を知ってるが、バーナードも知らない事を確信できるのは、
18,19日を含まない7,8月のどちらかという事になる -> 5,6月は全削除
それを聞いてバーナードは誕生日がわかるので、7,8月両方に含まれる14日ではなく、
15,16,17日のどれかになる
それを聞いてアルバートがわかるので、候補が一つしか残ってない7月16日という事になる
アルバートは月を知ってるが、バーナードも知らない事を確信できるのは、
18,19日を含まない7,8月のどちらかという事になる -> 5,6月は全削除
それを聞いてバーナードは誕生日がわかるので、7,8月両方に含まれる14日ではなく、
15,16,17日のどれかになる
それを聞いてアルバートがわかるので、候補が一つしか残ってない7月16日という事になる
277デフォルトの名無しさん
2017/06/04(日) 16:11:15.57ID:Thsr1gL6 6/17の方ぽいね
278デフォルトの名無しさん
2017/06/04(日) 16:23:55.65ID:8topuOK/ 5,6月は全排除でしょ
279デフォルトの名無しさん
2017/06/04(日) 16:27:46.47ID:/fL6DBjJ280デフォルトの名無しさん
2017/06/04(日) 16:46:10.26ID:3NGxsH/O >>279
解釈の差だけが問題じゃないだろ
> ⇒日の登場回数が一回だけの19日、6月18日を除去したあと、
> 登場回数が一回だけの日が バーナードの聞いた「日付」に当たり、
> 誕生日だと考えられる。
18日、19日は日の登場回数が一回だけであるということは
他の日は複数回登場するということだからその論理は破綻してる
解釈の差だけが問題じゃないだろ
> ⇒日の登場回数が一回だけの19日、6月18日を除去したあと、
> 登場回数が一回だけの日が バーナードの聞いた「日付」に当たり、
> 誕生日だと考えられる。
18日、19日は日の登場回数が一回だけであるということは
他の日は複数回登場するということだからその論理は破綻してる
281デフォルトの名無しさん
2017/06/04(日) 16:54:14.37ID:/fL6DBjJ >>280
それは誤解というか解読不足。
5月19日、6月18日が除去されることによって、
元々複数回登場していた他の日のうち6月17日が単一の日となり
17日という日付さえ知らされれば、誕生日は6月17日と判明できる。
それは誤解というか解読不足。
5月19日、6月18日が除去されることによって、
元々複数回登場していた他の日のうち6月17日が単一の日となり
17日という日付さえ知らされれば、誕生日は6月17日と判明できる。
282デフォルトの名無しさん
2017/06/04(日) 17:03:26.79ID:ArM8onCc >>281
客観的に見て、アルバートがバーナードも知らない事を確信できる為には、
アルバート自身が知っている月には18,19日が含まれていない必要がある
従って、アルバートが知っている月は5,6月ではないという事
客観的に見て、アルバートがバーナードも知らない事を確信できる為には、
アルバート自身が知っている月には18,19日が含まれていない必要がある
従って、アルバートが知っている月は5,6月ではないという事
283デフォルトの名無しさん
2017/06/04(日) 17:07:47.61ID:/fL6DBjJ284デフォルトの名無しさん
2017/06/04(日) 17:11:33.29ID:/fL6DBjJ >>281
17日は8月17日もあるから、
6月が17日だけになったからといって、
6月17日が誕生日だとするのは
アルバート、バーナードの台詞を根拠に基づく論理に
無理がないか検証不十分だという気が自分でもしてきた
17日は8月17日もあるから、
6月が17日だけになったからといって、
6月17日が誕生日だとするのは
アルバート、バーナードの台詞を根拠に基づく論理に
無理がないか検証不十分だという気が自分でもしてきた
285デフォルトの名無しさん
2017/06/04(日) 17:12:55.48ID:ArM8onCc >>283
逆に最初の時点でアルバートはバーナードが知らないとは確信できない
例えばアルバートは6月と聞かされた場合、6月18日の可能性もあるので、
それだとバーナードは18日と聞かされているから知ってるかもしれない
逆に最初の時点でアルバートはバーナードが知らないとは確信できない
例えばアルバートは6月と聞かされた場合、6月18日の可能性もあるので、
それだとバーナードは18日と聞かされているから知ってるかもしれない
286デフォルトの名無しさん
2017/06/04(日) 17:26:33.24ID:/fL6DBjJ >>285
大体分かった。ありがとう
単一な日をまったく含まない月を教えられたからこそ、
アルバートは最初の台詞
「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
になったという考え方だね。
大体分かった。ありがとう
単一な日をまったく含まない月を教えられたからこそ、
アルバートは最初の台詞
「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
になったという考え方だね。
287デフォルトの名無しさん
2017/06/04(日) 17:30:30.29ID:ArM8onCc >>286
イエスイエス
イエスイエス
288デフォルトの名無しさん
2017/06/04(日) 22:32:17.70ID:BGwDpUyE ディスコプログラミングコンテスト 2017 7/8
https://www.disco.co.jp/procon/
の練習問題
https://www.disco.co.jp/procon/#example
解答バレにならないように1語だけ書くけど
1問目の
TOUSHITSUWOTOTTE
だけが、わけわからん
https://www.disco.co.jp/procon/
の練習問題
https://www.disco.co.jp/procon/#example
解答バレにならないように1語だけ書くけど
1問目の
TOUSHITSUWOTOTTE
だけが、わけわからん
289デフォルトの名無しさん
2017/06/05(月) 00:31:08.14ID:cnQQABDP290デフォルトの名無しさん
2017/06/05(月) 08:51:14.13ID:h9zULQkR 糖質を摂って
だよねぇ。
謎のメッセージだな。
だよねぇ。
謎のメッセージだな。
291デフォルトの名無しさん
2017/06/05(月) 09:47:23.18ID:Na336mAM292デフォルトの名無しさん
2017/06/05(月) 10:35:52.00ID:S7KIxJHR 糖質が頭の働きを良くするという通説と逆に頭を鈍らせるという説があるけど
この会社が前者を支持することを明言する意味がある
この会社が前者を支持することを明言する意味がある
293デフォルトの名無しさん
2017/06/05(月) 13:18:37.12ID:nmQdV7hA 例題に挑戦して下さりありがとうございます!全問正解した参加者にはディスコ限定どら焼きをプレゼント!
大会当日に受付でお渡ししします。糖質を摂って優勝目指して頑張って下さい!
大会当日に受付でお渡ししします。糖質を摂って優勝目指して頑張って下さい!
294デフォルトの名無しさん
2017/06/05(月) 13:45:37.09ID:hFu+7Z6c 誰が統失だって?
295デフォルトの名無しさん
2017/06/05(月) 17:48:32.89ID:2PleAf1D ダメじゃん。全解答を書いちゃって。
でも簡単すぎる問題だしどうでもいいか。
でも簡単すぎる問題だしどうでもいいか。
296デフォルトの名無しさん
2017/06/26(月) 21:09:32.46ID:92/cX5j1 前にあったやつ。
回転寿司にやってきた私は、コンベア上の寿司をすべて食べて帰ることにしている。
コンベアは毎秒1皿分の速度で流れ、目の前の皿を取るか取らないかを選ぶことができる。
皿取ると同時に食べ始め、食べている間は次の皿を取ることができない。
私が取る以外、皿は追加されたり無くなったりしない。
コンベアの状態が次のような文字列で与えられる。
"31_2"
数字はその皿を食べ終えるのにかかる秒数を表し、_は皿がないことを表す。1文字目が目の前にあり毎秒、左へ回転する。
例えば、"31_2"で最初の皿を食べたとき食べ終わった時の状態は、"2_1_"となる。
すべての寿司を食べ終えるまで最短何秒かかるか求めよ。
"12_3" > 6秒
"313__" > 8秒
"4_35_1264_23_434" > 60秒
"123456789123456789" > 98秒
"88967472612377988186" > 149秒
"19898693316679441672" > 170秒
"93769682716711132249893" > ?
回転寿司にやってきた私は、コンベア上の寿司をすべて食べて帰ることにしている。
コンベアは毎秒1皿分の速度で流れ、目の前の皿を取るか取らないかを選ぶことができる。
皿取ると同時に食べ始め、食べている間は次の皿を取ることができない。
私が取る以外、皿は追加されたり無くなったりしない。
コンベアの状態が次のような文字列で与えられる。
"31_2"
数字はその皿を食べ終えるのにかかる秒数を表し、_は皿がないことを表す。1文字目が目の前にあり毎秒、左へ回転する。
例えば、"31_2"で最初の皿を食べたとき食べ終わった時の状態は、"2_1_"となる。
すべての寿司を食べ終えるまで最短何秒かかるか求めよ。
"12_3" > 6秒
"313__" > 8秒
"4_35_1264_23_434" > 60秒
"123456789123456789" > 98秒
"88967472612377988186" > 149秒
"19898693316679441672" > 170秒
"93769682716711132249893" > ?
297デフォルトの名無しさん
2017/06/26(月) 22:59:10.29ID:GM19K0OY 計算オーダーの条件は?
無いなら二進木で
無いなら二進木で
298デフォルトの名無しさん
2017/06/26(月) 23:01:34.06ID:GM19K0OY 皿がもうちょっと多いと難しくなるけど、>>296なら力業でも
299デフォルトの名無しさん
2017/06/26(月) 23:40:33.73ID:JhsaOf6q >>296 Perl
ttp://ideone.com/iUAYUy
実行結果は
$ perl 9_296.pl
12_3: 6
313__: 10 (合わない…orz)
4_35_1264_23_434: 62 (合わない…orz)
123456789123456789: 98
88967472612377988186: 151 (合わない…orz)
19898693316679441672: 170
93769682716711132249893: 176
となり、半分が合わない。
そのうち 313__ を手で研鑽すると 10 になるのだが、
313__ は本当に8になるの?
ttp://ideone.com/iUAYUy
実行結果は
$ perl 9_296.pl
12_3: 6
313__: 10 (合わない…orz)
4_35_1264_23_434: 62 (合わない…orz)
123456789123456789: 98
88967472612377988186: 151 (合わない…orz)
19898693316679441672: 170
93769682716711132249893: 176
となり、半分が合わない。
そのうち 313__ を手で研鑽すると 10 になるのだが、
313__ は本当に8になるの?
300デフォルトの名無しさん
2017/06/26(月) 23:41:06.22ID:JhsaOf6q >>299
研鑽じゃねぇや手で起算な。
研鑽じゃねぇや手で起算な。
301デフォルトの名無しさん
2017/06/26(月) 23:45:40.94ID:JhsaOf6q >>300
起算でもねえ、手で計算な…orz
起算でもねえ、手で計算な…orz
302デフォルトの名無しさん
2017/06/26(月) 23:58:59.38ID:92/cX5j1 313__ はこれでは?
まず一皿ながして
1を食う、2秒時点の状態 3__3_
3を食う、5秒時点の状態 3____
3を食う、8秒で食べ終わり
まず一皿ながして
1を食う、2秒時点の状態 3__3_
3を食う、5秒時点の状態 3____
3を食う、8秒で食べ終わり
303デフォルトの名無しさん
2017/06/27(火) 00:02:53.75ID:5fkiI7k4304デフォルトの名無しさん
2017/06/27(火) 00:12:08.45ID:PK1LDhK1 >>296 は、
目の前にあるやつを食べ続けるだけで最短になっちゃうのもあるってことか。
目の前にあるやつを食べ続けるだけで最短になっちゃうのもあるってことか。
305デフォルトの名無しさん
2017/06/27(火) 00:46:54.34ID:v9AhJc3r306デフォルトの名無しさん
2017/06/27(火) 08:18:25.38ID:bJ//gE7J 考えてみたけと計算オーダーを減らすのはむずかしいね
枝刈りは色々と出来るけど
枝刈りは色々と出来るけど
307デフォルトの名無しさん
2017/06/28(水) 00:38:04.57ID:SkQPDtDj >>218 Perl
ttp://ideone.com/ylFIEa
ソースコード4行目の
my $n = 8; # 分割する自然数を設定
の8を書き換えると他の整数についてもヤング図形を出力できます。
ttp://ideone.com/ylFIEa
ソースコード4行目の
my $n = 8; # 分割する自然数を設定
の8を書き換えると他の整数についてもヤング図形を出力できます。
308デフォルトの名無しさん
2017/06/28(水) 10:38:30.75ID:+O8L6XqQ 366 :nobodyさん 2017/05/29(月) 16:07:39.16 ID:6v4UcGhE
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744
367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/
372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する
↓
Railsはマイナー、メジャーのアップデートが半年以内に必ずある
↓
客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく
↓
気づいてから1年以内に通知すれば、5年間無料保証ゲット
↓
つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな
376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744
367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/
372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する
↓
Railsはマイナー、メジャーのアップデートが半年以内に必ずある
↓
客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく
↓
気づいてから1年以内に通知すれば、5年間無料保証ゲット
↓
つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな
376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
309デフォルトの名無しさん
2017/06/28(水) 10:38:43.66ID:+O8L6XqQ 瑕疵担保責任(かしたんぽせきにん)
瑕疵担保責任のポイント
民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない
http://www.atmarkit.co.jp/ait/articles/1706/26/news014.html
http://itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt
改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、
通知後5年以内は修正や報酬の減額などを求められるとしている
全ベンダーが泣いた民法改正案を解説しよう その1
http://www.atmarkit.co.jp/ait/articles/1609/14/news009.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html
ポイント1:修補や損害賠償、契約解除の期限がなくなる
従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、
11年後まで請求可能なのだ。
もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。
瑕疵担保責任のポイント
民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない
http://www.atmarkit.co.jp/ait/articles/1706/26/news014.html
http://itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt
改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、
通知後5年以内は修正や報酬の減額などを求められるとしている
全ベンダーが泣いた民法改正案を解説しよう その1
http://www.atmarkit.co.jp/ait/articles/1609/14/news009.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html
ポイント1:修補や損害賠償、契約解除の期限がなくなる
従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、
11年後まで請求可能なのだ。
もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。
310デフォルトの名無しさん
2017/06/28(水) 10:56:55.66ID:fzKvr8sM コピペマン参上!!まで読んだ
311デフォルトの名無しさん
2017/06/28(水) 22:13:35.80ID:CE32dHls >>305
修正 http://ideone.com/PGKCb4
経路情報復元(ベストは複数あるかもしれない中から一つ選んで)。
ついでにその経路での途中経過を表示してみた。
インデックス、待機秒数、開始時間、食事秒数、終了時間、
修正 http://ideone.com/PGKCb4
経路情報復元(ベストは複数あるかもしれない中から一つ選んで)。
ついでにその経路での途中経過を表示してみた。
インデックス、待機秒数、開始時間、食事秒数、終了時間、
312デフォルトの名無しさん
2017/06/28(水) 23:25:36.64ID:KJ5QOfYg313デフォルトの名無しさん
2017/07/01(土) 18:47:40.02ID:tnFwdv+3 前に書いたけどコード紛失した。
314デフォルトの名無しさん
2017/07/01(土) 21:49:46.76ID:WoDBh/Wa お題: パスカルの三角形
315デフォルトの名無しさん
2017/07/01(土) 22:05:06.08ID:1Cx1myAa >>314
良いお題だね
良いお題だね
316デフォルトの名無しさん
2017/07/02(日) 13:43:30.38ID:bHJ33QxN317デフォルトの名無しさん
2017/07/03(月) 08:12:51.85ID:EltE6GHS318デフォルトの名無しさん
2017/07/04(火) 21:28:12.76ID:QK6Kginy >>296 >>299 Perl5
http://ideone.com/0yJ5U9
リスト処理ではなく、先ずは正規表現と文字列処理を使って書いてみた。
31…の3のように、食べているうちに後続の数値皿が通り過ぎてしまうような、
取りこぼしを起こし得る皿では、その数値を食べるか、あるいはスルーするか、
再帰的に両方に分岐し、木構造で計算しているが、
逆に食べている間に飛び越しを起こさないところでは、分岐が不要なので
来た順に直ちに食べることによって、枝分かれの過剰な細分化を抑制した。
それでも全探査すると、サンプルデータの三つ目まではすぐ解けるが、
四つめ以降は時間がかかりいつ終わるか分からない。
そこで、検索された食事秒数の最小値の更新状況を記録し、
同じ最小値が一定回数以上連続して繰り返し検出されるようになったら
最短値に収束したと見なし、探索を打ち切ることによって短時間で
解を出力できるようにした。打ち切り上限は10をハードコードしてあるが
今回のサンプルデータについては4か5で十分そうだ。
なお、23_ のような、2を食べることによって飛び越しを起こすポイントの
一番最後のものは,食べずにスルーして先に2を食べた方が、
次の周で早く食べ終わることは明らかだ。
これを演繹的に繰り返して、遡ってゆけば、上記のように木構造に
わたって動的に計算して探索しなくても、静的に求解できそうな気がしたが
難しそうなので、見送った。
http://ideone.com/0yJ5U9
リスト処理ではなく、先ずは正規表現と文字列処理を使って書いてみた。
31…の3のように、食べているうちに後続の数値皿が通り過ぎてしまうような、
取りこぼしを起こし得る皿では、その数値を食べるか、あるいはスルーするか、
再帰的に両方に分岐し、木構造で計算しているが、
逆に食べている間に飛び越しを起こさないところでは、分岐が不要なので
来た順に直ちに食べることによって、枝分かれの過剰な細分化を抑制した。
それでも全探査すると、サンプルデータの三つ目まではすぐ解けるが、
四つめ以降は時間がかかりいつ終わるか分からない。
そこで、検索された食事秒数の最小値の更新状況を記録し、
同じ最小値が一定回数以上連続して繰り返し検出されるようになったら
最短値に収束したと見なし、探索を打ち切ることによって短時間で
解を出力できるようにした。打ち切り上限は10をハードコードしてあるが
今回のサンプルデータについては4か5で十分そうだ。
なお、23_ のような、2を食べることによって飛び越しを起こすポイントの
一番最後のものは,食べずにスルーして先に2を食べた方が、
次の周で早く食べ終わることは明らかだ。
これを演繹的に繰り返して、遡ってゆけば、上記のように木構造に
わたって動的に計算して探索しなくても、静的に求解できそうな気がしたが
難しそうなので、見送った。
319デフォルトの名無しさん
2017/07/04(火) 21:31:48.78ID:QK6Kginy320デフォルトの名無しさん
2017/07/04(火) 23:51:29.56ID:sQGcZTdy321318
2017/07/06(木) 00:31:45.46ID:iCfNzc8Y >>320
誤解です。
枝刈りは、ある探索中の枝において始点から既に経過した秒数が
それまでの別の枝における探索で最後まで食べた最小秒数を超過したら、
現在の枝の探索はもうこれ以上進んでも秒数が増える一方なので打ち切って
別の枝の探索に移るというものなので大丈夫です。
"3324" の最短秒数を探索すると 15秒になります。
誤解です。
枝刈りは、ある探索中の枝において始点から既に経過した秒数が
それまでの別の枝における探索で最後まで食べた最小秒数を超過したら、
現在の枝の探索はもうこれ以上進んでも秒数が増える一方なので打ち切って
別の枝の探索に移るというものなので大丈夫です。
"3324" の最短秒数を探索すると 15秒になります。
322デフォルトの名無しさん
2017/07/06(木) 00:52:46.56ID:ywrsmrRJ323318
2017/07/06(木) 01:20:52.00ID:iCfNzc8Y >>322
同じコードをideoneに張りなおして3324を入力して実行してみました。
http://ideone.com/vXrTp8
ソースを一箇所編集しています。
31 die if $hit >= 20; # 一定以上同じ最小値が繰り返し計算されたら収束と判定し脱出
の繰り返し回数上限判定地を10から20に増やしています。
3324は15になりますが、15が登場するのは11回目以降でそれまで16が出続けます。
3364も20が10回繰り返した後19が出て続きます。
お手数おかけしますが
一定以上同じ最小値が繰り返し計算されたかの判定値を10より多くして
評価してください。
同じコードをideoneに張りなおして3324を入力して実行してみました。
http://ideone.com/vXrTp8
ソースを一箇所編集しています。
31 die if $hit >= 20; # 一定以上同じ最小値が繰り返し計算されたら収束と判定し脱出
の繰り返し回数上限判定地を10から20に増やしています。
3324は15になりますが、15が登場するのは11回目以降でそれまで16が出続けます。
3364も20が10回繰り返した後19が出て続きます。
お手数おかけしますが
一定以上同じ最小値が繰り返し計算されたかの判定値を10より多くして
評価してください。
324318
2017/07/06(木) 01:35:51.32ID:iCfNzc8Y >>323
3324と3364の解を見ていて気が付いた点があります。
一定以上同じ最小値が繰り返し計算されたかの判定値を20にしていますが、
3324の15や3364の19は20ではなくて13回しか現れず、これが最小値のため
解として表示されています。
これは、3324の15や3364が4桁しかないので、
最小値が20回現れる前に全探査が完了し、その中で見つかった最小値を
解として表示していることによります。
>>318の一定回数繰り返したら収束とみなすという判定方法は、
ニュートン法のような数値計算では有効ですが、
>>296の問題の解の判定方法としては適切とは言えないかもしれませんね…orz
3324と3364の解を見ていて気が付いた点があります。
一定以上同じ最小値が繰り返し計算されたかの判定値を20にしていますが、
3324の15や3364の19は20ではなくて13回しか現れず、これが最小値のため
解として表示されています。
これは、3324の15や3364が4桁しかないので、
最小値が20回現れる前に全探査が完了し、その中で見つかった最小値を
解として表示していることによります。
>>318の一定回数繰り返したら収束とみなすという判定方法は、
ニュートン法のような数値計算では有効ですが、
>>296の問題の解の判定方法としては適切とは言えないかもしれませんね…orz
325デフォルトの名無しさん
2017/07/06(木) 01:53:08.89ID:bBo7q2K6 3324を拡張した887654329は閾値どれくらい増やせば対応できるんですかね
326318
2017/07/06(木) 02:06:40.59ID:iCfNzc8Y >>325
延々探索を続けないと解に至らないかもしれない入力については
定数で打ち切りを決めるこの解法じゃ解に至りにくいかもしれない。
887654329がそういったカテゴリーに属する入力かというと
チョット分からない。
なので適切な閾値はこれだと断言しにくいです。
さーせん
延々探索を続けないと解に至らないかもしれない入力については
定数で打ち切りを決めるこの解法じゃ解に至りにくいかもしれない。
887654329がそういったカテゴリーに属する入力かというと
チョット分からない。
なので適切な閾値はこれだと断言しにくいです。
さーせん
327デフォルトの名無しさん
2017/07/06(木) 21:08:21.84ID:ywrsmrRJ328318
2017/07/06(木) 22:03:39.91ID:0agEc1HZ329318
2017/07/06(木) 22:08:34.07ID:0agEc1HZ 見込みの無い枝をもっと早めに切り上げらる方法がありそうだと気が付いた。
それによって20で打ち切るようなやり方を改善できればいいんだけれども…
それでも計算量が増えていくと、真の解に至るまでにかかる時間が増大して
とけなくなる
それによって20で打ち切るようなやり方を改善できればいいんだけれども…
それでも計算量が増えていくと、真の解に至るまでにかかる時間が増大して
とけなくなる
330デフォルトの名無しさん
2017/07/06(木) 23:01:53.78ID:ywrsmrRJ331318
2017/07/06(木) 23:19:13.87ID:0agEc1HZ >>330
絡むね。そんな暇あったらコードでも書けばいいのにw
閾値20でその入力については解の探査を止めて
別の枝に移らず次の入力データに移るのはどちらかといえば中断で、
枝かりではないでしょ。
>319
> >>318
> 書き忘れたけど、食事秒数を探索中に、それまでに見つかっている最小病数を超えたら
> 打ち切るという、簡単な枝刈りを取り入れてあります。
にかいてあるでしょうに。
>>318は”3324”の最短に到達しないから>>321の
> "3324" の最短秒数を探索すると 15秒になります。
>というのも嘘
これは10回の打ち切りの緩和を書きもらしたんだよ。
何が狙いで、こだわって絡んでくるやらねぇ。
絡むね。そんな暇あったらコードでも書けばいいのにw
閾値20でその入力については解の探査を止めて
別の枝に移らず次の入力データに移るのはどちらかといえば中断で、
枝かりではないでしょ。
>319
> >>318
> 書き忘れたけど、食事秒数を探索中に、それまでに見つかっている最小病数を超えたら
> 打ち切るという、簡単な枝刈りを取り入れてあります。
にかいてあるでしょうに。
>>318は”3324”の最短に到達しないから>>321の
> "3324" の最短秒数を探索すると 15秒になります。
>というのも嘘
これは10回の打ち切りの緩和を書きもらしたんだよ。
何が狙いで、こだわって絡んでくるやらねぇ。
332318
2017/07/06(木) 23:37:37.26ID:0agEc1HZ 「打ち切る」という言葉を
>318
>…
>同じ最小値が一定回数以上連続して繰り返し検出されるようになったら
>最短値に収束したと見なし、探索を打ち切ることによって短時間で
>解を出力できるようにした。打ち切り上限は10をハードコードしてあるが
では「その入力に対する求解を中断する」ところで使い、
>319
> >>318
> 書き忘れたけど、食事秒数を探索中に、それまでに見つかっている最小病数を超えたら
> 打ち切るという、簡単な枝刈りを取り入れてあります。
では「その枝の下の方への探索をせず、別の枝の探索に移る」枝刈りの
ところで使ったのが誤解を招いてしまったのかな…
>318
>…
>同じ最小値が一定回数以上連続して繰り返し検出されるようになったら
>最短値に収束したと見なし、探索を打ち切ることによって短時間で
>解を出力できるようにした。打ち切り上限は10をハードコードしてあるが
では「その入力に対する求解を中断する」ところで使い、
>319
> >>318
> 書き忘れたけど、食事秒数を探索中に、それまでに見つかっている最小病数を超えたら
> 打ち切るという、簡単な枝刈りを取り入れてあります。
では「その枝の下の方への探索をせず、別の枝の探索に移る」枝刈りの
ところで使ったのが誤解を招いてしまったのかな…
333デフォルトの名無しさん
2017/07/07(金) 04:22:27.25ID:pbX9YCbr 3次の動的計画法ってどんだけメモリ食うんや?
334デフォルトの名無しさん
2017/07/08(土) 03:20:24.48ID:hDxZO8qP お題: 自然数Nの平方根を整数部含めて(1000*N)桁求めたとき、出現する0の個数を数える
たとえば、N = 4の時ルート4を4000桁(整数部1桁+小数部3999桁)求めたとき、出現する0の個数は3999個
N = 3 => ?
N = 5 => ?
N = 7 => ?
たとえば、N = 4の時ルート4を4000桁(整数部1桁+小数部3999桁)求めたとき、出現する0の個数は3999個
N = 3 => ?
N = 5 => ?
N = 7 => ?
335デフォルトの名無しさん
2017/07/08(土) 03:22:50.68ID:5gcIwgbE ブロックチェインの新手のコイン発掘か?
336デフォルトの名無しさん
2017/07/08(土) 03:59:02.35ID:kzKE4jeR >>334 Ruby
require 'bigdecimal'
[3, 4, 5, 7].each{|i|
n = 1000*i - 1
puts "N = %i => %i"%[i, ("%.#{n}f"%BigDecimal(i).sqrt(n)).count(?0)]
}
N = 3 => 2956
N = 4 => 3999
N = 5 => 4956
N = 7 => 6954
require 'bigdecimal'
[3, 4, 5, 7].each{|i|
n = 1000*i - 1
puts "N = %i => %i"%[i, ("%.#{n}f"%BigDecimal(i).sqrt(n)).count(?0)]
}
N = 3 => 2956
N = 4 => 3999
N = 5 => 4956
N = 7 => 6954
337デフォルトの名無しさん
2017/07/08(土) 04:25:25.94ID:kzKE4jeR >>336はミス。0がこんなに多いわけがない
require 'bigdecimal'
[3, 5, 7].each{|i|
n = 1000*i - 1
puts "N = %i => %i"%[i, BigDecimal(i).sqrt(n).floor(n).to_s(?F).count(?0)]
}
N = 3 => 309
N = 5 => 492
N = 7 => 738
require 'bigdecimal'
[3, 5, 7].each{|i|
n = 1000*i - 1
puts "N = %i => %i"%[i, BigDecimal(i).sqrt(n).floor(n).to_s(?F).count(?0)]
}
N = 3 => 309
N = 5 => 492
N = 7 => 738
338デフォルトの名無しさん
2017/07/08(土) 07:13:48.73ID:hDxZO8qP339デフォルトの名無しさん
2017/07/08(土) 09:51:11.17ID:3gkxwDpM >>334 C++
#include <iostream>
#include <string>
#include "gmpxx.h"
int main () {
int sq_me;
while( std::cin >> sq_me ){
int prec = 1000*sq_me, cnt = 0;
mpf_class sq_out = sqrt( mpf_class(sq_me, prec*4) );
mp_exp_t exp;
auto str = sq_out.get_str( exp,10,prec );
for( auto it=str.begin(); it!=str.end(); it++ ) if( *it=='0' ) ++cnt;
std::cout << "N = " << sq_me << " => " << cnt+prec-str.length() << '\n';
}
}
N = 3 => 309
N = 5 => 493
N = 7 => 738
N = 11 => 1079
N = 13 => 1305
N = 17 => 1664
N = 19 => 1875
N = 23 => 2265
N = 29 => 2911
N = 31 => 3113
N = 37 => 3795
N = 41 => 4095
N = 43 => 4312
N = 47 => 4798
N = 53 => 5340
#include <iostream>
#include <string>
#include "gmpxx.h"
int main () {
int sq_me;
while( std::cin >> sq_me ){
int prec = 1000*sq_me, cnt = 0;
mpf_class sq_out = sqrt( mpf_class(sq_me, prec*4) );
mp_exp_t exp;
auto str = sq_out.get_str( exp,10,prec );
for( auto it=str.begin(); it!=str.end(); it++ ) if( *it=='0' ) ++cnt;
std::cout << "N = " << sq_me << " => " << cnt+prec-str.length() << '\n';
}
}
N = 3 => 309
N = 5 => 493
N = 7 => 738
N = 11 => 1079
N = 13 => 1305
N = 17 => 1664
N = 19 => 1875
N = 23 => 2265
N = 29 => 2911
N = 31 => 3113
N = 37 => 3795
N = 41 => 4095
N = 43 => 4312
N = 47 => 4798
N = 53 => 5340
340デフォルトの名無しさん
2017/07/08(土) 11:54:07.74ID:H5pSyGdF >>334 Squeak/Pharo Smalltalk
| sqrt |
sqrt := [:n :m |
"ref. https://xar.sh/post/67066374255/ "
| a b |
a := 5 * n. b := 5.
[:exit | [
a >= b ifTrue: [a := a - b. b := b + 10] ifFalse: [
b log > m ifTrue: [exit value] ifFalse: [
a := a * 100. b := b // 10 * 100 + (b \\ 10)
]
]
] repeat] valueWithExit.
b
].
#(3 5 7) collect: [:i | i -> (((sqrt value: i value: i*1000) asString first: i*1000) occurrencesOf: $0)]
"=> {3->309 . 5->493 . 7->738}"
| sqrt |
sqrt := [:n :m |
"ref. https://xar.sh/post/67066374255/ "
| a b |
a := 5 * n. b := 5.
[:exit | [
a >= b ifTrue: [a := a - b. b := b + 10] ifFalse: [
b log > m ifTrue: [exit value] ifFalse: [
a := a * 100. b := b // 10 * 100 + (b \\ 10)
]
]
] repeat] valueWithExit.
b
].
#(3 5 7) collect: [:i | i -> (((sqrt value: i value: i*1000) asString first: i*1000) occurrencesOf: $0)]
"=> {3->309 . 5->493 . 7->738}"
341デフォルトの名無しさん
2017/07/08(土) 12:18:57.24ID:hDxZO8qP342デフォルトの名無しさん
2017/07/08(土) 12:48:13.59ID:1hnJaOYb343デフォルトの名無しさん
2017/07/08(土) 13:10:39.20ID:1hnJaOYb344デフォルトの名無しさん
2017/07/08(土) 13:31:31.09ID:3gkxwDpM >>341
> N = 29 => 2912、N = 41 => 4094 じゃなかろうか
それが正しいようです
GNU MPだとどうしても最後の桁は四捨五入?されるようで
任意のNに対して正確な答えを出すのは面倒なので修正は断念
> N = 29 => 2912、N = 41 => 4094 じゃなかろうか
それが正しいようです
GNU MPだとどうしても最後の桁は四捨五入?されるようで
任意のNに対して正確な答えを出すのは面倒なので修正は断念
345デフォルトの名無しさん
2017/07/09(日) 10:26:36.71ID:aJSGzdPS 結局バイナリーツリーになっちゃったなぁ。むずかし。
346デフォルトの名無しさん
2017/07/09(日) 10:55:01.51ID:xLkjNLhf347デフォルトの名無しさん
2017/07/09(日) 11:25:12.20ID:nhQrw0mT N=100000, 1億桁のくらいなら現実的な時間で出来る
丸めは切り捨て?四捨五入?
丸めは切り捨て?四捨五入?
348デフォルトの名無しさん
2017/07/09(日) 11:33:40.13ID:nhQrw0mT ルートの計算は速い
整数のルートは特に速い
整数のルートは特に速い
349346
2017/07/09(日) 12:21:20.78ID:4Kodr3MO350デフォルトの名無しさん
2017/07/09(日) 12:57:37.64ID:DBjzEn12 ルートの問題で初めてきたが、これってゼロの個数に上限があるのか? 簡単に求まるのか?
連続するゼロの個数の最大だろ?
無理数は規則なく無限に続くから、ゼロの個数ももし1000個連続が見つかれば、1001個もいつかでるとおもうんだが。
連続するゼロの個数の最大だろ?
無理数は規則なく無限に続くから、ゼロの個数ももし1000個連続が見つかれば、1001個もいつかでるとおもうんだが。
351デフォルトの名無しさん
2017/07/09(日) 13:14:46.15ID:df6kAKcY 最大って何の話しとるんや
352デフォルトの名無しさん
2017/07/09(日) 13:28:51.97ID:DBjzEn12 もとめる桁数のほうに上限があったのか、それを見逃してた。
353デフォルトの名無しさん
2017/07/09(日) 13:45:03.68ID:NvRZfELm 連続する個数でもないぞw
354デフォルトの名無しさん
2017/07/09(日) 13:51:59.10ID:DBjzEn12 どっちも間違えたな、ゼロの総数だったか。
355デフォルトの名無しさん
2017/07/09(日) 19:14:37.92ID:6MYOcrZ9356デフォルトの名無しさん
2017/07/11(火) 15:16:56.21ID:1hL73PK3 √2でなるべく長い0の連続をみつけるは?
357デフォルトの名無しさん
2017/07/11(火) 15:49:47.43ID:QxseLuPf >>355
君には向いて無いよ
君には向いて無いよ
360デフォルトの名無しさん
2017/07/11(火) 18:55:08.87ID:dSS1j36W [][Tebla][]
}
000-"Yob*RtStrike"[%Kil\]MO,fla>%$9999VLTS
001-GYORLith"0\R"/"ESUBA"%$%
HADO-"EM","L","O","NU"###END
}
000-"Yob*RtStrike"[%Kil\]MO,fla>%$9999VLTS
001-GYORLith"0\R"/"ESUBA"%$%
HADO-"EM","L","O","NU"###END
361デフォルトの名無しさん
2017/07/14(金) 06:57:35.22ID:PYQ8V1MO362デフォルトの名無しさん
2017/07/14(金) 07:42:51.88ID:PYQ8V1MO あー多倍長精度演算ほしー。もちろん標準で。
364デフォルトの名無しさん
2017/07/14(金) 07:56:52.78ID:PYQ8V1MO365デフォルトの名無しさん
2017/07/14(金) 07:57:44.37ID:TDGI45F0 >>364
書き捨てに慣れてしまったんだ‥
書き捨てに慣れてしまったんだ‥
366デフォルトの名無しさん
2017/07/14(金) 07:59:21.83ID:PYQ8V1MO367デフォルトの名無しさん
2017/07/14(金) 09:33:33.04ID:gEZu1299 boostという任意倍長の計算Libraryがあります。
C++では使えるそうです。
C++では使えるそうです。
368デフォルトの名無しさん
2017/07/14(金) 09:38:45.73ID:PYQ8V1MO369デフォルトの名無しさん
2017/07/14(金) 12:49:16.12ID:gnKUWanp まあ標準ライブラリしか使わない縛りをしたければ好きにすればいいんじゃない?
370デフォルトの名無しさん
2017/07/14(金) 14:27:07.19ID:JyiCltLg 車輪の再発明
371デフォルトの名無しさん
2017/07/14(金) 14:31:43.15ID:DwybRUfK 競プロみたいな相手方の環境使う物だと標準と準標準の差はでかい
自分の環境なら導入すればいいだけだが
自分の環境なら導入すればいいだけだが
>>370
個体発生は系統発生を繰り返す
個体発生は系統発生を繰り返す
373デフォルトの名無しさん
2017/07/15(土) 12:42:06.98ID:odVkuNfb >>361
厳密解を出しているのなら、チャレンジ
(わかって近似値解狙いなら気にしないで)
"14432" と "887654329"
両方とも既出の"貪欲つぶし"(?)数列
"14432"は 20秒 (ゼロインデック順で02341)
"887654329"は 80秒(同123456708)でいける。
厳密解を出しているのなら、チャレンジ
(わかって近似値解狙いなら気にしないで)
"14432" と "887654329"
両方とも既出の"貪欲つぶし"(?)数列
"14432"は 20秒 (ゼロインデック順で02341)
"887654329"は 80秒(同123456708)でいける。
374デフォルトの名無しさん
2017/07/15(土) 14:59:21.20ID:OEoVgGO0 >>373
http://ideone.com/cBzPSj
C++。それ解くとほかの問題が解けなくなる。
厳密解のつもりだったが、ちょっと自分の領分超えてるなぁ。
うまくいかないものだ。
真実が奥の方にあると貪欲法は弱いな。Orz
http://ideone.com/cBzPSj
C++。それ解くとほかの問題が解けなくなる。
厳密解のつもりだったが、ちょっと自分の領分超えてるなぁ。
うまくいかないものだ。
真実が奥の方にあると貪欲法は弱いな。Orz
375デフォルトの名無しさん
2017/07/16(日) 16:33:07.01ID:8ZBD9z9c お題:
自分用多倍長整数演算関数
…って思ったけど、処理系の標準ではないとか、仕事でGNU MP使っては駄目とかの
制約で、簡易的なもの(乗算くらいまでとか)を書いた事ある人は少なくないと見た。
自分用多倍長整数演算関数
…って思ったけど、処理系の標準ではないとか、仕事でGNU MP使っては駄目とかの
制約で、簡易的なもの(乗算くらいまでとか)を書いた事ある人は少なくないと見た。
376デフォルトの名無しさん
2017/07/16(日) 18:30:49.57ID:8+Akms5T 多倍長整数演算がサポートされている言語を使う
終わり
終わり
378デフォルトの名無しさん
2017/07/16(日) 20:34:05.63ID:yctBkD01 掛け算の実装がキモだろう。
ここがボトルネックになるはず。
ここができると円周率とか、ルート計算も高速化できるはず。
ここがボトルネックになるはず。
ここができると円周率とか、ルート計算も高速化できるはず。
>>378
うん,FFTを使うそうだが‥いまいちよくわからない
うん,FFTを使うそうだが‥いまいちよくわからない
380375
2017/07/16(日) 20:41:46.81ID:8ZBD9z9c381デフォルトの名無しさん
2017/07/17(月) 22:48:25.95ID:5edeqhg+ >>296
手計算で計算出来るレベルにまで計算量を減らせた
もちろん数学的な裏付け付きで
ある条件を見たせば一瞬で求まる
"123456789123456789" > 98秒
残念ながら、これだけはその条件を満たしてない
手計算で計算出来るレベルにまで計算量を減らせた
もちろん数学的な裏付け付きで
ある条件を見たせば一瞬で求まる
"123456789123456789" > 98秒
残念ながら、これだけはその条件を満たしてない
382デフォルトの名無しさん
2017/07/18(火) 06:37:17.84ID:nFCFlf58 >>381
22とか2323もその条件を満たしてない感じ?
22とか2323もその条件を満たしてない感じ?
383デフォルトの名無しさん
2017/07/18(火) 07:37:05.09ID:Ew0RSScO 22 は微妙
2323 は大丈夫
2323 は大丈夫
384デフォルトの名無しさん
2017/07/18(火) 07:41:44.22ID:Ew0RSScO まだコードになってないんで、
コードになったらアップします
寿司を食べる時間 < レーンの回転周期
という前提をつけちゃおうと思ったけど、
つけない方が良さそうですね
寿司を食べる時間がレーンの回転周期の整数倍の寿司は
ちょっと特別な処理が必要
コードになったらアップします
寿司を食べる時間 < レーンの回転周期
という前提をつけちゃおうと思ったけど、
つけない方が良さそうですね
寿司を食べる時間がレーンの回転周期の整数倍の寿司は
ちょっと特別な処理が必要
385デフォルトの名無しさん
2017/07/18(火) 08:01:32.43ID:Ew0RSScO 整数倍の寿司が無いもので
条件に当てはまらない最小は
2222
かな
条件に当てはまらない最小は
2222
かな
386デフォルトの名無しさん
2017/07/18(火) 08:49:51.93ID:YLlwVFMJ388デフォルトの名無しさん
2017/07/19(水) 18:12:29.37ID:Np9hKHT2 >>296
>>373
http://ideone.com/B9vl8l
C++。結局、i7-6700のmem2G使って7分で解けた。
どうしようもない位遅いな。
でも一応題意には添えたと思う。
もう見たくない・・・。Orz
高速化するにはインラインアセンブリ使うか、スレッド分割できるようなアルゴリズムかんがえるか。
よくわからんけど、数学で頑張ってる人に期待だ。
>>373
http://ideone.com/B9vl8l
C++。結局、i7-6700のmem2G使って7分で解けた。
どうしようもない位遅いな。
でも一応題意には添えたと思う。
もう見たくない・・・。Orz
高速化するにはインラインアセンブリ使うか、スレッド分割できるようなアルゴリズムかんがえるか。
よくわからんけど、数学で頑張ってる人に期待だ。
389386
2017/07/20(木) 01:57:16.81ID:Q7XnESC/ 100のべき乗に変更
ttp://sagecell.sagemath.org/?q=mciykc
ttp://sagecell.sagemath.org/?q=mciykc
390デフォルトの名無しさん
2017/07/21(金) 15:21:18.13ID:7e+pM3K/ >>296
http://ideone.com/mXPglY
C++。試しに再起化してみたら処理速度倍になった。
自分の環境では3分ちょいで解ける。
相変わらずメモリ馬鹿食いするけど。
もう俺には無理。
俺の中では終了でーす。Orz
http://ideone.com/mXPglY
C++。試しに再起化してみたら処理速度倍になった。
自分の環境では3分ちょいで解ける。
相変わらずメモリ馬鹿食いするけど。
もう俺には無理。
俺の中では終了でーす。Orz
391デフォルトの名無しさん
2017/07/22(土) 08:54:36.28ID:OQXA8cUK392デフォルトの名無しさん
2017/07/22(土) 08:55:28.19ID:OQXA8cUK このスレが無くならないうちに解明します
393デフォルトの名無しさん
2017/07/22(土) 10:43:30.03ID:apsnR2Z0394デフォルトの名無しさん
2017/07/23(日) 11:26:56.94ID:ipiEUPYV >>375
のほかの実装はでてこないねぇ‥
のほかの実装はでてこないねぇ‥
395デフォルトの名無しさん
2017/07/23(日) 12:53:55.68ID:7fREas1L >>394
使えるコードにするためには、規模がでかくなりすぎるから
使えるコードにするためには、規模がでかくなりすぎるから
396デフォルトの名無しさん
2017/07/23(日) 14:15:20.13ID:ipiEUPYV C/C++ で最長1000行ぐらいとみて、2日ぐらいあれば、とりあえず動く
土日で仕上がってくるんじゃないかと期待してたんだが
土日で仕上がってくるんじゃないかと期待してたんだが
397デフォルトの名無しさん
2017/07/23(日) 14:18:11.58ID:7fREas1L 速度が考えられてないコードなんて実用にはならないよ
398デフォルトの名無しさん
2017/07/23(日) 14:21:31.79ID:7fREas1L ていうか、
コードに対する条件とか
サポートする機能とか
条件が無さすぎる
コードに対する条件とか
サポートする機能とか
条件が無さすぎる
399デフォルトの名無しさん
2017/07/23(日) 14:24:57.75ID:ipiEUPYV 速度‥か‥
どうしてもローテートとかキャリーフラグとかを使いたいから、これはアセンブラの領域になるね
よくみかけるアセンブラ中毒者が今頃爪を研いでいるのだろうか?
どうしてもローテートとかキャリーフラグとかを使いたいから、これはアセンブラの領域になるね
よくみかけるアセンブラ中毒者が今頃爪を研いでいるのだろうか?
400デフォルトの名無しさん
2017/07/23(日) 14:25:42.29ID:ipiEUPYV >>398
そこは「自分用」だから自由に決めていいんでないかい?
そこは「自分用」だから自由に決めていいんでないかい?
401デフォルトの名無しさん
2017/07/23(日) 14:49:34.77ID:TcY6qE9r402デフォルトの名無しさん
2017/07/23(日) 14:53:19.94ID:ipiEUPYV >>401
お題が違うのでは?
お題が違うのでは?
403デフォルトの名無しさん
2017/07/23(日) 15:05:28.62ID:TcY6qE9r >>402 >>394
確かに違った、すいません。
c++多倍長なら、karatsubaにも対応して300行くらいの以下をパクって使うのも一案
http://sites.google.com/site/indy256/algo_cpp/bigint
確かに違った、すいません。
c++多倍長なら、karatsubaにも対応して300行くらいの以下をパクって使うのも一案
http://sites.google.com/site/indy256/algo_cpp/bigint
404デフォルトの名無しさん
2017/07/23(日) 15:09:21.91ID:ipiEUPYV >>403
base 10進ならば、表示(operator<<) が楽でいいね、なるほど、それは思いつかなかった
base 10進ならば、表示(operator<<) が楽でいいね、なるほど、それは思いつかなかった
405デフォルトの名無しさん
2017/07/23(日) 16:51:44.88ID:7fREas1L406デフォルトの名無しさん
2017/07/23(日) 16:52:43.21ID:7fREas1L FFTのライブラリをどこからか持ってくるのでもいいけど、
それなら素直に多倍長ライブラリを持ってくれば
ってことになる
それなら素直に多倍長ライブラリを持ってくれば
ってことになる
407デフォルトの名無しさん
2017/07/23(日) 16:54:07.19ID:7fREas1L 今は浮動小数点演算が速いので、
カラツバの出番はあまりない
カラツバの出番はあまりない
408デフォルトの名無しさん
2017/07/23(日) 18:50:17.74ID:5CSy1R8t 基数を10のべき乗にするとか(printf()的なものが簡単だから)、乗算はunsigned shortやintとの
乗算に限るとか、除算無しとかいうのは…
プログラムの本体に組み込まれてしまって、再利用可能なライブラリの形で括りだされてる事の
方が少ないかw
乗算に限るとか、除算無しとかいうのは…
プログラムの本体に組み込まれてしまって、再利用可能なライブラリの形で括りだされてる事の
方が少ないかw
409デフォルトの名無しさん
2017/07/24(月) 00:48:44.80ID:XgJeE+LA >>6-285 SageMath
ttp://sagecell.sagemath.org/?q=veftjc
ttp://sagecell.sagemath.org/?q=veftjc
410デフォルトの名無しさん
2017/07/24(月) 18:24:00.06ID:UuUAOyUA >>408
裁定ラインとしては、乗算は Bigint×Bigint、および除算の実装ですかね、でも足し算の回数での乗算や引き算の回数での除算は嫌ですね
裁定ラインとしては、乗算は Bigint×Bigint、および除算の実装ですかね、でも足し算の回数での乗算や引き算の回数での除算は嫌ですね
411デフォルトの名無しさん
2017/07/24(月) 18:58:12.05ID:5ve8i6tz412デフォルトの名無しさん
2017/07/24(月) 19:10:35.21ID:nJVItCRy >>411 Ruby
def farey_sequence(n)
(1..n-1).map{|i| 1r*i/n}
end
def ans_411(m)
(2..m).map{|i| farey_sequence(i)}.flatten.uniq.sort
end
ans_411 3 #=> [(1/3), (1/2), (2/3)]
ans_411 5 #=> [(1/5), (1/4), (1/3), (2/5), (1/2), (3/5), (2/3), (3/4), (4/5)]
def farey_sequence(n)
(1..n-1).map{|i| 1r*i/n}
end
def ans_411(m)
(2..m).map{|i| farey_sequence(i)}.flatten.uniq.sort
end
ans_411 3 #=> [(1/3), (1/2), (2/3)]
ans_411 5 #=> [(1/5), (1/4), (1/3), (2/5), (1/2), (3/5), (2/3), (3/4), (4/5)]
413デフォルトの名無しさん
2017/07/24(月) 19:11:05.16ID:7nQ6Z7f9 >>296
超高速版が出来ました!
http://ideone.com/FrRkof
一皿9秒が上限であれば、計算オーダーはn
関数自体は何秒でも大丈夫です
コードだけじゃ意味がわからないでしょうけど、とりあえずコードだけ
あまりテストしてないので、バグってたらごめんなさい
超高速版が出来ました!
http://ideone.com/FrRkof
一皿9秒が上限であれば、計算オーダーはn
関数自体は何秒でも大丈夫です
コードだけじゃ意味がわからないでしょうけど、とりあえずコードだけ
あまりテストしてないので、バグってたらごめんなさい
414デフォルトの名無しさん
2017/07/24(月) 23:00:47.69ID:fjGi9Yh0 オーダーnは凄いな
415デフォルトの名無しさん
2017/07/25(火) 05:40:32.49ID:ubbfnjuS416デフォルトの名無しさん
2017/07/25(火) 11:52:16.57ID:bLUUDw7G 回転寿しの問題は、部分的な最短経路が全体の最短経路にならないんだよな
だが最短時間はレーン長の2倍程度の再帰回数で出る
そのあと数十億回再帰して総当たりしてもそれより短くならない
最後の皿から逆方向に探索してもおそらく同じ状況
だが最短時間はレーン長の2倍程度の再帰回数で出る
そのあと数十億回再帰して総当たりしてもそれより短くならない
最後の皿から逆方向に探索してもおそらく同じ状況
417デフォルトの名無しさん
2017/07/25(火) 11:56:47.84ID:bLUUDw7G 例えば、”122” は最短時間6だが、1周目で2番目の要素”2”をパスしないとそうならない
418411
2017/07/26(水) 19:54:35.63ID:6H34MdHA419デフォルトの名無しさん
2017/07/26(水) 20:50:49.45ID:s8dUUqTb420デフォルトの名無しさん
2017/07/26(水) 20:52:34.29ID:s8dUUqTb と思ったら見れました
ファレイ数列を使って何かを解くわけじゃなくて、
ファレイ数列を求める問題?
ファレイ数列を使って何かを解くわけじゃなくて、
ファレイ数列を求める問題?
421411
2017/07/26(水) 23:20:07.89ID:6H34MdHA422デフォルトの名無しさん
2017/07/26(水) 23:26:01.52ID:lPM9zwS7 #include <list>
#include <iostream>
const int N_MAX = 10;
struct RATIONAL {
int num;
int den;
};
int main() {
std::list < RATIONAL > farey;
RATIONAL zero = {0, 1};
RATIONAL one = {1, 1};
farey.push_back(zero);
farey.push_back(one);
for (int n = 1; n <= N_MAX; n++){
for (std::list < RATIONAL > ::iterator i1 = farey.begin(), i0 = i1++; i1 != farey.end(); i0 = i1, i1++) {
if (i0->den + i1->den <= n) {
RATIONAL m = {i0->num + i1->num, i0->den + i1->den};
farey.insert(i1, m);
}
}
std::cout << n << " : ";
for (std::list < RATIONAL > ::iterator i = farey.begin(); i != farey.end(); i++) {
std::cout << i->num << "/" << i->den << " ";
}
std::cout << "\n";
}
return 0;
}
#include <iostream>
const int N_MAX = 10;
struct RATIONAL {
int num;
int den;
};
int main() {
std::list < RATIONAL > farey;
RATIONAL zero = {0, 1};
RATIONAL one = {1, 1};
farey.push_back(zero);
farey.push_back(one);
for (int n = 1; n <= N_MAX; n++){
for (std::list < RATIONAL > ::iterator i1 = farey.begin(), i0 = i1++; i1 != farey.end(); i0 = i1, i1++) {
if (i0->den + i1->den <= n) {
RATIONAL m = {i0->num + i1->num, i0->den + i1->den};
farey.insert(i1, m);
}
}
std::cout << n << " : ";
for (std::list < RATIONAL > ::iterator i = farey.begin(); i != farey.end(); i++) {
std::cout << i->num << "/" << i->den << " ";
}
std::cout << "\n";
}
return 0;
}
423デフォルトの名無しさん
2017/07/26(水) 23:29:22.49ID:lPM9zwS7 これから0と1を除けば良いって問題であれば、
表示のループに以下を加えれば
if (i->den != 1)
表示のループに以下を加えれば
if (i->den != 1)
424デフォルトの名無しさん
2017/07/26(水) 23:31:57.11ID:lPM9zwS7425412
2017/07/27(木) 00:12:38.86ID:qteH6K3e そもそも>>412のfarey_sequenceは定義が間違ってたわ
んでもって再帰にすると>>412より遅くなるという
Ruby
class Farey
def self.[](m)
if m == 1
[0r, 1r]
else
succ(m - 1)
end
end
def self.succ(m)
self[m].each_cons(2).inject([0r]){|s, (a, b)|
x = a.denominator + b.denominator
s << 1r*(a.numerator + b.numerator)/x if x == m + 1
s << b
}
end
end
Farey[3] # => [(0/1), (1/3), (1/2), (2/3), (1/1)]
Farey[5] # => [(0/1), (1/5), (1/4), (1/3), (2/5), (1/2), (3/5), (2/3), (3/4), (4/5), (1/1)]
んでもって再帰にすると>>412より遅くなるという
Ruby
class Farey
def self.[](m)
if m == 1
[0r, 1r]
else
succ(m - 1)
end
end
def self.succ(m)
self[m].each_cons(2).inject([0r]){|s, (a, b)|
x = a.denominator + b.denominator
s << 1r*(a.numerator + b.numerator)/x if x == m + 1
s << b
}
end
end
Farey[3] # => [(0/1), (1/3), (1/2), (2/3), (1/1)]
Farey[5] # => [(0/1), (1/5), (1/4), (1/3), (2/5), (1/2), (3/5), (2/3), (3/4), (4/5), (1/1)]
426デフォルトの名無しさん
2017/07/27(木) 01:59:46.61ID:GuEy9AL1427デフォルトの名無しさん
2017/07/28(金) 18:51:16.80ID:XBSdfIgC >>375
のほかの実装はでてこないねぇ‥
のほかの実装はでてこないねぇ‥
428デフォルトの名無しさん
2017/07/28(金) 19:19:26.77ID:mqZJq6H+ 昔brainf**kで実装したのあるけどちょっとなぁ
429デフォルトの名無しさん
2017/07/28(金) 19:24:55.65ID:WViVOgsq また懐かしい言語を
430デフォルトの名無しさん
2017/07/28(金) 19:26:36.86ID:WViVOgsq どうせならチューリングマシンで作ってよ
431デフォルトの名無しさん
2017/07/30(日) 10:59:37.37ID:A7gIx2b1 お題:MathematicaのFareySequence[n,k](引数2つ)に相当するものの実装
ttp://reference.wolfram.com/language/ref/FareySequence.html
ttp://reference.wolfram.com/language/ref/FareySequence.html
432デフォルトの名無しさん
2017/07/30(日) 11:53:03.31ID:EQKnHSgY433デフォルトの名無しさん
2017/07/30(日) 12:00:36.94ID:EQKnHSgY っていうか、この関数インデックスに0与えたら何が出力されるんだろう・・・。
早速バグってる気がする。
早速バグってる気がする。
434デフォルトの名無しさん
2017/07/30(日) 12:15:40.85ID:EQKnHSgY435デフォルトの名無しさん
2017/07/30(日) 12:25:59.30ID:B3p9Yl5S >>422の微妙な変更でいいよね
436デフォルトの名無しさん
2017/07/30(日) 12:26:41.34ID:B3p9Yl5S 1個だけ求めるなら、もっといい方法がある?
437デフォルトの名無しさん
2017/07/30(日) 12:27:22.69ID:B3p9Yl5S ていうか、いい加減Fareyはもういいでしょ
他の課題の方が
他の課題の方が
438デフォルトの名無しさん
2017/07/30(日) 12:30:15.15ID:EQKnHSgY フィボナッチって素数何だっけ?
439デフォルトの名無しさん
2017/07/30(日) 12:44:33.08ID:B3p9Yl5S 1, 1, 2, 3, 5, 8, ...
違うよね
違うよね
440デフォルトの名無しさん
2017/07/30(日) 12:47:15.18ID:EQKnHSgY だよねー。>>422ってフィボナッチ使ってない?
あんまり深く考えてないだけど。Orz
あんまり深く考えてないだけど。Orz
441デフォルトの名無しさん
2017/07/30(日) 12:47:30.85ID:B3p9Yl5S じゃあ、任意の二個の数からはじまるフィボナッチ数列で、はじめから連続する素数の数が多い物を探す
って課題で
って課題で
442デフォルトの名無しさん
2017/07/30(日) 12:48:36.68ID:B3p9Yl5S443デフォルトの名無しさん
2017/07/30(日) 12:49:05.29ID:EQKnHSgY444デフォルトの名無しさん
2017/07/30(日) 12:53:04.00ID:EQKnHSgY まぁ、俺のもあってるかどうかはしらんけど。><;
445デフォルトの名無しさん
2017/07/30(日) 12:56:43.60ID:EQKnHSgY 頭悪くてゴメン。爆発しそう。。。
446デフォルトの名無しさん
2017/07/30(日) 13:01:05.96ID:EQKnHSgY 引っ込む。すまんかった。
447デフォルトの名無しさん
2017/07/30(日) 14:17:22.65ID:t+CfDp82448デフォルトの名無しさん
2017/07/30(日) 19:16:10.29ID:LizATlBz >>431 Ruby
def farey(n, k)
return [0r, 1r][k] if n == 1
farey(n - 1, 0..-1).each_cons(2).inject([0r]){|s, (a, b)|
x = a.denominator + b.denominator
s << 1r*(a.numerator + b.numerator)/x if x == n
s << b
}[k]
end
def farey(n, k)
return [0r, 1r][k] if n == 1
farey(n - 1, 0..-1).each_cons(2).inject([0r]){|s, (a, b)|
x = a.denominator + b.denominator
s << 1r*(a.numerator + b.numerator)/x if x == n
s << b
}[k]
end
449デフォルトの名無しさん
2017/08/03(木) 07:36:01.80ID:cLWzUq7C お題:ミンコフスキーの疑問符関数の実装
ttps://en.wikipedia.org/wiki/Minkowski%27s_question_mark_function
ttp://reference.wolfram.com/language/ref/MinkowskiQuestionMark.html
ttps://en.wikipedia.org/wiki/Minkowski%27s_question_mark_function
ttp://reference.wolfram.com/language/ref/MinkowskiQuestionMark.html
450デフォルトの名無しさん
2017/08/03(木) 10:39:36.15ID:ONmyLPuf WIKIぺにコード乗ってますが。
451デフォルトの名無しさん
2017/08/03(木) 10:48:34.50ID:ONmyLPuf >>449のWIKIより。
/* Minkowski's question mark function */
double minkowski(double x) {
long p=x; if ((double)p>x) --p; /* p=floor(x) */
long q=1, r=p+1, s=1, m, n;
double d=1, y=p;
if (x<(double)p||(p<0)^(r<=0)) return x; /* out of range ?(x) =~ x */
for (;;) /* invariants: q*r-p*s==1 && (double)p/q <= x && x < (double)r/s */
{
d/=2; if (y+d==y) break; /* reached max possible precision */
m=p+r; if ((m<0)^(p<0)) break; /* sum overflowed */
n=q+s; if (n<0) break; /* sum overflowed */
if (x<(double)m/n) r=m, s=n;
else y+=d, p=m, q=n;
}
return y+d; /* final round-off */
}
/* Minkowski's question mark function */
double minkowski(double x) {
long p=x; if ((double)p>x) --p; /* p=floor(x) */
long q=1, r=p+1, s=1, m, n;
double d=1, y=p;
if (x<(double)p||(p<0)^(r<=0)) return x; /* out of range ?(x) =~ x */
for (;;) /* invariants: q*r-p*s==1 && (double)p/q <= x && x < (double)r/s */
{
d/=2; if (y+d==y) break; /* reached max possible precision */
m=p+r; if ((m<0)^(p<0)) break; /* sum overflowed */
n=q+s; if (n<0) break; /* sum overflowed */
if (x<(double)m/n) r=m, s=n;
else y+=d, p=m, q=n;
}
return y+d; /* final round-off */
}
452デフォルトの名無しさん
2017/08/05(土) 17:44:11.83ID:40G0sflG >>375
のほかの実装はでてこないねぇ‥
のほかの実装はでてこないねぇ‥
453デフォルトの名無しさん
2017/08/12(土) 18:46:00.57ID:953va2dM 寿司のオーダーNのやつを理解しようとしたけどまだやってない。
その仕組みと、ほんとに正解してるのかとか。いたら誰が解説して。
その仕組みと、ほんとに正解してるのかとか。いたら誰が解説して。
454デフォルトの名無しさん
2017/08/12(土) 19:04:22.18ID:Bi4KH0eW455デフォルトの名無しさん
2017/08/12(土) 19:07:04.34ID:4r/z/Qd5 会社に帰ってこない巡回セールスマンだよね
寿司の乗った皿がノード、計算量はO(n!)
寿司の乗った皿がノード、計算量はO(n!)
456デフォルトの名無しさん
2017/08/12(土) 19:10:18.10ID:Bi4KH0eW それぞれの寿司を食べている期間をレーン上の線分で表します
この線の重なり具合をpileで表しました
効率良く食べられた場合はレーンがpile_max周するまでの間に食べきることが出来ます
170行目の判定がそれで、trueの場合は効率良く食べられない場合です
この線の重なり具合をpileで表しました
効率良く食べられた場合はレーンがpile_max周するまでの間に食べきることが出来ます
170行目の判定がそれで、trueの場合は効率良く食べられない場合です
457デフォルトの名無しさん
2017/08/12(土) 19:12:06.32ID:4r/z/Qd5 >>456
もしそれで最適解が得られるなら巡回セールスマンも可能じゃないかな?
もしそれで最適解が得られるなら巡回セールスマンも可能じゃないかな?
458デフォルトの名無しさん
2017/08/12(土) 19:17:11.73ID:6XNTCj+p 巡回セールスマン問題とけたら色々応用範囲アルヨ。
マジでどっかに売り込んでもいいくらい。
天才か。
マジでどっかに売り込んでもいいくらい。
天才か。
459デフォルトの名無しさん
2017/08/12(土) 19:18:34.85ID:6XNTCj+p 社会的に言うと交通統制とかもそれじゃないかな?
信号の待ち時間問題。よくしらんけど。
信号の待ち時間問題。よくしらんけど。
460デフォルトの名無しさん
2017/08/12(土) 19:19:17.76ID:Bi4KH0eW 効率良く食べられない方が簡単なのでその場合から
お寿司を以下のグループに分けます
----
各グループのお寿司は、レーンの特定の位置から食べ始めた場合、pile[グループ]周以内で食べ終わることが出来る
このとき、pile_max = Σ pile[グループ]
となる
---
このようなグループの分け方の最小の物が存在します
お寿司を以下のグループに分けます
----
各グループのお寿司は、レーンの特定の位置から食べ始めた場合、pile[グループ]周以内で食べ終わることが出来る
このとき、pile_max = Σ pile[グループ]
となる
---
このようなグループの分け方の最小の物が存在します
461デフォルトの名無しさん
2017/08/12(土) 19:22:56.16ID:Bi4KH0eW 同じグループのお寿司は連続して食べます
開始時と、各グループのお寿司を食べ終わった後、最初に来るお寿司から食べはじめ、pile[グループ]以内で食べられる食べ方でそのグループを食べ終える
ということを繰り返せば最小の時間で食べ終えることが出来ます
開始時と、各グループのお寿司を食べ終わった後、最初に来るお寿司から食べはじめ、pile[グループ]以内で食べられる食べ方でそのグループを食べ終える
ということを繰り返せば最小の時間で食べ終えることが出来ます
462デフォルトの名無しさん
2017/08/12(土) 19:26:29.79ID:Bi4KH0eW グループ分けした時に1個のグループになった場合は、
効率良く食べられることになります
つまり、pile_max周以下で食べ終えることが出来ます
この時は、コード上にあるダミーのお寿司を追加してから最小時間を求め、ダミーのお寿司を食べてる時間を引けば求められます
効率良く食べられることになります
つまり、pile_max周以下で食べ終えることが出来ます
この時は、コード上にあるダミーのお寿司を追加してから最小時間を求め、ダミーのお寿司を食べてる時間を引けば求められます
463デフォルトの名無しさん
2017/08/12(土) 19:28:18.79ID:4r/z/Qd5 うーん、よくわからん
セールスマンの巡回先を一次元にマッピングできれば同じことできそうな
無理か
セールスマンの巡回先を一次元にマッピングできれば同じことできそうな
無理か
464デフォルトの名無しさん
2017/08/12(土) 19:30:27.01ID:Bi4KH0eW グループの分け方は少し難しいです
レーンの各整数位置に対して、
お寿司の線の両端にあたる点同士
線の重なりがpile_max未満である区間の点(両端を含む)
を同じグループの点とし、
これらを続けることで最小のグループ分けが出来ます
線の両端の点のグループが、そのお寿司のグループになります
レーンの各整数位置に対して、
お寿司の線の両端にあたる点同士
線の重なりがpile_max未満である区間の点(両端を含む)
を同じグループの点とし、
これらを続けることで最小のグループ分けが出来ます
線の両端の点のグループが、そのお寿司のグループになります
465デフォルトの名無しさん
2017/08/12(土) 19:31:42.19ID:Bi4KH0eW それぞれ、証明は出来ているつもりです
466デフォルトの名無しさん
2017/08/12(土) 19:32:49.51ID:Bi4KH0eW もちろん、一般の巡回問題はこの方法では無理です
467デフォルトの名無しさん
2017/08/12(土) 19:37:29.23ID:4r/z/Qd5 全ノードを巡回する最短時間の問題だから、できそうな気がするけどね
468デフォルトの名無しさん
2017/08/12(土) 19:39:44.61ID:2Yw2XYfL 372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ
それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト
473非決定性名無しさん2017/08/03(木) 15:21:30.71
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。
446非決定性名無しさん2017/08/02(水) 22:12:48.95
JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした
自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ
それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト
473非決定性名無しさん2017/08/03(木) 15:21:30.71
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。
446非決定性名無しさん2017/08/02(水) 22:12:48.95
JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした
自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
469デフォルトの名無しさん
2017/08/12(土) 19:40:20.63ID:Bi4KH0eW pile_maxとその位置から下限が得られますが、
>>296 の例では98秒の物以外はすべてその下限になっています
一個その下限になるような例を見つければ答えがわかるのですが、
自力で検索してみればわかると思いますがそのような例はあっさり見つかります
98秒の例は効率良く食べられない場合になります
効率良く食べられる側のなかでも、pileから得られる下限値より大きくなる場合もあります
>>296 の例では98秒の物以外はすべてその下限になっています
一個その下限になるような例を見つければ答えがわかるのですが、
自力で検索してみればわかると思いますがそのような例はあっさり見つかります
98秒の例は効率良く食べられない場合になります
効率良く食べられる側のなかでも、pileから得られる下限値より大きくなる場合もあります
470デフォルトの名無しさん
2017/08/12(土) 19:43:06.99ID:Bi4KH0eW いずれの場合も、PCを使わなくても手計算で十分可能です
471デフォルトの名無しさん
2017/09/15(金) 10:14:33.05ID:lRMsxOf0 お題:
N次元で1辺のマス目がM個の魔法陣を作る
N>3(任意)、M>=3(任意)の超立方体
N次元で1辺のマス目がM個の魔法陣を作る
N>3(任意)、M>=3(任意)の超立方体
472デフォルトの名無しさん
2017/09/15(金) 10:20:33.77ID:lRMsxOf0473デフォルトの名無しさん
2017/09/17(日) 16:38:38.03ID:DSKC3zx4 魔方陣は1個作ればいいの?
Mが奇数か4の倍数は簡単
4で割って2余るのは検索するしかないのかな?
Mが奇数か4の倍数は簡単
4で割って2余るのは検索するしかないのかな?
474デフォルトの名無しさん
2017/09/17(日) 16:55:04.37ID:fthJj6jv バックトラックで組もうかと思ったけど、重そうだったからやめた。
数独より重そう。
それに一列合計をどの数字にするのかちょっとわからなかった。
数独より重そう。
それに一列合計をどの数字にするのかちょっとわからなかった。
475デフォルトの名無しさん
2017/09/17(日) 23:20:36.13ID:DSKC3zx4 一列合計は、M*[数字の平均]
になる
つまり
M*(M^N+1)/2
になる
つまり
M*(M^N+1)/2
476片山博文MZ ◆T6xkBnTXz7B0
2017/09/18(月) 21:53:54.06ID:iMidYxoH お題: URLから適当なサムネイルを生成するWebプログラム。
477デフォルトの名無しさん
2017/09/18(月) 23:06:01.10ID:FC5+Wne9 お題
0以上90未満の整数nを入力として
タンジェントn°の値が有理数ならば真
そうでなければ偽を返す
0以上90未満の整数nを入力として
タンジェントn°の値が有理数ならば真
そうでなければ偽を返す
478デフォルトの名無しさん
2017/09/18(月) 23:29:46.49ID:45aelXxs bool f(int n){return n==0 || n == 45;}
479デフォルトの名無しさん
2017/09/18(月) 23:33:52.62ID:ILsR+BHw sed -r -e "s/^(0|45)\$/True/" -e "s/[1-8][0-9]*/False/"
480デフォルトの名無しさん
2017/09/19(火) 01:13:30.78ID:zMNLdsjY tanの計算しないのはどうかと
481デフォルトの名無しさん
2017/09/19(火) 01:57:23.24ID:Ten4kOds 計算で有理数かどうか確認?
それは非常に難しいな
by 東大数学科卒
それは非常に難しいな
by 東大数学科卒
482デフォルトの名無しさん
2017/09/19(火) 02:28:36.10ID:SyuGyzWY >>480
そう思うなら他者を批判するより行動で示せばいいと思うよ
そう思うなら他者を批判するより行動で示せばいいと思うよ
483デフォルトの名無しさん
2017/09/19(火) 03:58:59.82ID:KVkpgN/c tan1°が無理数であることの証明すら面倒くせえのに一体どんな回答を求めているんだ
484デフォルトの名無しさん
2017/09/19(火) 06:37:25.45ID:Ten4kOds485デフォルトの名無しさん
2017/09/19(火) 07:41:26.64ID:KVkpgN/c486デフォルトの名無しさん
2017/09/19(火) 08:13:59.26ID:Ten4kOds487デフォルトの名無しさん
2017/09/19(火) 08:21:42.19ID:KVkpgN/c 何言ってんだこいつ
488デフォルトの名無しさん
2017/09/19(火) 08:49:35.38ID:q1kL6yRz 問題が悪いな
与えられた有理数rに対し、
tan(πr)が有理数かどうか判別するプログラムを書け
ならテーブルは使えない
与えられた有理数rに対し、
tan(πr)が有理数かどうか判別するプログラムを書け
ならテーブルは使えない
489デフォルトの名無しさん
2017/09/19(火) 09:06:24.19ID:emxMAzY1 また、多倍長精度演算のないC++にはきつい問題を・・・。
490デフォルトの名無しさん
2017/09/19(火) 11:09:01.37ID:q1kL6yRz491デフォルトの名無しさん
2017/09/19(火) 11:10:19.22ID:q1kL6yRz >>489
多倍長を使っても解決しないでしょ
多倍長を使っても解決しないでしょ
492デフォルトの名無しさん
2017/09/19(火) 12:53:02.28ID:RSOddfRB そもそも出題者はどういう回答を期待してるんだ?
数学の知識無しでは作れないし、数学の知識を使えば>>478になる
数学の知識無しでは作れないし、数学の知識を使えば>>478になる
493デフォルトの名無しさん
2017/09/19(火) 14:38:36.12ID:LvSRuVZD tan()の加法定理
tan(α+β)=(tanα+tanβ)/(1-tanαtanβ)
により
もしtan(α)が有理数なら
tan(nα) (n = 1,2,3,4・・・)
も全て有理数
このため
整数nにより
tan(n)が無理数なら
nの約数全てによるtan()が無理数
ここで
tan(60)=√3
が無理数なのは簡単に証明されるため、
tan(1)
も無理数
証明終わり
tan(α+β)=(tanα+tanβ)/(1-tanαtanβ)
により
もしtan(α)が有理数なら
tan(nα) (n = 1,2,3,4・・・)
も全て有理数
このため
整数nにより
tan(n)が無理数なら
nの約数全てによるtan()が無理数
ここで
tan(60)=√3
が無理数なのは簡単に証明されるため、
tan(1)
も無理数
証明終わり
494デフォルトの名無しさん
2017/09/19(火) 14:54:56.80ID:RSOddfRB >>476を解くにはあとtan(18度)が無理数であることを証明しないと
495デフォルトの名無しさん
2017/09/19(火) 14:55:28.25ID:RSOddfRB496デフォルトの名無しさん
2017/09/19(火) 16:11:41.85ID:HSXd4/vW >>493
なるほど面白いねw
なるほど面白いねw
497デフォルトの名無しさん
2017/09/19(火) 19:41:00.46ID:Ten4kOds498デフォルトの名無しさん
2017/09/19(火) 20:13:34.35ID:KVkpgN/c tan1(rad)が超越数であることを証明せよ
499デフォルトの名無しさん
2017/09/19(火) 22:25:08.25ID:FbLYus+p500デフォルトの名無しさん
2017/09/19(火) 22:57:34.84ID:Ten4kOds xが有理数、tan(πx)が有理数 ====> xは1/4の倍数
って覚えてるだけかと
って覚えてるだけかと
501デフォルトの名無しさん
2017/09/20(水) 14:48:00.57ID:jgmli1ek >>493
は加法定理で(1-tanαtanβ)が0になってはまずいので
0度以上90未満の範囲内に限定しないといけないな。
tan()の加法定理
tan(α+β)=(tanα+tanβ)/(1-tanαtanβ)
により
もしtan(α)が有理数で、かつ 0 <= nα < 90なら
tan(nα) (n = 1,2,3,4・・・)
も全て有理数
このため
整数 n ( 0 <= n < 90 ) により
tan(n)が無理数なら
nの約数全てによるtan()が無理数
ここで
tan(60)=√3
が無理数なのは簡単に証明されるため、
tan(1)
も無理数
は加法定理で(1-tanαtanβ)が0になってはまずいので
0度以上90未満の範囲内に限定しないといけないな。
tan()の加法定理
tan(α+β)=(tanα+tanβ)/(1-tanαtanβ)
により
もしtan(α)が有理数で、かつ 0 <= nα < 90なら
tan(nα) (n = 1,2,3,4・・・)
も全て有理数
このため
整数 n ( 0 <= n < 90 ) により
tan(n)が無理数なら
nの約数全てによるtan()が無理数
ここで
tan(60)=√3
が無理数なのは簡単に証明されるため、
tan(1)
も無理数
502デフォルトの名無しさん
2017/09/20(水) 14:51:06.46ID:jgmli1ek503デフォルトの名無しさん
2017/09/20(水) 14:51:42.84ID:jgmli1ek 60の約数 はtan(n)無理数
1,2,3,4,5,6,10,12,15,20,30
これの45-n もtan(n)無理数
44,43,42,41,40,39,35,33,25,15
この約数で、まだ含まれていないもの
11,22,21,8,13,7
45-nにより
34,23,24,37,32,38
この約数で、まだ含まれていないもの
17,16,19
45-nにより
28,29,26
この約数で、まだ含まれていないもの
14
45-nにより
31
ここまでの数を並べると
01,02,03,04,05,06,07,08,**,10,
11,12,13,14,15,16,17,**,19,20,
21,22,23,24,25,26,**,28,29,30,
31,32,33,34,35,**,37,38,39,40,
41,42,43,44
9度の倍数の証明のみが残された
1,2,3,4,5,6,10,12,15,20,30
これの45-n もtan(n)無理数
44,43,42,41,40,39,35,33,25,15
この約数で、まだ含まれていないもの
11,22,21,8,13,7
45-nにより
34,23,24,37,32,38
この約数で、まだ含まれていないもの
17,16,19
45-nにより
28,29,26
この約数で、まだ含まれていないもの
14
45-nにより
31
ここまでの数を並べると
01,02,03,04,05,06,07,08,**,10,
11,12,13,14,15,16,17,**,19,20,
21,22,23,24,25,26,**,28,29,30,
31,32,33,34,35,**,37,38,39,40,
41,42,43,44
9度の倍数の証明のみが残された
504デフォルトの名無しさん
2017/09/20(水) 16:48:28.32ID:UU/UGcdT だから>>494と書いたんだけど
505デフォルトの名無しさん
2017/09/20(水) 21:20:48.49ID:8kWE0pQL tan(1 rad)が超越数であることは誰も証明できないの
506デフォルトの名無しさん
2017/09/20(水) 21:27:13.08ID:UU/UGcdT プログラムに証明させる問題?
507デフォルトの名無しさん
2017/09/20(水) 22:23:37.78ID:vEoThqNS なぜラジアン?
話の流れ的にはtan(1度)だろ
話の流れ的にはtan(1度)だろ
508デフォルトの名無しさん
2017/09/20(水) 22:25:37.42ID:vEoThqNS と思ったけど、簡単すぎた
509デフォルトの名無しさん
2017/09/21(木) 16:21:06.33ID:na02B6ss [1] 授業単元名:FizzBuzzクイズ
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS: (Windows/Linux/等々)特に問わない
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)特に問わない
[3.3] 言語: (C/C++/どちらでも可 のいずれか)特に問わない
http://kohada.2ch.net/test/read.cgi/prog/1209467166/401
FizzBuzzクイズ
1.fizz.buzz #=> 1
3.fizz.buzz #=> "Fizz"
5.fizz.buzz #=> "Buzz"
15.fizz.buzz #=> "FizzBuzz"
999.fizz.buzz #=> 999
となるようなメソッドfizz、buzzは定義可能か?
可能である場合、同様にgizzを追加定義し、
7.fizz.buzz.gizz #=> "Gizz"
21.fizz.buzz.gizz #=> "FizzGizz"
35.fizz.buzz.gizz #=> "BuzzGizz"
105.fizz.buzz.gizz #=> "FizzBuzzGizz"
105.fizz.gizz.buzz #=> "FizzGizzBuzz" と拡張・応用ができるか?
メソッドのコールに()が必須の言語では 3.fizz().buzz() 形式でも構わない。
オープンクラス機構やメソッドのない言語では関数(buzz(fizz(3)) #=> "Fizz" など)で。
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS: (Windows/Linux/等々)特に問わない
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)特に問わない
[3.3] 言語: (C/C++/どちらでも可 のいずれか)特に問わない
http://kohada.2ch.net/test/read.cgi/prog/1209467166/401
FizzBuzzクイズ
1.fizz.buzz #=> 1
3.fizz.buzz #=> "Fizz"
5.fizz.buzz #=> "Buzz"
15.fizz.buzz #=> "FizzBuzz"
999.fizz.buzz #=> 999
となるようなメソッドfizz、buzzは定義可能か?
可能である場合、同様にgizzを追加定義し、
7.fizz.buzz.gizz #=> "Gizz"
21.fizz.buzz.gizz #=> "FizzGizz"
35.fizz.buzz.gizz #=> "BuzzGizz"
105.fizz.buzz.gizz #=> "FizzBuzzGizz"
105.fizz.gizz.buzz #=> "FizzGizzBuzz" と拡張・応用ができるか?
メソッドのコールに()が必須の言語では 3.fizz().buzz() 形式でも構わない。
オープンクラス機構やメソッドのない言語では関数(buzz(fizz(3)) #=> "Fizz" など)で。
510デフォルトの名無しさん
2017/09/21(木) 19:58:51.31ID:+ykHPOb/ まともに仕様を書けない出題者
511デフォルトの名無しさん
2017/09/22(金) 07:02:49.79ID:aD9oWCn2 これ普通の発想では無理
512デフォルトの名無しさん
2017/09/22(金) 07:14:29.33ID:eEMHecr4513デフォルトの名無しさん
2017/09/22(金) 07:55:33.84ID:FtjqsiSd514デフォルトの名無しさん
2017/09/22(金) 08:00:39.43ID:pX6TouLp 仕様が謎
515デフォルトの名無しさん
2017/09/22(金) 08:13:32.67ID:FtjqsiSd516デフォルトの名無しさん
2017/09/22(金) 09:43:07.90ID:eeRMTLx0 外部出力を伴う関数(あるいはメソッド)なら簡単
たぶん関数(あるいはメソッド)の返値がそうなるようにって意味かと
(じゃないと普通に書けてクイズにならない)
たしか数理学的にはこういう関数は書けないことになっていたはず
たぶん関数(あるいはメソッド)の返値がそうなるようにって意味かと
(じゃないと普通に書けてクイズにならない)
たしか数理学的にはこういう関数は書けないことになっていたはず
517デフォルトの名無しさん
2017/09/22(金) 12:43:18.77ID:qmG6L9xB518デフォルトの名無しさん
2017/09/22(金) 12:43:56.86ID:qmG6L9xB 別に戻り値にしても大して変わらんけど
519デフォルトの名無しさん
2017/09/22(金) 12:51:02.25ID:qmG6L9xB C言語だとトリッキーな技を使わないと出来ない
同じ関数名で複数関数を作れないから
2段や3段重ねて、intを受けて文字列を返すのは普通には無理
C++だと簡単
大きく分けて2つの方法がある
C++でも数値によって戻り値の型を変えるのは無理
数値がconstexprで良いなら出来るだろうけど
同じ関数名で複数関数を作れないから
2段や3段重ねて、intを受けて文字列を返すのは普通には無理
C++だと簡単
大きく分けて2つの方法がある
C++でも数値によって戻り値の型を変えるのは無理
数値がconstexprで良いなら出来るだろうけど
520デフォルトの名無しさん
2017/09/22(金) 14:57:30.68ID:eEMHecr4521デフォルトの名無しさん
2017/09/22(金) 16:30:21.56ID:W1Y66+yK522デフォルトの名無しさん
2017/09/22(金) 16:41:43.04ID:W1Y66+yK >>516
戻り値を文字列にする方法
方法1
段階によって引数と戻り値の型を変える
S1 fizz(int n);
S2 fizz(S1 s);
std::string fizz(S2 s);
※テンプレートを使うと楽
方法2
戻り値をstd::string固定にしてなんとかする
方法2-1
戻り値は常に結果の文字列にし、パラメーター以外で情報を渡す
方法2-2
文字列に情報をエンコードして入れる
最終型段だけ結果を返すようにする
方法3
戻り値を結果文字列そのままではなく、文字列情報を含む情報とする
(これは反則かな?)
戻り値を文字列にする方法
方法1
段階によって引数と戻り値の型を変える
S1 fizz(int n);
S2 fizz(S1 s);
std::string fizz(S2 s);
※テンプレートを使うと楽
方法2
戻り値をstd::string固定にしてなんとかする
方法2-1
戻り値は常に結果の文字列にし、パラメーター以外で情報を渡す
方法2-2
文字列に情報をエンコードして入れる
最終型段だけ結果を返すようにする
方法3
戻り値を結果文字列そのままではなく、文字列情報を含む情報とする
(これは反則かな?)
523デフォルトの名無しさん
2017/09/22(金) 16:44:03.80ID:W1Y66+yK 方法2-1であれば >>520の問題は解決する
ただし、そのままだとスレッドセーフじゃなくて気持ち悪い
ただし、そのままだとスレッドセーフじゃなくて気持ち悪い
524デフォルトの名無しさん
2017/09/22(金) 16:48:22.63ID:eEMHecr4525デフォルトの名無しさん
2017/09/22(金) 18:17:47.82ID:eeRMTLx0 例えばRubyだと文字列を含め組み込み型にインスタンス変数を仕込めるので
たぶんそれで次のメソッドに情報を渡せる
たぶんそれで次のメソッドに情報を渡せる
526デフォルトの名無しさん
2017/09/22(金) 19:04:29.86ID:FtjqsiSd >>522 の方法2-1
C++版
https://ideone.com/ZavKGg
外部情報は「n」のみ
複数スレッドや割り込みハンドラからコールする時はこのnが問題になるんで
なんとかしてstd::stringに埋め込めれば良いんだけど
>>525
問題を変えちゃダメだよね
> [3.3] 言語: (C/C++/どちらでも可 のいずれか)特に問わない
C++版
https://ideone.com/ZavKGg
外部情報は「n」のみ
複数スレッドや割り込みハンドラからコールする時はこのnが問題になるんで
なんとかしてstd::stringに埋め込めれば良いんだけど
>>525
問題を変えちゃダメだよね
> [3.3] 言語: (C/C++/どちらでも可 のいずれか)特に問わない
527デフォルトの名無しさん
2017/09/22(金) 19:08:43.22ID:FtjqsiSd 8行目、なんとなく文字列から判別してみたけど、
素直にnと同じように外部にフラグを持てば条件が減る
(文字列の最後が数字にならないとか文字コードが連続してるとか)
素直にnと同じように外部にフラグを持てば条件が減る
(文字列の最後が数字にならないとか文字コードが連続してるとか)
528デフォルトの名無しさん
2017/09/22(金) 19:09:11.03ID:pX6TouLp 「(C/C++/どちらでも可 のいずれか)特に問わない」って日本語がまず謎
有限個の具体例しか与えられていないので仕様も謎
有限個の具体例しか与えられていないので仕様も謎
529デフォルトの名無しさん
2017/09/22(金) 19:26:24.34ID:FtjqsiSd 出題者の選択枝が [C/C++/どちらでも可] の3個あって、出題者がその「いずれか」を選ぶ
というフォーマットを使った出題
出題者は回答者に対し『その3個のどれでも良いよ』という意味で「特に問わない」と
と私は解釈した
つまり、回答者の選択枝はCかC++のどちらかだと
出力する文字列のルールはリンク先を見れば大体わかる
gizzが7の倍数かどうかは実際には不明で、実は14で割ると7余る数かもしれないが...
リンク先に「プリントする」とあるので
printfなどで標準出力に出せば良いのかと思ったが、
>>516の解釈は違うらしい
数値の場合だけ""でくくってないので、
文字列の場合は""をくっつける必要があるのか、
型を変えろと言っているのかはよくわからん
いずれにしろ、CやC++では値によって戻り値の型を変えるのは不可能
というフォーマットを使った出題
出題者は回答者に対し『その3個のどれでも良いよ』という意味で「特に問わない」と
と私は解釈した
つまり、回答者の選択枝はCかC++のどちらかだと
出力する文字列のルールはリンク先を見れば大体わかる
gizzが7の倍数かどうかは実際には不明で、実は14で割ると7余る数かもしれないが...
リンク先に「プリントする」とあるので
printfなどで標準出力に出せば良いのかと思ったが、
>>516の解釈は違うらしい
数値の場合だけ""でくくってないので、
文字列の場合は""をくっつける必要があるのか、
型を変えろと言っているのかはよくわからん
いずれにしろ、CやC++では値によって戻り値の型を変えるのは不可能
530デフォルトの名無しさん
2017/09/22(金) 19:32:11.08ID:FtjqsiSd531デフォルトの名無しさん
2017/09/22(金) 19:33:47.07ID:eEMHecr4532デフォルトの名無しさん
2017/09/22(金) 19:36:43.23ID:FtjqsiSd533デフォルトの名無しさん
2017/09/22(金) 19:39:18.64ID:FtjqsiSd 出題者なら0点
534デフォルトの名無しさん
2017/09/22(金) 19:43:00.43ID:pX6TouLp535デフォルトの名無しさん
2017/09/22(金) 19:51:22.72ID:FtjqsiSd536デフォルトの名無しさん
2017/09/22(金) 19:54:43.95ID:FtjqsiSd そろそろ
出題者の模範解答
よろしくね
出題者の模範解答
よろしくね
537デフォルトの名無しさん
2017/09/22(金) 20:00:08.36ID:eEMHecr4 え゛
0点の出題だしー模範解答の質も推して知るべし、なんじゃないでしょうか……:−)
0点の出題だしー模範解答の質も推して知るべし、なんじゃないでしょうか……:−)
538デフォルトの名無しさん
2017/09/22(金) 20:35:12.69ID:aD9oWCn2 >>526
↓この但し書きがあるってことは、問題作成者(≠出題者)としてはC/C++限定とは考えてはいないだろう
> メソッドのコールに()が必須の言語では 3.fizz().buzz() 形式でも構わない。
> オープンクラス機構やメソッドのない言語では関数(buzz(fizz(3)) #=> "Fizz" など)で。
そもそもここで出題する時点で [3] の縛りは意味をなさないよ
↓この但し書きがあるってことは、問題作成者(≠出題者)としてはC/C++限定とは考えてはいないだろう
> メソッドのコールに()が必須の言語では 3.fizz().buzz() 形式でも構わない。
> オープンクラス機構やメソッドのない言語では関数(buzz(fizz(3)) #=> "Fizz" など)で。
そもそもここで出題する時点で [3] の縛りは意味をなさないよ
539デフォルトの名無しさん
2017/09/22(金) 20:43:54.80ID:W1Y66+yK >>509に書いてある以上は、それに従うのが基本
540デフォルトの名無しさん
2017/09/22(金) 20:47:11.96ID:W1Y66+yK と思って私は回答しましたが、
他の人が他の解釈で回答することまで否定はしません
他の人が他の解釈で回答することまで否定はしません
541デフォルトの名無しさん
2017/09/22(金) 20:47:48.19ID:W1Y66+yK ということで、
>>538 よろしく!
>>538 よろしく!
542デフォルトの名無しさん
2017/09/23(土) 03:26:09.79ID:nBwtcNcI543デフォルトの名無しさん
2017/09/23(土) 05:00:15.00ID:FxaWa0db544デフォルトの名無しさん
2017/09/23(土) 09:40:19.02ID:9eQI4Qct545デフォルトの名無しさん
2017/09/23(土) 11:10:41.17ID:koNmB6po PerlやPythonは?
546デフォルトの名無しさん
2017/09/23(土) 11:25:56.13ID:7PRDVMsP ネタバレになるけど
このクイズはグローバル変数を使えばそれで済んでしまうシンプルな話なんだけど、それをあえて
- 各言語の機能を熟知・駆使して、面白くしたりひと工夫したりする(たとえばスレッドセーフとか)
- 前者のしくみと、7の倍数のgizzの拡張に必要な追加を最小限にすることを両立させる
というポイントが楽しみどころなんじゃないかな
このクイズはグローバル変数を使えばそれで済んでしまうシンプルな話なんだけど、それをあえて
- 各言語の機能を熟知・駆使して、面白くしたりひと工夫したりする(たとえばスレッドセーフとか)
- 前者のしくみと、7の倍数のgizzの拡張に必要な追加を最小限にすることを両立させる
というポイントが楽しみどころなんじゃないかな
547デフォルトの名無しさん
2017/09/23(土) 11:29:36.36ID:w6RxEhSu548デフォルトの名無しさん
2017/09/23(土) 17:45:33.07ID:tyQvRaHd549デフォルトの名無しさん
2017/09/23(土) 17:47:47.85ID:tyQvRaHd550デフォルトの名無しさん
2017/09/23(土) 18:26:18.44ID:80k6Tqnu 関数の入出力の型が同一である必要がある
Cならintをchar*と解釈するわけにいかないから構造体だろう
Cならintをchar*と解釈するわけにいかないから構造体だろう
551デフォルトの名無しさん
2017/09/23(土) 22:30:47.29ID:PEiEI8OX スレッドローカル変数で
書いてみている
書いてみている
552デフォルトの名無しさん
2017/09/23(土) 22:51:39.70ID:PEiEI8OX >>509 Squeak Smalltalk だけどなんとか >>547 っぽい方法で
| FizzBuzzQuiz |
FizzBuzzQuiz := Trait named: #FizzBuzzQuiz uses: #() category: 'FizzBuzz-Quiz'.
FizzBuzzQuiz compile: 'isDivisibleBy: m
^(Processor activeProcess environmentAt: #fbValue) isDivisibleBy: m'.
FizzBuzzQuiz compile: ', str Processor activeProcess environmentAt: #fbValue put: self. ^str'.
FizzBuzzQuiz compile: 'fizz ^(self isDivisibleBy: 3) ifTrue: [self, ''Fizz''] ifFalse: [self]'.
FizzBuzzQuiz compile: 'buzz ^(self isDivisibleBy: 5) ifTrue: [self, ''Buzz''] ifFalse: [self]'.
{Number. String} do: [:each | each uses: FizzBuzzQuiz].
1 fizz buzz. "=> 1 "
3 fizz buzz. "=> 'Fizz' "
5 fizz buzz. "=> 'Buzz' "
15 fizz buzz. "=> 'FizzBuzz' "
14 fizz buzz. "=> 14 "
FizzBuzzQuiz compile: 'gizz ^(self isDivisibleBy: 7) ifTrue: [self, ''Gizz''] ifFalse: [self]'.
7 fizz buzz gizz. "=> 'Gizz' "
21 fizz buzz gizz. "=> 'FizzGizz' "
35 fizz buzz gizz. "=> 'BuzzGizz' "
105 fizz buzz gizz. "=> 'FizzBuzzGizz' "
105 fizz gizz buzz. "=> 'FizzGizzBuzz' "
| FizzBuzzQuiz |
FizzBuzzQuiz := Trait named: #FizzBuzzQuiz uses: #() category: 'FizzBuzz-Quiz'.
FizzBuzzQuiz compile: 'isDivisibleBy: m
^(Processor activeProcess environmentAt: #fbValue) isDivisibleBy: m'.
FizzBuzzQuiz compile: ', str Processor activeProcess environmentAt: #fbValue put: self. ^str'.
FizzBuzzQuiz compile: 'fizz ^(self isDivisibleBy: 3) ifTrue: [self, ''Fizz''] ifFalse: [self]'.
FizzBuzzQuiz compile: 'buzz ^(self isDivisibleBy: 5) ifTrue: [self, ''Buzz''] ifFalse: [self]'.
{Number. String} do: [:each | each uses: FizzBuzzQuiz].
1 fizz buzz. "=> 1 "
3 fizz buzz. "=> 'Fizz' "
5 fizz buzz. "=> 'Buzz' "
15 fizz buzz. "=> 'FizzBuzz' "
14 fizz buzz. "=> 14 "
FizzBuzzQuiz compile: 'gizz ^(self isDivisibleBy: 7) ifTrue: [self, ''Gizz''] ifFalse: [self]'.
7 fizz buzz gizz. "=> 'Gizz' "
21 fizz buzz gizz. "=> 'FizzGizz' "
35 fizz buzz gizz. "=> 'BuzzGizz' "
105 fizz buzz gizz. "=> 'FizzBuzzGizz' "
105 fizz gizz buzz. "=> 'FizzGizzBuzz' "
553デフォルトの名無しさん
2017/09/24(日) 08:25:43.37ID:wOaJDXIV554デフォルトの名無しさん
2017/09/24(日) 08:49:01.13ID:wOaJDXIV555デフォルトの名無しさん
2017/09/25(月) 19:17:51.82ID:WU5gUeBt556デフォルトの名無しさん
2017/10/15(日) 20:26:14.16ID:12RNBD+4 過去問を眺めていたが、もっとお気楽な問題が多かったようですね
肩慣らし問題を一つ
問題
循環小数を有理数に直せ。
循環節は括弧をつかって表現する。
例
0.[555] = 5/9
0.3[33] = 1/3
12.[345] = 4111/333
1.2[34] = 611/495
肩慣らし問題を一つ
問題
循環小数を有理数に直せ。
循環節は括弧をつかって表現する。
例
0.[555] = 5/9
0.3[33] = 1/3
12.[345] = 4111/333
1.2[34] = 611/495
557デフォルトの名無しさん
2017/10/15(日) 21:45:12.25ID:IPnwHMWa 連分数を使うのかね
558デフォルトの名無しさん
2017/10/15(日) 23:12:59.97ID:Y75uJW9z559デフォルトの名無しさん
2017/10/17(火) 15:01:04.33ID:qd6dTZ1I 循環小数は有理数な訳だが
560デフォルトの名無しさん
2017/10/17(火) 16:22:17.58ID:kN20YVKE 0.[555] = 0.[5] = 5/9
0.3[33] = 0.[3] = 3/9
12.[345] = 12+345/999
1.2[34] = 1.2+34/990
0.3[33] = 0.[3] = 3/9
12.[345] = 12+345/999
1.2[34] = 1.2+34/990
561デフォルトの名無しさん
2017/10/17(火) 18:47:49.98ID:ELG/Hivs てすと
562デフォルトの名無しさん
2017/10/18(水) 11:15:59.21ID:xwRaz5Kx563デフォルトの名無しさん
2017/10/18(水) 11:35:57.38ID:bG8m3FQp ああ。なんとなくわかった。10の桁数乗の値で割るとそっくりそのまま小数点以下になるが
1足りないから循環するのか。ああ、しかし、数学的にどう表現したらいいかわからない。w
1足りないから循環するのか。ああ、しかし、数学的にどう表現したらいいかわからない。w
564デフォルトの名無しさん
2017/10/18(水) 15:51:59.37ID:+Osy4cjh お題:顔文字(^o^)があります。この(^o^)を左右に動かしながら出力します。(^o^)は左から右へ一文字ずつ動き、端に到達した瞬間だけ(^o^)から(>_<)に変化し、また(^o^)に戻って左端へ行き、同じように繰り返します。
端から端までは最初80文字分の幅がありますが、(^o^)が端に達した回数だけ1文字ずつ狭くなっていき、最終的に(^o^)の端まで狭くなり、(^o^)が動けなくなります。(^o^)が動けなくなったらプログラムを終了してください。
端から端までは最初80文字分の幅がありますが、(^o^)が端に達した回数だけ1文字ずつ狭くなっていき、最終的に(^o^)の端まで狭くなり、(^o^)が動けなくなります。(^o^)が動けなくなったらプログラムを終了してください。
565デフォルトの名無しさん
2017/10/18(水) 17:36:32.86ID:jSYDae9q566デフォルトの名無しさん
2017/10/18(水) 19:53:42.77ID:4F2aMcKp ウインドウズでエスケープシーケンス扱うのにおまじないいるからメンドクセー。
567デフォルトの名無しさん
2017/10/18(水) 21:05:28.73ID:xwRaz5Kx568デフォルトの名無しさん
2017/10/19(木) 01:56:08.11ID:Lj1i7npR569デフォルトの名無しさん
2017/10/19(木) 03:35:28.31ID:CNJYIyj0 じゃ、とりあえず CR 出力版。Perl プログラム。
但し、待ち時間入れないと速すぎて見えないので適当に usleep を入れた。
テストした環境は Linux で端末は Windows の TeraTerm。
TERM=xterm の状態。
但し、プログラムを貼り付けたサイト(paiza.io)での出力はおかしくなる。
何故なら端末として動いてないから。
試したい場合はプログラムをコピーして自分の環境のエディタ等にペーストして保存後に実行して。
https://paiza.io/projects/rQDCQizcsrydlcrkxylR1w
但し、待ち時間入れないと速すぎて見えないので適当に usleep を入れた。
テストした環境は Linux で端末は Windows の TeraTerm。
TERM=xterm の状態。
但し、プログラムを貼り付けたサイト(paiza.io)での出力はおかしくなる。
何故なら端末として動いてないから。
試したい場合はプログラムをコピーして自分の環境のエディタ等にペーストして保存後に実行して。
https://paiza.io/projects/rQDCQizcsrydlcrkxylR1w
570デフォルトの名無しさん
2017/10/19(木) 05:11:39.88ID:sgSfn4oM2017/10/22(日) 11:49:54.00ID:/Umsqxkx
お題:A〜Z、1〜9で出来たランダムな文字列がある(文字列はプログラム開始時に自動的に決めてよい)
キーを2つ決めて(←→キーが自然かも)例えば→キーを押すと、文字列のうち2〜9があるか
どうかを調べ、あればそのうち一つをランダムに選び、数字を一つ減らし(9なら8へ)、左右ランダムに
1を置く
つまり2以上の数字文字があればそこがゴムのような役目をして文字列が伸びる
全部の数字文字が1になったら何もしない
逆に例えば←キーを押すと、文字列のうち1〜8があるかどうかを調べ、そのうちランダムに一つを
選び、その左右どちらかに数字文字がないかを調べ、足した合計が9を超えないようなら足し合わせて
数字文字をその合計値にし、文字列を1つ縮める
足し合わせた合計が9を超えるようなら他の数字文字もランダムに同様に一つ選び、足し合わせて
9を超えない数字文字の部分が見つかったらそれを一つだけ足し合わせて縮める
全部の数字文字が9になるか、9に満たないが足し合わせると9を超えるようになったら何もしない
キーを2つ決めて(←→キーが自然かも)例えば→キーを押すと、文字列のうち2〜9があるか
どうかを調べ、あればそのうち一つをランダムに選び、数字を一つ減らし(9なら8へ)、左右ランダムに
1を置く
つまり2以上の数字文字があればそこがゴムのような役目をして文字列が伸びる
全部の数字文字が1になったら何もしない
逆に例えば←キーを押すと、文字列のうち1〜8があるかどうかを調べ、そのうちランダムに一つを
選び、その左右どちらかに数字文字がないかを調べ、足した合計が9を超えないようなら足し合わせて
数字文字をその合計値にし、文字列を1つ縮める
足し合わせた合計が9を超えるようなら他の数字文字もランダムに同様に一つ選び、足し合わせて
9を超えない数字文字の部分が見つかったらそれを一つだけ足し合わせて縮める
全部の数字文字が9になるか、9に満たないが足し合わせると9を超えるようになったら何もしない
572デフォルトの名無しさん
2017/10/23(月) 04:21:48.29ID:sHZ1Pe4U >>571
https://ideone.com/pjZbOc
C++。デバッグ難しくてやる気がしないのでバグってるかも。
カーソルキー取るの面倒だからASキーにしておいた。
こんな感じでいいのか?
何のシミュレータかしらんけどめんどくせーな。
https://ideone.com/pjZbOc
C++。デバッグ難しくてやる気がしないのでバグってるかも。
カーソルキー取るの面倒だからASキーにしておいた。
こんな感じでいいのか?
何のシミュレータかしらんけどめんどくせーな。
573デフォルトの名無しさん
2017/10/23(月) 04:35:24.25ID:sHZ1Pe4U あ、それと、文字列で計算するのめんどくさかったから、数字でやった。
そっち事情なんか知ったこっちゃない。
そっち事情なんか知ったこっちゃない。
574デフォルトの名無しさん
2017/10/23(月) 05:46:30.69ID:iFI38Dlw %%%%1000%%%%
000-[HUM%58*73.1\%]/2I/3NM/61.3SNMK%?%3%51.22222222222221%
001-[[[%6/4$17.6135412α3]]]]+DOM+SIL+7%
002-UML7%[61.2[31.5[!%32∂LM17.36%!16.3!%<<<%!HSTOL7%!Q!S!=3m=<2TOL<3Q9A<2.1GHz%,DOK,HAOARA,
003-[[[HEMLOT47[<\41.2%Q,===>[MLS<DPNO<\2.3>#ESOLA!5%!3MLA!>LTOSA>7TONSA>%>%end
000-[HUM%58*73.1\%]/2I/3NM/61.3SNMK%?%3%51.22222222222221%
001-[[[%6/4$17.6135412α3]]]]+DOM+SIL+7%
002-UML7%[61.2[31.5[!%32∂LM17.36%!16.3!%<<<%!HSTOL7%!Q!S!=3m=<2TOL<3Q9A<2.1GHz%,DOK,HAOARA,
003-[[[HEMLOT47[<\41.2%Q,===>[MLS<DPNO<\2.3>#ESOLA!5%!3MLA!>LTOSA>7TONSA>%>%end
575デフォルトの名無しさん
2017/10/23(月) 17:28:50.67ID:f/2PkHQ/ >>574
全く読めねぇw
全く読めねぇw
576デフォルトの名無しさん
2017/10/23(月) 20:53:32.54ID:burVCZw1 ランダムの分布は指定なし?
577デフォルトの名無しさん
2017/10/23(月) 23:01:59.68ID:sHZ1Pe4U いろんなところでたまに見かけるけど、>>547 ってPGなの?
578デフォルトの名無しさん
2017/10/24(火) 06:49:36.20ID:kt50Dt6N PGとは?
579デフォルトの名無しさん
2017/10/24(火) 07:14:59.91ID:Ohc+APnW プロパンガス
580デフォルトの名無しさん
2017/10/24(火) 08:55:25.49ID:TzjXrYm3 パーフェクトグレイド
581デフォルトの名無しさん
2017/10/24(火) 11:04:02.33ID:2qWQgTrR582デフォルトの名無しさん
2017/10/24(火) 21:14:43.61ID:6ceRFBNE >>581
さんくす。
さんくす。
583デフォルトの名無しさん
2017/10/25(水) 20:13:14.36ID:gieh1Z5o お題
())())のように括弧のみからなる文字列が与えられるので
すべての括弧が正しく対応付けされるためには
最低で何箇所の括弧を逆向きに変更すればよいか求めよ
例えば上の例では2文字目か3文字目を変更すればよいので1を出力せよ
何文字変更しても正しく対応付けできない場合は-1を出力せよ
) -> -1
())()) -> 1
)()()( -> 2
)))((( -> 4
(())())((())(()( -> 3
())((())()))()(((()))()((((((((()()(())) -> ?
())())のように括弧のみからなる文字列が与えられるので
すべての括弧が正しく対応付けされるためには
最低で何箇所の括弧を逆向きに変更すればよいか求めよ
例えば上の例では2文字目か3文字目を変更すればよいので1を出力せよ
何文字変更しても正しく対応付けできない場合は-1を出力せよ
) -> -1
())()) -> 1
)()()( -> 2
)))((( -> 4
(())())((())(()( -> 3
())((())()))()(((()))()((((((((()()(())) -> ?
584デフォルトの名無しさん
2017/10/25(水) 21:21:26.00ID:/TQ9iqwZ585デフォルトの名無しさん
2017/10/26(木) 00:42:38.67ID:0Gn/TXrF586デフォルトの名無しさん
2017/10/26(木) 07:09:40.17ID:vEkFybta587デフォルトの名無しさん
2017/10/26(木) 08:33:36.44ID:8oLfrbud おむ
588デフォルトの名無しさん
2017/10/26(木) 08:35:57.56ID:8oLfrbud 誤爆
>>583 Ruby
def calc str
return -1 if str.size.odd?
ary = optimise str.scan(/(?=.)(\(*)(\)*)/).map{|a, b| a.size - b.size}
(-ary[0] + ary[1].to_i).abs/2 + ary[0]%2
end
def optimise ary
a = ary.reject(&:zero?).chunk(&:positive?).to_a.transpose[1].map(&:sum)
return a if a.size < 3
a.unshift(0) if a[0] < 0
optimise a.each_slice(2).map(&:sum)
end
STR = %w{
)
())())
)()()(
)))(((
(())())((())(()(
())((())()))()(((()))()((((((((()()(()))
}
STR.each{|s| puts "%s -> %d"%[s, calc(s)]} #=>
) -> -1
())()) -> 1
)()()( -> 2
)))((( -> 4
(())())((())(()( -> 3
())((())()))()(((()))()((((((((()()(())) -> 5
>>583 Ruby
def calc str
return -1 if str.size.odd?
ary = optimise str.scan(/(?=.)(\(*)(\)*)/).map{|a, b| a.size - b.size}
(-ary[0] + ary[1].to_i).abs/2 + ary[0]%2
end
def optimise ary
a = ary.reject(&:zero?).chunk(&:positive?).to_a.transpose[1].map(&:sum)
return a if a.size < 3
a.unshift(0) if a[0] < 0
optimise a.each_slice(2).map(&:sum)
end
STR = %w{
)
())())
)()()(
)))(((
(())())((())(()(
())((())()))()(((()))()((((((((()()(()))
}
STR.each{|s| puts "%s -> %d"%[s, calc(s)]} #=>
) -> -1
())()) -> 1
)()()( -> 2
)))((( -> 4
(())())((())(()( -> 3
())((())()))()(((()))()((((((((()()(())) -> 5
589デフォルトの名無しさん
2017/10/26(木) 19:12:02.71ID:MqWL4ZqL590デフォルトの名無しさん
2017/10/27(金) 22:31:59.57ID:sfTuRN3o591デフォルトの名無しさん
2017/11/04(土) 00:05:20.36ID:4+O3ouw4 Quineの派生ということで、コードそれ自身を反転させたものを出力せよ
反転とは文字列"abc\ndef"を"fed\ncba"にすること
反転とは文字列"abc\ndef"を"fed\ncba"にすること
592デフォルトの名無しさん
2017/11/04(土) 01:52:41.37ID:P09Vk2Mx 数列 6,66,666,6666,66666.....
これをダミアン数列と呼ぶことにしましょう
nを自然数としたときn^n(^はべき乗)の桁数(10進数で)が
ダミアン数列のどれかになることはあるか?
初歩的な計算で7^7=823543が6桁になることがわかります
問 このような不吉な数は
7のみである
有限個存在する
無限に存在する
ここまで書いてみたけどこの問題だとプログラミングのお題じゃないね
数論で解けるのかなあ?
改めてお題
ダミアン数列の最初の10項につながる不吉な自然数はあるか、あるとすれば
その数はいくつか
力技では時間が掛かりすぎると思うので工夫してみてください
これをダミアン数列と呼ぶことにしましょう
nを自然数としたときn^n(^はべき乗)の桁数(10進数で)が
ダミアン数列のどれかになることはあるか?
初歩的な計算で7^7=823543が6桁になることがわかります
問 このような不吉な数は
7のみである
有限個存在する
無限に存在する
ここまで書いてみたけどこの問題だとプログラミングのお題じゃないね
数論で解けるのかなあ?
改めてお題
ダミアン数列の最初の10項につながる不吉な自然数はあるか、あるとすれば
その数はいくつか
力技では時間が掛かりすぎると思うので工夫してみてください
593デフォルトの名無しさん
2017/11/04(土) 03:18:31.96ID:RXqoYVvx 意味不明
594デフォルトの名無しさん
2017/11/04(土) 03:39:51.41ID:pxF/c+yt >>591
https://ideone.com/1bQnxO
C++。VCオンリー。
ウニコード対応しようと思って色々やってたけど、なんかうまくいかねー。
一応VCではうまくいってるっぽいけど、GCCと共通のコードはまだ規格的にきつそうだ。
うへー。大変だったわ。やっぱ、文字列は鬼門。
https://ideone.com/1bQnxO
C++。VCオンリー。
ウニコード対応しようと思って色々やってたけど、なんかうまくいかねー。
一応VCではうまくいってるっぽいけど、GCCと共通のコードはまだ規格的にきつそうだ。
うへー。大変だったわ。やっぱ、文字列は鬼門。
595デフォルトの名無しさん
2017/11/04(土) 04:34:35.38ID:tUO6oLmA596デフォルトの名無しさん
2017/11/04(土) 08:04:59.76ID:bqd73Ayh >>591 Squeak/Pharo Smalltalk
thisContext method getSource reversed allButLast: 8
"=> '8 :tsaLtuBlla desrever ecruoSteg dohtem txetnoCsiht' "
thisContext method getSource reversed allButLast: 8
"=> '8 :tsaLtuBlla desrever ecruoSteg dohtem txetnoCsiht' "
597デフォルトの名無しさん
2017/11/04(土) 10:09:48.41ID:VZ1zDZPp598デフォルトの名無しさん
2017/11/05(日) 14:54:08.02ID:rWIlHQ+T >>597 ruby
d="]esrever.d,d[%'d=p%;s%' stup";puts '%s;%p=d'%[d,d.reverse]
#=> ]esrever.d,d[%'d=p%;s%' stup;"puts '%s;%p=d'%[d,d.reverse]"=d
d="]esrever.d,d[%'d=p%;s%' stup";puts '%s;%p=d'%[d,d.reverse]
#=> ]esrever.d,d[%'d=p%;s%' stup;"puts '%s;%p=d'%[d,d.reverse]"=d
599デフォルトの名無しさん
2017/11/05(日) 14:54:35.06ID:rWIlHQ+T 安価ミスったorz
600デフォルトの名無しさん
2017/11/05(日) 22:47:04.05ID:Pt23fyK7 >>595
2で割らずにシフトしてたり芸が細かいですな
2で割らずにシフトしてたり芸が細かいですな
601片山博文MZ ◆T6xkBnTXz7B0
2017/11/07(火) 23:38:24.35ID:BS6pey7a お題。ツイッターのフォロワーを使ってお金を稼ぐ具体的な方法を思い付く限り列挙せよ。
602デフォルトの名無しさん
2017/11/07(火) 23:48:06.18ID:aP9yM4om やだ。
603デフォルトの名無しさん
2017/11/08(水) 00:39:27.61ID:z/y1zyUv プログラミングに関係ないお題は却下
604デフォルトの名無しさん
2017/11/08(水) 20:48:53.00ID:XbOytUUT 片山博文MZってコジキなのか?
605デフォルトの名無しさん
2017/11/13(月) 00:48:07.30ID:PHmyYrtX コジキっていうか、頭の弱い子
606デフォルトの名無しさん
2017/11/14(火) 21:49:31.73ID:yEmE0LhS コード中でa-zA-Z0-9の文字を一切使わずに
Hello World!!
と出力せよ。
"!"の後ろの改行の有無は問わない。
Hello World!!
と出力せよ。
"!"の後ろの改行の有無は問わない。
607デフォルトの名無しさん
2017/11/14(火) 22:13:39.71ID:1d5ZohBo >>606 whitespace
608デフォルトの名無しさん
2017/11/15(水) 00:12:32.03ID:ckRbh5hb 前にも見たなぁ。
609デフォルトの名無しさん
2017/11/15(水) 00:21:09.60ID:edbITJRa >>606
それじゃプログラム組めないと思うんだが、記号だけの言語みたいなの使えってこと?
それじゃプログラム組めないと思うんだが、記号だけの言語みたいなの使えってこと?
610デフォルトの名無しさん
2017/11/15(水) 00:30:14.08ID:au/IFdC5 >>606 bhnjdsbkjdsb
_
_
611デフォルトの名無しさん
2017/11/15(水) 00:31:44.60ID:ckRbh5hb iostreamがすでにアウト。
612デフォルトの名無しさん
2017/11/15(水) 01:21:11.75ID:f03ykBDy613デフォルトの名無しさん
2017/11/15(水) 01:21:50.26ID:f03ykBDy614デフォルトの名無しさん
2017/11/15(水) 01:23:33.97ID:0AqsUHvD 今日は七五三ということで
7,5,3,+,-,×,÷,(),^2を使った式(ただし7,5,3は一個しか使えない)で1から連続でいくつまで数を作れるか
1=3+5-7
2=5-3
3=3
4=(5-3)^2
5=5
6=(7-5)×3
…
7,5,3,+,-,×,÷,(),^2を使った式(ただし7,5,3は一個しか使えない)で1から連続でいくつまで数を作れるか
1=3+5-7
2=5-3
3=3
4=(5-3)^2
5=5
6=(7-5)×3
…
615デフォルトの名無しさん
2017/11/15(水) 06:25:11.32ID:21MTGrxx ^2 もありですか
616デフォルトの名無しさん
2017/11/15(水) 11:19:06.80ID:+wQkBp8E617デフォルトの名無しさん
2017/11/15(水) 11:36:08.43ID:cnBoJhFE >>606
Ruby で、
unpacked = "Hello World!!".unpack("c*")
p unpacked
#=> [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 33]
packed = unpacked.pack('c*')
puts packed
#=> Hello World!!
Ruby で、
unpacked = "Hello World!!".unpack("c*")
p unpacked
#=> [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 33]
packed = unpacked.pack('c*')
puts packed
#=> Hello World!!
618デフォルトの名無しさん
2017/11/15(水) 11:46:46.76ID:f03ykBDy >>616
特殊変数$$から1を作ってそれをもとに2, 4, 8, 16などを作る
"%c"を繰り返したものをあらかじめ作っておき
そこに上記の数字で作った"Hello World!!"の文字コードをsprintフォーマットする
標準出力を表す特殊変数$>に<<メソッドでできた文字列を出力する
あとは 「"" << 文字コード」で「文字コード.chr」と同様の結果が得られるので適宜利用すると便利
特殊変数$$から1を作ってそれをもとに2, 4, 8, 16などを作る
"%c"を繰り返したものをあらかじめ作っておき
そこに上記の数字で作った"Hello World!!"の文字コードをsprintフォーマットする
標準出力を表す特殊変数$>に<<メソッドでできた文字列を出力する
あとは 「"" << 文字コード」で「文字コード.chr」と同様の結果が得られるので適宜利用すると便利
619デフォルトの名無しさん
2017/11/15(水) 12:14:35.50ID:GYwcr8MQ >>617の間抜けさ加減に草
620デフォルトの名無しさん
2017/11/15(水) 13:25:57.72ID:YypYHZ3m621デフォルトの名無しさん
2017/11/15(水) 13:32:50.33ID:+wQkBp8E622デフォルトの名無しさん
2017/11/15(水) 19:03:12.96ID:vzgZy9E8 >>614
5と3を繋げて53にするようなこともしていいの?
5と3を繋げて53にするようなこともしていいの?
623デフォルトの名無しさん
2017/11/16(木) 00:18:43.09ID:/xRbPsNU 計算部は書いたけど、元の表記で何算してるか表記するのが面倒だ。
あと、遅い・・・。
あと、遅い・・・。
624デフォルトの名無しさん
2017/11/16(木) 00:24:47.24ID:IIofg8Am 73/5=14とかは駄目だよね?
625デフォルトの名無しさん
2017/11/16(木) 01:59:04.45ID:/xRbPsNU626デフォルトの名無しさん
2017/11/16(木) 02:00:39.12ID:/xRbPsNU あ、そうだ。
カッコの処理がバグバグだったからカッコ使わなかった。
カッコの処理がバグバグだったからカッコ使わなかった。
627デフォルトの名無しさん
2017/11/16(木) 02:11:42.94ID:/xRbPsNU うーむ・・・。なんていうか。。。
ギブアップだ。Orz
ギブアップだ。Orz
628デフォルトの名無しさん
2017/11/16(木) 11:38:12.54ID:clS3oGAP >>625
「題意理解してない可能性が微レ存」どころじゃねえだろこれww
「題意理解してない可能性が微レ存」どころじゃねえだろこれww
629デフォルトの名無しさん
2017/11/16(木) 14:11:34.74ID:9+S8V57k 整数の範囲でも有理数の範囲でも答えが変わらないからつまらん
一旦非整数を経由しないと作れないのがないとやっぱり...
一旦非整数を経由しないと作れないのがないとやっぱり...
630デフォルトの名無しさん
2017/11/16(木) 15:03:27.99ID:/xRbPsNU >>628
可笑しいところ教えて!
可笑しいところ教えて!
631デフォルトの名無しさん
2017/11/16(木) 15:46:11.61ID:9+S8V57k (3^2)^2 = 3^4
((3^2)^2)^2 = 3^8
だから、3^(2*3) とかやっちゃダメだろ
あと、
3×5÷7 = 15÷7 ≠ 2
((3^2)^2)^2 = 3^8
だから、3^(2*3) とかやっちゃダメだろ
あと、
3×5÷7 = 15÷7 ≠ 2
632デフォルトの名無しさん
2017/11/16(木) 15:59:11.96ID:/xRbPsNU633デフォルトの名無しさん
2017/11/16(木) 16:39:35.92ID:9+S8V57k 有理数クラスを作るのだ
634デフォルトの名無しさん
2017/11/16(木) 17:43:36.30ID:/xRbPsNU 有理数の法則がよくわかってないし、デカイ。
ままならんなー。
ままならんなー。
635デフォルトの名無しさん
2017/11/16(木) 18:03:35.37ID:9+S8V57k (a/b) + (c/d) = (ad + bc) / bd
(a/b) - (c/d) = (ad - bc) / bd
(a/b) * (c/d) = ac / bd
(a/b) / (c/d) = ad / bc
(a/b) = (c/d) <===> ad = bc
分子 : 整数
分母 : 0以外の整数
(a/b) - (c/d) = (ad - bc) / bd
(a/b) * (c/d) = ac / bd
(a/b) / (c/d) = ad / bc
(a/b) = (c/d) <===> ad = bc
分子 : 整数
分母 : 0以外の整数
636デフォルトの名無しさん
2017/11/16(木) 21:25:39.77ID:/xRbPsNU 数学ムズイ。。。
PGも算数で解いてるからな。
PGも算数で解いてるからな。
637デフォルトの名無しさん
2017/11/17(金) 00:16:40.63ID:5DUWZGJy 紙とペンで考えてみたところ
0以外の任意の整数なら3,5,7で表わせるから問題として不適なのでは?
0以外の任意の整数なら3,5,7で表わせるから問題として不適なのでは?
638デフォルトの名無しさん
2017/11/17(金) 00:20:03.76ID:M2EFWWXH 17
639デフォルトの名無しさん
2017/11/17(金) 10:03:52.61ID:oe8UBfUe640デフォルトの名無しさん
2017/11/17(金) 10:44:12.02ID:a6b9gyRQ 17が出来ない
641デフォルトの名無しさん
2017/11/17(金) 19:35:00.15ID:5DUWZGJy ああ、本当だ。17はどうやっても作れないね
しかしこれをどうやってコードで計算すんだろう
^2があるから全探査はできないし
自分は「+または-」をいくつ使うかで場合分けして一個一個可能性を消していったんだけれども
しかしこれをどうやってコードで計算すんだろう
^2があるから全探査はできないし
自分は「+または-」をいくつ使うかで場合分けして一個一個可能性を消していったんだけれども
642デフォルトの名無しさん
2017/11/17(金) 20:04:40.56ID:M2EFWWXH コードはアップしないけど出来たよ
643デフォルトの名無しさん
2017/11/17(金) 20:07:16.14ID:M2EFWWXH 独自有理数クラス
演算回数を1回ずつ増やしていって、
出来た値に対応するフラグをセット
演算回数を1回ずつ増やしていって、
出来た値に対応するフラグをセット
644デフォルトの名無しさん
2017/11/17(金) 20:09:06.68ID:M2EFWWXH 数値をstd::multisetで保持
演算n回目のmultisetをstd::setで保持
演算n回目のmultisetをstd::setで保持
645デフォルトの名無しさん
2017/11/18(土) 17:51:34.79ID:6foiYhRZ ABC4D
-E3FG
-----
77777
A〜G は、1〜9 の異なる数字。
ただし、3, 4 ではない
-E3FG
-----
77777
A〜G は、1〜9 の異なる数字。
ただし、3, 4 ではない
646デフォルトの名無しさん
2017/11/18(土) 17:56:36.72ID:R4dFDjUs はい、そうですか。
647デフォルトの名無しさん
2017/11/18(土) 19:08:28.21ID:8fhXEikQ >>645 Java
2年前の問題と俺の回答
http://peace.2ch.net/test/read.cgi/tech/1429195275/451
を改造したもの (50-54行目と標準入力)
https://ideone.com/2chU62
2年前の問題と俺の回答
http://peace.2ch.net/test/read.cgi/tech/1429195275/451
を改造したもの (50-54行目と標準入力)
https://ideone.com/2chU62
648デフォルトの名無しさん
2017/11/18(土) 19:44:36.57ID:oFg54zrO >>645 Ruby
f = ->a, b, c, d, e, f, g{10000*a + 1000*b + 100*c + d - (1000*e + 10*f + g) == 78037}
[1, 2, 5, 6, 7, 8, 9].permutation{|a| puts "%d%d%d4%d - %d3%d%d == 77777" % a if f[*a]}
#=>87142 - 9365 == 77777
f = ->a, b, c, d, e, f, g{10000*a + 1000*b + 100*c + d - (1000*e + 10*f + g) == 78037}
[1, 2, 5, 6, 7, 8, 9].permutation{|a| puts "%d%d%d4%d - %d3%d%d == 77777" % a if f[*a]}
#=>87142 - 9365 == 77777
649デフォルトの名無しさん
2017/11/18(土) 20:40:01.77ID:6foiYhRZ650デフォルトの名無しさん
2017/11/19(日) 22:39:02.74ID:oda4btU4 500, 100, 50, 10, 5, 1円のすべての種類の硬貨を、1枚以上使って、
合計15枚で750円にする時、10円硬貨は何枚になるか?
A〜E の5人のランナーが走った結果、
完走したのは、1着とべべの2人で、残りの3人は、途中で棄権した
ここで、完走した2人は、必ず真実を言い、
棄権した3人は、必ず嘘をつくものとする
(つまり、事実に対して、真偽値を取る)
A: D は棄権した
B: A は、べべだった
C: E は棄権した
D: C は、べべだった
E: B は完走した
A〜Eがこのように答えた時、1着は誰か?
合計15枚で750円にする時、10円硬貨は何枚になるか?
A〜E の5人のランナーが走った結果、
完走したのは、1着とべべの2人で、残りの3人は、途中で棄権した
ここで、完走した2人は、必ず真実を言い、
棄権した3人は、必ず嘘をつくものとする
(つまり、事実に対して、真偽値を取る)
A: D は棄権した
B: A は、べべだった
C: E は棄権した
D: C は、べべだった
E: B は完走した
A〜Eがこのように答えた時、1着は誰か?
651デフォルトの名無しさん
2017/11/20(月) 01:25:03.39ID:Z32/GYkn 先に答えやそれに至る式がわかっててコードに書き直すだけになっちゃうから
数学的に道筋立てて答えが出せるものはあんまりおもしろくないんだよな
数学的に道筋立てて答えが出せるものはあんまりおもしろくないんだよな
652デフォルトの名無しさん
2017/11/20(月) 03:34:46.27ID:GkhyFhEh アルゴリズムとは、数式の完全コピー
最初に、数式を考えて、その数式が間違っていれば、
撃墜モードでは、そこを突かれて撃墜される
結局、数式の証明が大事。
証明に、勘違いが無いかどうか
最初に、数式を考えて、その数式が間違っていれば、
撃墜モードでは、そこを突かれて撃墜される
結局、数式の証明が大事。
証明に、勘違いが無いかどうか
653デフォルトの名無しさん
2017/11/20(月) 11:24:27.08ID:7i/OQPcC べべってなんぞ?
654デフォルトの名無しさん
2017/11/20(月) 11:38:36.82ID:OJcNabXy >>653
たぶんこの場合は大阪の方言
たぶんこの場合は大阪の方言
655デフォルトの名無しさん
2017/11/20(月) 11:45:30.45ID:7i/OQPcC 俺地方の人間だからわかんない。
656デフォルトの名無しさん
2017/11/20(月) 18:24:16.80ID:Slkhafwt べべって最下位のことじゃないか
どべ
どべ
657デフォルトの名無しさん
2017/11/21(火) 23:50:05.58ID:zUV8sDjk658デフォルトの名無しさん
2017/11/23(木) 10:05:44.85ID:zWeuVerg お題
1から99を表示する
お題:1から999を出力する
ただし0を含む数は除く
1から99を表示する
お題:1から999を出力する
ただし0を含む数は除く
659デフォルトの名無しさん
2017/11/23(木) 10:11:40.40ID:TrZHjzbP >>658
1000.times{|i|p i unless i.to_s[?0]}
1000.times{|i|p i unless i.to_s[?0]}
660デフォルトの名無しさん
2017/11/23(木) 12:15:31.91ID:6AL/1aep661デフォルトの名無しさん
2017/11/23(木) 12:38:42.26ID:KUvGqrz8662デフォルトの名無しさん
2017/11/23(木) 12:40:24.86ID:KUvGqrz8 >>661
すまん、問題よく読んでなかった・・・
すまん、問題よく読んでなかった・・・
663デフォルトの名無しさん
2017/11/23(木) 13:30:23.43ID:jBvfUrCY664デフォルトの名無しさん
2017/11/23(木) 15:45:02.09ID:ys+VuKpG665デフォルトの名無しさん
2017/11/23(木) 16:16:10.88ID:JcpJJmmU >>658
@Mathematica
nListWithoutZero[n_]:=n//
Range[1,#]&//
Map[ToString,#]&//
StringCases[#,RegularExpression["^(?!.*0).*$"]]&//
Flatten;
In[1] := nListWithoutZero[999]
Out[1] = (略)
@Mathematica
nListWithoutZero[n_]:=n//
Range[1,#]&//
Map[ToString,#]&//
StringCases[#,RegularExpression["^(?!.*0).*$"]]&//
Flatten;
In[1] := nListWithoutZero[999]
Out[1] = (略)
666デフォルトの名無しさん
2017/11/23(木) 16:34:54.15ID:2sNCCDGP667デフォルトの名無しさん
2017/11/23(木) 16:42:00.54ID:QTAUjuBR >>658 rust
https://ideone.com/NFrvi7
fn main() {
println!("{:?}", (1..1000).filter(|i| !i.to_string().contains("0")).collect::<Vec<_>>())
}
https://ideone.com/NFrvi7
fn main() {
println!("{:?}", (1..1000).filter(|i| !i.to_string().contains("0")).collect::<Vec<_>>())
}
668デフォルトの名無しさん
2017/11/23(木) 16:46:25.38ID:ys+VuKpG >>658
Kotlin で文字列変換してやる場合
fun main(args: Array<String>) {
for (i in 1..999)
if (! i.toString().contains('0', false))
println(i)
}
数値のままやる場合
fun main(args: Array<String>) {
for (i in 1..999)
if (i % 10 != 0
&& (i < 10 || i / 10 % 10 != 0)
&& (i < 100 || i / 100 % 10 != 0))
println(i)
}
Kotlin で文字列変換してやる場合
fun main(args: Array<String>) {
for (i in 1..999)
if (! i.toString().contains('0', false))
println(i)
}
数値のままやる場合
fun main(args: Array<String>) {
for (i in 1..999)
if (i % 10 != 0
&& (i < 10 || i / 10 % 10 != 0)
&& (i < 100 || i / 100 % 10 != 0))
println(i)
}
669デフォルトの名無しさん
2017/11/23(木) 17:05:13.53ID:fGVRHt7J670デフォルトの名無しさん
2017/11/23(木) 17:08:37.18ID:fGVRHt7J http://rio2016.2ch.net/test/read.cgi/math/1510671832/722
お題:
n^2-1 = m^5
を満たす自然数 n, m は存在するか?
存在するという人と存在しないという人の両方が存在します
お題:
n^2-1 = m^5
を満たす自然数 n, m は存在するか?
存在するという人と存在しないという人の両方が存在します
671デフォルトの名無しさん
2017/11/23(木) 17:18:38.32ID:TrZHjzbP672デフォルトの名無しさん
2017/11/23(木) 18:35:09.23ID:zveldNvP673デフォルトの名無しさん
2017/11/23(木) 19:09:48.15ID:fGVRHt7J >>671
まあ自明な解はさておき、その他は見つからないのが不思議です
まあ自明な解はさておき、その他は見つからないのが不思議です
674デフォルトの名無しさん
2017/11/23(木) 20:21:54.46ID:/mQ4CZGQ >>673
カタラン予想ですでに存在しないことが証明されているのに何が不思議なのかね
カタラン予想ですでに存在しないことが証明されているのに何が不思議なのかね
675デフォルトの名無しさん
2017/11/23(木) 20:24:10.50ID:hjkeK8jf676デフォルトの名無しさん
2017/11/23(木) 20:56:22.87ID:fGVRHt7J677デフォルトの名無しさん
2017/11/23(木) 21:05:28.66ID:uF7hi9HH678668
2017/11/24(金) 06:21:36.98ID:8wyGH9pr >>658
Kotlin数値判定版。こんな風にも書けるなと後で気づいた。
fun f(n: Int): Boolean {
var m = n;
while (m != 0) {
if (m % 10 == 0)
return false
m = m / 10
}
return true
}
fun main(args: Array<String>) {
(1..999).filter(::f).forEach(::println)
}
Kotlin数値判定版。こんな風にも書けるなと後で気づいた。
fun f(n: Int): Boolean {
var m = n;
while (m != 0) {
if (m % 10 == 0)
return false
m = m / 10
}
return true
}
fun main(args: Array<String>) {
(1..999).filter(::f).forEach(::println)
}
679デフォルトの名無しさん
2017/11/24(金) 07:42:25.55ID:MEHEP0+e 存在するしないをプログラミングで証明するのはお題として良くない
680デフォルトの名無しさん
2017/11/24(金) 20:42:02.54ID:G34PGfZh log 2 を2進数表記した時の小数点第 n 位から n + 9 位までを求めよ. (1 ≦ n ≦ 10^10)
cf. log 2 = 0.10110001...
*Sample input*
1
11
10000
31415926
314159265
*Sample output*
1011000101
1100100001
0010110110
1001010110
0111101001
cf. log 2 = 0.10110001...
*Sample input*
1
11
10000
31415926
314159265
*Sample output*
1011000101
1100100001
0010110110
1001010110
0111101001
681デフォルトの名無しさん
2017/11/24(金) 23:31:00.22ID:r53+zpq0 >>680
c++で書いたけど小数第100億位を計算するのに5時間くらいかかりそうorz
c++で書いたけど小数第100億位を計算するのに5時間くらいかかりそうorz
>>681
もう初手に届くとは劇速ですね
もう初手に届くとは劇速ですね
683デフォルトの名無しさん
2017/11/25(土) 06:53:37.62ID:Uo3oYb2P 無条件でlogって書いたら普通自然対数だろ
684デフォルトの名無しさん
2017/11/25(土) 07:01:13.88ID:Uo3oYb2P ライブラリを使えばほとんど何も書かなくて良いけど
どこから書くことを求められてるの?
どこから書くことを求められてるの?
685デフォルトの名無しさん
2017/11/25(土) 07:03:54.53ID:Uo3oYb2P >>679
「良くない」じゃなくて「出来ない」でしょ
「良くない」じゃなくて「出来ない」でしょ
686デフォルトの名無しさん
2017/11/25(土) 07:16:55.64ID:Uo3oYb2P >>684
と思ったけど、普通に全桁計算したら終わらないな
と思ったけど、普通に全桁計算したら終わらないな
687デフォルトの名無しさん
2017/11/25(土) 07:34:12.57ID:Uo3oYb2P Σ { 1 / (2^i × i) }
を使って10^10項位までを42bitくらいだけ計算すれば出来るかな?
1/nの周期性を考えないと計算量的に無理?
10^10が微妙に32bitを越えてるのがイヤだねえ
を使って10^10項位までを42bitくらいだけ計算すれば出来るかな?
1/nの周期性を考えないと計算量的に無理?
10^10が微妙に32bitを越えてるのがイヤだねえ
688デフォルトの名無しさん
2017/11/25(土) 08:21:38.07ID:Uo3oYb2P689デフォルトの名無しさん
2017/11/25(土) 13:10:34.24ID:l6j6CjYT >>375
xxx@xxx-VirtualBox:~/casl$ casl -s -e -i stdlib.casl -i bigint.casl fact.casl
1
1
2
6
24
120
720
5040
40320
362880
途 中 省 略
1405006117752879898543142606244511569936384000000000
60415263063373835637355132068513997507264512000000000
2658271574788448768043625811014615890319638528000000000
119622220865480194561963161495657715064383733760000000000
5502622159812088949850305428800254892961651752960000000000
258623241511168180642964355153611979969197632389120000000000
12413915592536072670862289047373375038521486354677760000000000
608281864034267560872252163321295376887552831379210240000000000
30414093201713378043612608166064768844377641568960512000000000000
暇つぶしに書いてみたけど足算掛算割算しかできない
引算は難しすぎるんで諦めた
xxx@xxx-VirtualBox:~/casl$ casl -s -e -i stdlib.casl -i bigint.casl fact.casl
1
1
2
6
24
120
720
5040
40320
362880
途 中 省 略
1405006117752879898543142606244511569936384000000000
60415263063373835637355132068513997507264512000000000
2658271574788448768043625811014615890319638528000000000
119622220865480194561963161495657715064383733760000000000
5502622159812088949850305428800254892961651752960000000000
258623241511168180642964355153611979969197632389120000000000
12413915592536072670862289047373375038521486354677760000000000
608281864034267560872252163321295376887552831379210240000000000
30414093201713378043612608166064768844377641568960512000000000000
暇つぶしに書いてみたけど足算掛算割算しかできない
引算は難しすぎるんで諦めた
690デフォルトの名無しさん
2017/11/25(土) 16:35:37.76ID:J1zvm3XW バイナリ法で最適化した結果なんとか1時間あれば10^10位は計算できるようになったがまだ縮められるかな
694デフォルトの名無しさん
2017/11/25(土) 22:58:19.91ID:yyAYDlfh 対数関数のマクローリン展開?
そりゃ無理だ
log 0 が定義されてない
そりゃ無理だ
log 0 が定義されてない
695デフォルトの名無しさん
2017/11/25(土) 23:12:41.85ID:FRsJtlII696デフォルトの名無しさん
2017/11/25(土) 23:38:41.06ID:yyAYDlfh >>680
log 2 = Σ_[i=1, 2, ...] { 1 / (2^i × i) }
冪剰余
でいける気がしてきた
しばらく暇がない
時間が空いたら
アセンブラ & C++ & OpenMP
でやってみる
log 2 = Σ_[i=1, 2, ...] { 1 / (2^i × i) }
冪剰余
でいける気がしてきた
しばらく暇がない
時間が空いたら
アセンブラ & C++ & OpenMP
でやってみる
697デフォルトの名無しさん
2017/11/26(日) 02:33:02.82ID:T275kIwU >>650
(setq aaa '(1 5 10 50 100 500))
(setq ddd 750)
(setq jjj 15)
(defun bbb (ccc iii)
(if (= iii 0)
ccc
(let (eee)
(dolist (fff ccc)
(dolist (ggg aaa)
(when (<= (+ (apply #'+ fff) ggg) ddd)
(push (cons ggg fff) eee))))
(bbb (remove-duplicates (mapcar (lambda (x) (sort (copy-seq x) #'<)) eee) :test 'equal) (1- iii)))))
(let* ((kkk (bbb '((0)) jjj))
(lll (mapcar (lambda (x) (remove 0 x)) kkk)))
(remove-if-not (lambda (x) (and
(= (apply #'+ x) ddd)
(= (length x) jjj)
(= (length (remove-duplicates x)) (length aaa))
)) lll))
((1 1 1 1 1 5 5 5 10 10 10 50 50 100 500))
(setq aaa '(1 5 10 50 100 500))
(setq ddd 750)
(setq jjj 15)
(defun bbb (ccc iii)
(if (= iii 0)
ccc
(let (eee)
(dolist (fff ccc)
(dolist (ggg aaa)
(when (<= (+ (apply #'+ fff) ggg) ddd)
(push (cons ggg fff) eee))))
(bbb (remove-duplicates (mapcar (lambda (x) (sort (copy-seq x) #'<)) eee) :test 'equal) (1- iii)))))
(let* ((kkk (bbb '((0)) jjj))
(lll (mapcar (lambda (x) (remove 0 x)) kkk)))
(remove-if-not (lambda (x) (and
(= (apply #'+ x) ddd)
(= (length x) jjj)
(= (length (remove-duplicates x)) (length aaa))
)) lll))
((1 1 1 1 1 5 5 5 10 10 10 50 50 100 500))
698デフォルトの名無しさん
2017/11/26(日) 02:34:12.86ID:T275kIwU >>650
(setq aaa '(A B C D E))
(defun fff (ddd)
(if (null (cdar ddd))
ddd
(let (eee)
(dolist (jjj ddd)
(let ((bbb (car jjj))
(ccc (cdr jjj)))
(setq eee (append (mapcar (lambda (x) (cons (cons x bbb) (remove x ccc))) ccc) eee))))
(fff eee))))
(defun iii (kkk)
(if (< kkk 2) #'identity #'not))
(let* ((ggg (fff (list (cons nil aaa))))
(hhh (mapcar (lambda (x) (car x)) ggg)))
(remove-if-not (lambda (x) (and (funcall (iii (position 'A x)) (> (position 'D x) 1))
(funcall (iii (position 'B x)) (= (position 'A x) 1))
(funcall (iii (position 'C x)) (> (position 'E x) 1))
(funcall (iii (position 'D x)) (= (position 'C x) 1))
(funcall (iii (position 'E x)) (< (position 'B x) 2)))) hhh))
((D C B E A) (D C E B A) (D C A E B) (D C E A B) (D C A B E) (D C B A E))
(setq aaa '(A B C D E))
(defun fff (ddd)
(if (null (cdar ddd))
ddd
(let (eee)
(dolist (jjj ddd)
(let ((bbb (car jjj))
(ccc (cdr jjj)))
(setq eee (append (mapcar (lambda (x) (cons (cons x bbb) (remove x ccc))) ccc) eee))))
(fff eee))))
(defun iii (kkk)
(if (< kkk 2) #'identity #'not))
(let* ((ggg (fff (list (cons nil aaa))))
(hhh (mapcar (lambda (x) (car x)) ggg)))
(remove-if-not (lambda (x) (and (funcall (iii (position 'A x)) (> (position 'D x) 1))
(funcall (iii (position 'B x)) (= (position 'A x) 1))
(funcall (iii (position 'C x)) (> (position 'E x) 1))
(funcall (iii (position 'D x)) (= (position 'C x) 1))
(funcall (iii (position 'E x)) (< (position 'B x) 2)))) hhh))
((D C B E A) (D C E B A) (D C A E B) (D C E A B) (D C A B E) (D C B A E))
>>694
いやいや
https://ja.wikipedia.org/wiki/%E5%AF%BE%E6%95%B0
log(1-x) = - Σ((1/n)x^n) に x = -1 を機械的に代入しました、収束半径外ですが、この値は正しいらしい。
いやいや
https://ja.wikipedia.org/wiki/%E5%AF%BE%E6%95%B0
log(1-x) = - Σ((1/n)x^n) に x = -1 を機械的に代入しました、収束半径外ですが、この値は正しいらしい。
700デフォルトの名無しさん
2017/11/26(日) 12:12:20.72ID:ffy1o2uq お題
ASCIIコード表が載っている本をあげよ
ASCIIコード表が載っている本をあげよ
701デフォルトの名無しさん
2017/11/26(日) 12:35:31.87ID:tJzac9f2 >>695
うんCASL
全部で1200行かあ
xxx@xxx-VirtualBox:~/casl$ wc -l stdlib.casl bigint.casl fact.casl
274 stdlib.casl
851 bigint.casl
76 fact.casl
1201 合計
ソースはこういうのが延々続いててずっと眺めてるとゲシュタルト崩壊起こして
何が何だか分からなくなるよ
ld gr5,0,gr1
ld gr6,1,gr1
lad gr4,4,gr1
addl gr4,gr0
st gr4,0,gr1
st gr6,1,gr1
ld gr4,=1
st gr4,2,gr1
st gr0,3,gr1
ld gr6,gr1
ld gr1,0,gr1
st gr5,0,gr1
st gr6,1,gr1
xor gr4,gr4
st gr4,2,gr1
lad gr2,-4,gr2
subl gr2,gr0
st gr2,3,gr1
ld gr0,gr3
うんCASL
全部で1200行かあ
xxx@xxx-VirtualBox:~/casl$ wc -l stdlib.casl bigint.casl fact.casl
274 stdlib.casl
851 bigint.casl
76 fact.casl
1201 合計
ソースはこういうのが延々続いててずっと眺めてるとゲシュタルト崩壊起こして
何が何だか分からなくなるよ
ld gr5,0,gr1
ld gr6,1,gr1
lad gr4,4,gr1
addl gr4,gr0
st gr4,0,gr1
st gr6,1,gr1
ld gr4,=1
st gr4,2,gr1
st gr0,3,gr1
ld gr6,gr1
ld gr1,0,gr1
st gr5,0,gr1
st gr6,1,gr1
xor gr4,gr4
st gr4,2,gr1
lad gr2,-4,gr2
subl gr2,gr0
st gr2,3,gr1
ld gr0,gr3
702デフォルトの名無しさん
2017/11/26(日) 12:35:43.37ID:WgExDItE703デフォルトの名無しさん
2017/11/26(日) 12:49:31.90ID:WgExDItE704デフォルトの名無しさん
2017/11/26(日) 13:21:30.43ID:jiBTwXK4 理解はしてないが、出てきたので貼っとく。
指数対数関数等の超越関数の多倍精度計算
本論文では、 指数対数関数の高精度計算として Taylor 展開に BSA 法を使って高速化する方法提案する。
約 1000 桁以下の精度の計算では、 Taylor 展開を使った計算が Sasaki and Kanada[5] によって、様々な計算
法を比較して最も高速であることが示されているので、 計算時間が問題となるのは、 1000 桁以上の精度の
計算である。 ここで提案した Taylor 展開に BSA 法を適用して高速化した方法と Sasaki and Kanda によっ
て提案された方法を 1000 桁を超えた精度で比較し、 その高速性を示した。
211 階乗計算例
10000! の計算を行う。 この計算では、 BSA 法を使うだけでなく、 1600 桁以上の数値に対しては FFT を利用して乗算を行っている。
計算方法 計算時間(msec)
BSA 47
従来の方法 3578
このほか、 三角関数、逆三角関数、双曲線関数など簡単な規則で各項の係数が表現でき、 多くの関数がこの
行列の乗算形式に変形できます。Taylor 展開の係数が簡単な規則で表現できない $\tan x$ が例外的に表現できないだけである。
3 まとめ
指数関数や対数関数の Taylor 展開に BSA 法を適用することによって、 BSA を使わない従来の方法に比べ40 %程度の高速化ができた。
対数関数に対しては、 5000 桁程度の精度で最も高速な計算方法として知られた Sasaki and Kanada の方法を超えることを示した。
http://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1456-24.pdf
指数対数関数等の超越関数の多倍精度計算
本論文では、 指数対数関数の高精度計算として Taylor 展開に BSA 法を使って高速化する方法提案する。
約 1000 桁以下の精度の計算では、 Taylor 展開を使った計算が Sasaki and Kanada[5] によって、様々な計算
法を比較して最も高速であることが示されているので、 計算時間が問題となるのは、 1000 桁以上の精度の
計算である。 ここで提案した Taylor 展開に BSA 法を適用して高速化した方法と Sasaki and Kanda によっ
て提案された方法を 1000 桁を超えた精度で比較し、 その高速性を示した。
211 階乗計算例
10000! の計算を行う。 この計算では、 BSA 法を使うだけでなく、 1600 桁以上の数値に対しては FFT を利用して乗算を行っている。
計算方法 計算時間(msec)
BSA 47
従来の方法 3578
このほか、 三角関数、逆三角関数、双曲線関数など簡単な規則で各項の係数が表現でき、 多くの関数がこの
行列の乗算形式に変形できます。Taylor 展開の係数が簡単な規則で表現できない $\tan x$ が例外的に表現できないだけである。
3 まとめ
指数関数や対数関数の Taylor 展開に BSA 法を適用することによって、 BSA を使わない従来の方法に比べ40 %程度の高速化ができた。
対数関数に対しては、 5000 桁程度の精度で最も高速な計算方法として知られた Sasaki and Kanada の方法を超えることを示した。
http://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1456-24.pdf
706デフォルトの名無しさん
2017/11/26(日) 13:44:48.59ID:jiBTwXK4 とりあえず理解はできた計算方法として、logxの近似値などをaとおいたとき、
logx = a + log(x/e^a)という変形を用いる方法だ。
aが近似値だと、x≒e^aなので良いらしい。
logx = a + log(x/e^a)という変形を用いる方法だ。
aが近似値だと、x≒e^aなので良いらしい。
707デフォルトの名無しさん
2017/11/26(日) 13:58:53.69ID:WgExDItE708デフォルトの名無しさん
2017/11/26(日) 14:20:52.91ID:WgExDItE709デフォルトの名無しさん
2017/11/26(日) 15:04:05.33ID:jiBTwXK4 exp(x)は、(exp(x/k))^k (kは2ベキ)、とするといいらしい。
k=2なら、括弧内を計算したやつ同士の掛け算。
k=2なら、括弧内を計算したやつ同士の掛け算。
>>689
えへへ、調べさせてもらったよw
後半は 42! から 50! までの値だね
この範囲なら、多数桁×ワンレジスタの計算で済みますね
多数桁×多数桁を実装すれば思いっきり褒めてあげるよ、えへへ:−)
えへへ、調べさせてもらったよw
後半は 42! から 50! までの値だね
この範囲なら、多数桁×ワンレジスタの計算で済みますね
多数桁×多数桁を実装すれば思いっきり褒めてあげるよ、えへへ:−)
712デフォルトの名無しさん
2017/11/26(日) 21:11:54.45ID:tJzac9f2 >>711
ほい
xxx@xxx-VirtualBox:~/casl$ casl -s -e -i stdlib.casl -i bigint.casl bimul.casl
350306543997676425792
153864088327713953064
53899597027434699691252340823058767026688
ほい
xxx@xxx-VirtualBox:~/casl$ casl -s -e -i stdlib.casl -i bigint.casl bimul.casl
350306543997676425792
153864088327713953064
53899597027434699691252340823058767026688
714デフォルトの名無しさん
2017/11/26(日) 23:01:31.48ID:tJzac9f2 >>713
gmpで確かめてるのかあ
俺は確認はclispかrubyでやってるよ
10進文字列からの変換は10倍しながら足しこんでいくだけだから
そんなに難しくないでしょ
掛算なしでも(n<<3)+(n<<1)でできるし
逆の10進文字列への変換は割算が必要だから実装するの大変だったなあ
これができあがるまではメモリを16進ダンプして計算が合ってるか確かめてた
gmpで確かめてるのかあ
俺は確認はclispかrubyでやってるよ
10進文字列からの変換は10倍しながら足しこんでいくだけだから
そんなに難しくないでしょ
掛算なしでも(n<<3)+(n<<1)でできるし
逆の10進文字列への変換は割算が必要だから実装するの大変だったなあ
これができあがるまではメモリを16進ダンプして計算が合ってるか確かめてた
715デフォルトの名無しさん
2017/11/27(月) 06:49:43.60ID:qqP20rnw716デフォルトの名無しさん
2017/11/27(月) 07:17:24.36ID:qqP20rnw 誤差しらべたら、テイラー展開は平均値の定理一般化だったか
数値計算とテイラー展開
ある区間において,関数 f(x)がn 回微分可能であるとし,定数aはこの区間に含まれるものとする.x もこの区間内に含まれるとき,
http://math-lab.main.jp/taylor07a.jpg
をみたすa とx の間の実数c (a <c <x または x <c <a)が存在する
http://math-lab.main.jp/taylor7.html
数値計算とテイラー展開
ある区間において,関数 f(x)がn 回微分可能であるとし,定数aはこの区間に含まれるものとする.x もこの区間内に含まれるとき,
http://math-lab.main.jp/taylor07a.jpg
をみたすa とx の間の実数c (a <c <x または x <c <a)が存在する
http://math-lab.main.jp/taylor7.html
717デフォルトの名無しさん
2017/11/27(月) 07:40:30.25ID:qqP20rnw log(1+x)の誤差項、剰余項は、(-1)^(n-1)/n * (x/(1+c))^n らしいので、
-log(1-x)では、1/n * (x/(1+c))^n か。
x=1/2で考えると、この項をなるべく大きくするならc=0で、誤差は(1/n) >> n以下か。ふたたびシフト使用。
-log(1-x)では、1/n * (x/(1+c))^n か。
x=1/2で考えると、この項をなるべく大きくするならc=0で、誤差は(1/n) >> n以下か。ふたたびシフト使用。
718デフォルトの名無しさん
2017/11/27(月) 07:44:14.48ID:qqP20rnw まとめると、
log2 - (Σ(1/k) >> k) < (1/n) >> n (級数はn-1までの和)
log2 - (Σ(1/k) >> k) < (1/n) >> n (級数はn-1までの和)
719デフォルトの名無しさん
2017/11/27(月) 08:54:49.81ID:qqP20rnw どこか間違えてる 次数か?
720デフォルトの名無しさん
2017/11/27(月) 08:59:59.63ID:qqP20rnw いやあってるか。
A(k) = (1/k)>>kと置くと、
log2 - ΣA(k) < A(n) (級数はn-1までの和) で
ΣA(k) (n+1以上の和) < A(n) が成立するのか。
A(k) = (1/k)>>kと置くと、
log2 - ΣA(k) < A(n) (級数はn-1までの和) で
ΣA(k) (n+1以上の和) < A(n) が成立するのか。
721デフォルトの名無しさん
2017/11/27(月) 10:11:23.24ID:qqP20rnw やはり、どこか間違ってるな。
上のとおりだと、log2 - ΣA(k) (級数はn-1までの和)は、
A(n) を含むので、A(n)より小さいはずがない。
上のとおりだと、log2 - ΣA(k) (級数はn-1までの和)は、
A(n) を含むので、A(n)より小さいはずがない。
>>701
>ソースはこういうのが延々続いててずっと眺めてるとゲシュタルト崩壊起こして何が何だか分からなくなるよ
対象のコード書いてるときの「感覚」をハードディスクかどこかに貯めておいて、
必要に応じてまた脳みそに搭載できるようにならないものか…
そのマシン語の一行一行にも、もともとはなんらかの意味的構造があったのに、それが消えてしまうなんて損失以外のなにものでもないよね
>ソースはこういうのが延々続いててずっと眺めてるとゲシュタルト崩壊起こして何が何だか分からなくなるよ
対象のコード書いてるときの「感覚」をハードディスクかどこかに貯めておいて、
必要に応じてまた脳みそに搭載できるようにならないものか…
そのマシン語の一行一行にも、もともとはなんらかの意味的構造があったのに、それが消えてしまうなんて損失以外のなにものでもないよね
723デフォルトの名無しさん
2017/11/27(月) 23:36:53.65ID:bwTh4Bk9724デフォルトの名無しさん
2017/11/28(火) 13:09:45.40ID:IU/PYwM1725デフォルトの名無しさん
2017/11/28(火) 13:17:18.48ID:IU/PYwM1726デフォルトの名無しさん
2017/11/28(火) 13:20:30.03ID:IU/PYwM1 冪剰余を求めるのに
(a * b) % c
みたいなのがたくさん出てきませんか?
aもbもcも32bitの範囲を微妙に越えてて
(a * b) % c
みたいなのがたくさん出てきませんか?
aもbもcも32bitの範囲を微妙に越えてて
727デフォルトの名無しさん
2017/11/28(火) 14:44:32.26ID:jzUFRHpN 誤差部分の間違いが判った。これでよさげだ。
ただし誤差評価を荒くやってはダメそうだが。一番最後の行のところ。
誤差項ありのマクローリン展開は、0<=c<=xが存在して
f(x) = Σ x^k * f(k)(0)/k! (kは0からn-1まで) + x^n * f(n)(c)/n!
f(x) = -log(1-x)のn次導関数は、(n-1)!/(1-x)^n。
このときマクローリン展開は誤差項は x^n / (n*(1-c)^n)
x=1/2ならば、c=1/2のとき最大で、1/n
ただし誤差評価を荒くやってはダメそうだが。一番最後の行のところ。
誤差項ありのマクローリン展開は、0<=c<=xが存在して
f(x) = Σ x^k * f(k)(0)/k! (kは0からn-1まで) + x^n * f(n)(c)/n!
f(x) = -log(1-x)のn次導関数は、(n-1)!/(1-x)^n。
このときマクローリン展開は誤差項は x^n / (n*(1-c)^n)
x=1/2ならば、c=1/2のとき最大で、1/n
728デフォルトの名無しさん
2017/11/28(火) 19:45:30.22ID:jzUFRHpN これが収束速いようだ。
log(2) = 3log(81/80) + 5log(25/24) + 7log(16/15)
log((x+1)/(x-1))
= log((1+1/x)/(1-1/x))
= 2 Σ 1/((2n+1)*x^(2n+1))
log(2) = 3log(81/80) + 5log(25/24) + 7log(16/15)
log((x+1)/(x-1))
= log((1+1/x)/(1-1/x))
= 2 Σ 1/((2n+1)*x^(2n+1))
729デフォルトの名無しさん
2017/11/28(火) 22:18:22.38ID:7WoPw74F >>728
1/log(2) ≒ 3.32
1/2log(161)+1/2log(49)+1/2log(31) ≒ 0.85
なので、計算に必要な項数は1/4程度
でも、1つの項の計算には時間がかかる
log(1-x)のマクローリン展開に0.5を入れた物は
分母が i * 2^i だから速く計算できるのだ
1/log(2) ≒ 3.32
1/2log(161)+1/2log(49)+1/2log(31) ≒ 0.85
なので、計算に必要な項数は1/4程度
でも、1つの項の計算には時間がかかる
log(1-x)のマクローリン展開に0.5を入れた物は
分母が i * 2^i だから速く計算できるのだ
730デフォルトの名無しさん
2017/11/28(火) 22:20:46.48ID:7WoPw74F731デフォルトの名無しさん
2017/11/28(火) 22:47:09.33ID:7WoPw74F >>724
Haswellで33.96秒に縮まりました
シングルスレッドだと182.54秒で5.3倍
HTTが効くということは、
まだ多少改善の余地がありそう
一番内側のループは
vmulpd
vmulpd
vroundpd
vfmsub213pd
vfmsub132pd
vsubpd
なんと浮動小数点で計算してます
Haswellで33.96秒に縮まりました
シングルスレッドだと182.54秒で5.3倍
HTTが効くということは、
まだ多少改善の余地がありそう
一番内側のループは
vmulpd
vmulpd
vroundpd
vfmsub213pd
vfmsub132pd
vsubpd
なんと浮動小数点で計算してます
732デフォルトの名無しさん
2017/11/28(火) 22:53:54.93ID:7WoPw74F n=10000000000の時は
0000010101 でした
出題者さま、合ってます?
また、たまたまですが
n=10000000004では
0101010101
n=10000000005では
1010101010
になります
0000010101 でした
出題者さま、合ってます?
また、たまたまですが
n=10000000004では
0101010101
n=10000000005では
1010101010
になります
733デフォルトの名無しさん
2017/11/28(火) 23:30:15.70ID:9HoDrqB3 一番内側のループのコード
http://fast-uploader.com/file/7067434368942/
PORT5がガラ空きで、処理のほとんどがPORT0,PORT1
こんなんでもHTTが効く
やっぱり浮動小数点はレイテンシがデカい
AVX512になれば
レジスタの数が倍になるので
8パラにしてレイテンシを隠蔽出来るんだけど
もちろんレジスタ長が倍になる方が大きい
http://fast-uploader.com/file/7067434368942/
PORT5がガラ空きで、処理のほとんどがPORT0,PORT1
こんなんでもHTTが効く
やっぱり浮動小数点はレイテンシがデカい
AVX512になれば
レジスタの数が倍になるので
8パラにしてレイテンシを隠蔽出来るんだけど
もちろんレジスタ長が倍になる方が大きい
734デフォルトの名無しさん
2017/11/29(水) 13:17:33.09ID:mHyZby47735デフォルトの名無しさん
2017/11/29(水) 13:34:57.75ID:8/kTvoZy 2 = (81/80)^3 * (25/24)^5 * (16/15)^7
3 と 5 の指数の合計が0になる組み合わせを検索すれば良い
3 と 5 の指数の合計が0になる組み合わせを検索すれば良い
736デフォルトの名無しさん
2017/11/29(水) 13:37:30.83ID:8/kTvoZy737デフォルトの名無しさん
2017/11/29(水) 13:42:05.17ID:mHyZby47 >>728はそういうことか。みつけたやつのコピペで、そのとき考慮はしてなかった。
738デフォルトの名無しさん
2017/11/29(水) 13:45:31.51ID:mHyZby47 指数も固定でなくていいはずで、
16/15よりかはたとえば1001/1000のほうが1に近いからそういうのはいくらでも見つけられるのかとおもった。
16/15よりかはたとえば1001/1000のほうが1に近いからそういうのはいくらでも見つけられるのかとおもった。
739デフォルトの名無しさん
2017/11/29(水) 14:44:26.09ID:8/kTvoZy 分母分子の素因数の数と同じ項数が必要
例えば素因数が 2, 3, 5, 7 の4種類の場合、
1個差もしくは2個差のペアを4個探す
例えば
126/125
225/224
2401/2400
4375/4374
これらを適当に掛け算して2^nになるようにすると
項が4個の式がみつかる
例えば素因数が 2, 3, 5, 7 の4種類の場合、
1個差もしくは2個差のペアを4個探す
例えば
126/125
225/224
2401/2400
4375/4374
これらを適当に掛け算して2^nになるようにすると
項が4個の式がみつかる
740デフォルトの名無しさん
2017/11/30(木) 00:31:43.08ID:H4qIjcIH 分母、分子とも 2, 3, 5, 7, 11, 13, 17 のみしか素因数を持たない形の場合、
以下が一番計算する項の数が少ないようです
log(2) = 72*log(126/125)+27*log(225/224)-19*log(2401/2400)+31*log(4375/4374)
以下が一番計算する項の数が少ないようです
log(2) = 72*log(126/125)+27*log(225/224)-19*log(2401/2400)+31*log(4375/4374)
741デフォルトの名無しさん
2017/11/30(木) 05:07:54.11ID:fMs2N0Mh >>740
その数値を検索すると、音楽のコンマというのが出てくる。関係あったり理論があったりするのか。
A.D. Fokker: Unison Vectors and Periodicity Blocks
http://www.huygens-fokker.org/docs/fokkerpb.html
List of 7-prime limit accidentals - The?Sagittal?forum
http://forum.sagittal.org/viewtopic.php?f=6&t=252
その数値を検索すると、音楽のコンマというのが出てくる。関係あったり理論があったりするのか。
A.D. Fokker: Unison Vectors and Periodicity Blocks
http://www.huygens-fokker.org/docs/fokkerpb.html
List of 7-prime limit accidentals - The?Sagittal?forum
http://forum.sagittal.org/viewtopic.php?f=6&t=252
742デフォルトの名無しさん
2017/11/30(木) 05:28:17.43ID:fMs2N0Mh log(2)とは無関係で、単に一個差のやつで適当な素因数分解できるやつに名前がついてるだけ?
An Investigation into the Extraction of Melodic and Harmonic Features from Digital Audio
unit interval name
4375/4374 Ragisma
2401/2400 Breedsma
225/224 Septimal Kleisma
145/144 Difference between 29:16 and 9:5
126/125 Small Septimal Semicomma
121/120 Undecimal Seconds Comma
81/80 Syntonic Comma
http://scholar.sun.ac.za/handle/10019.1/100826
An Investigation into the Extraction of Melodic and Harmonic Features from Digital Audio
unit interval name
4375/4374 Ragisma
2401/2400 Breedsma
225/224 Septimal Kleisma
145/144 Difference between 29:16 and 9:5
126/125 Small Septimal Semicomma
121/120 Undecimal Seconds Comma
81/80 Syntonic Comma
http://scholar.sun.ac.za/handle/10019.1/100826
743デフォルトの名無しさん
2017/11/30(木) 11:02:35.16ID:fMs2N0Mh log2のほうは、分子・分母の素因数分解が似通ってないと成立しないってことで、
音楽のほうは小さい素数に限定して一個差ペアを求めたと理解。
log2のほうは、共通の素数で大きいやつを最初に固定すれば考えれば、よさげかと。
音楽のほうは小さい素数に限定して一個差ペアを求めたと理解。
log2のほうは、共通の素数で大きいやつを最初に固定すれば考えれば、よさげかと。
744片山博文MZ ◆T6xkBnTXz7B0
2017/11/30(木) 12:12:48.85ID:NsMGt5if お題。横x[cm]、縦y[cm]の長方形のステンレスの1枚の板がある。この板からm枚の複数の長方形の部材を切り出す。
部材のサイズは配列で与えられる。
部材のサイズ(縦×横)はそれぞれだいたい決まっているが、1cm程度変わってもよい。
ただし、部材の縦または横が変わるとそれぞれ一点減点となる。
すべての部材を切り出すことができれば、減点がなるべく少ない方法の切り出し方法を出力せよ。
すべての部材を切り出すことができなければ、面積が広い順になるべくたくさん部材を切り出せ。
部材のサイズは配列で与えられる。
部材のサイズ(縦×横)はそれぞれだいたい決まっているが、1cm程度変わってもよい。
ただし、部材の縦または横が変わるとそれぞれ一点減点となる。
すべての部材を切り出すことができれば、減点がなるべく少ない方法の切り出し方法を出力せよ。
すべての部材を切り出すことができなければ、面積が広い順になるべくたくさん部材を切り出せ。
745片山博文MZ ◆T6xkBnTXz7B0
2017/11/30(木) 12:19:33.84ID:NsMGt5if テストデータ。
x=10, y=10,
{
{5, 10}, {2, 2}, {2, 2}, {4, 3}, {6, 5}
}
x=5, y=12
{
{2, 5}, {3, 3}, {2,9}, {3, 2}, {4,3}
}
x=10, y=10,
{
{5, 10}, {2, 2}, {2, 2}, {4, 3}, {6, 5}
}
x=5, y=12
{
{2, 5}, {3, 3}, {2,9}, {3, 2}, {4,3}
}
746片山博文MZ ◆T6xkBnTXz7B0
2017/11/30(木) 12:28:07.36ID:NsMGt5if 部材の縦と横は入れ替わってもよい。
可能ならば、切り出し方法をSVG形式で出力せよ。
可能ならば、切り出し方法をSVG形式で出力せよ。
747片山博文MZ ◆T6xkBnTXz7B0
2017/11/30(木) 12:51:59.04ID:NsMGt5if 切り出し方法は、
切り出す部材のx座標、y座標、幅、高さ
のリストとして出力せよ。
切り出す部材のx座標、y座標、幅、高さ
のリストとして出力せよ。
748片山博文MZ ◆T6xkBnTXz7B0
2017/11/30(木) 12:56:57.25ID:NsMGt5if 切り出しに余裕があるときは、なるべくx座標の大きい方、y座標の大きい方を残すようにせよ。
749デフォルトの名無しさん
2017/11/30(木) 13:08:21.37ID:tkxPMdZc 斜めもOK?
750デフォルトの名無しさん
2017/11/30(木) 13:08:55.87ID:tkxPMdZc 人間用のパズルで、斜めにしないと解けないのとかありそう
751デフォルトの名無しさん
2017/11/30(木) 14:23:24.17ID:SHLZLl2M 問題文の条件が“だいたい”“なるべく”なんて
あいまい表現だらけ
これでプログラミングの問題かよ
あいまい表現だらけ
これでプログラミングの問題かよ
752片山博文MZ ◆T6xkBnTXz7B0
2017/11/30(木) 16:18:01.24ID:NsMGt5if 斜めは考えなくてもよい。
訂正。
すべての部材を切り出すことができれば、減点が最小である切り出し方法を出力せよ。
すべての部材を切り出すことができなければ、面積が広い順に切り出せる部材の面積が最大になるよう部材を切り出せ。
切り出しに余裕があるときは、x座標の大きい方、y座標の大きい方を残すようにせよ。
訂正。
すべての部材を切り出すことができれば、減点が最小である切り出し方法を出力せよ。
すべての部材を切り出すことができなければ、面積が広い順に切り出せる部材の面積が最大になるよう部材を切り出せ。
切り出しに余裕があるときは、x座標の大きい方、y座標の大きい方を残すようにせよ。
753680
2017/11/30(木) 17:10:37.24ID:8ZVWPbH7754デフォルトの名無しさん
2017/11/30(木) 17:26:52.63ID:r8WkgLop 普通に多倍長で計算したら計算量的に終わらないですよね?
n=314159265を求めるのに
冪剰余は使ってますよね?
おそらく私も同じような方法と思います
FMA3命令とOpenMPで高速化してるだけで
n=314159265を求めるのに
冪剰余は使ってますよね?
おそらく私も同じような方法と思います
FMA3命令とOpenMPで高速化してるだけで
755デフォルトの名無しさん
2017/11/30(木) 22:49:50.18ID:TklDiPhy 愚直という言い方は良く割りませんでしたね
仰る通り冪剰余は用います
仰る通り冪剰余は用います
756片山博文MZ ◆T6xkBnTXz7B0
2017/12/01(金) 14:26:32.50ID:fw1UFg83 再出題。横cx[cm]、縦cy[cm]の長方形または正方形のステンレスの1枚の板がある。この板からm枚の複数の長方形または正方形の部材を切り出す。
m枚の部材のサイズは(縦, 横)の配列で与えられる。
すべての部材を切り出すことができれば、切り出し方法を出力せよ。切り出しが不可能ならば「impossible」と出力せよ。
切り出し方法は、
(部材インデックス、部材の一番左のx座標、部材の一番上のy座標、幅、高さ)
のリストとして出力せよ。斜めの方向の切り出しは考えなくてもよい。
切り出しに余裕があるときは、x座標の大きい方、y座標の大きい方を残すようにせよ。ただし、x軸は右の向き、y軸は下向きとする。
テストデータ。
cx=10, cy=10, m=5, {5, 10}, {2, 2}, {2, 2}, {4, 3}, {6, 5}
cx=5, cy=12, m=5, {2, 5}, {3, 3}, {2, 8}, {3, 2}, {4, 3}
m枚の部材のサイズは(縦, 横)の配列で与えられる。
すべての部材を切り出すことができれば、切り出し方法を出力せよ。切り出しが不可能ならば「impossible」と出力せよ。
切り出し方法は、
(部材インデックス、部材の一番左のx座標、部材の一番上のy座標、幅、高さ)
のリストとして出力せよ。斜めの方向の切り出しは考えなくてもよい。
切り出しに余裕があるときは、x座標の大きい方、y座標の大きい方を残すようにせよ。ただし、x軸は右の向き、y軸は下向きとする。
テストデータ。
cx=10, cy=10, m=5, {5, 10}, {2, 2}, {2, 2}, {4, 3}, {6, 5}
cx=5, cy=12, m=5, {2, 5}, {3, 3}, {2, 8}, {3, 2}, {4, 3}
757デフォルトの名無しさん
2017/12/01(金) 17:01:28.13ID:BqJQPTjH 頭の悪そうな文章だな
正方形⊂長方形
ステンレスの板の座標上の位置指定が無い
余裕がある場合の条件の意味が曖昧
正方形⊂長方形
ステンレスの板の座標上の位置指定が無い
余裕がある場合の条件の意味が曖昧
758片山博文MZ ◆T6xkBnTXz7B0
2017/12/01(金) 18:41:36.20ID:fw1UFg83 ステンレスの板の左上座標は原点にあるものとする。
切り出しは、可能な限り、座標の小さい方を優先する(「余裕」の意味)。
切り出しは、可能な限り、座標の小さい方を優先する(「余裕」の意味)。
759デフォルトの名無しさん
2017/12/01(金) 20:32:10.86ID:9YSaSAW0760片山博文MZ ◆T6xkBnTXz7B0
2017/12/01(金) 20:41:14.79ID:fw1UFg83 全ての部材の上辺と左辺が別の部材の辺、もしくは、元の板の端に接していること。
このような条件のをすべて見つけること。
このような条件のをすべて見つけること。
761片山博文MZ ◆T6xkBnTXz7B0
2017/12/01(金) 20:43:57.24ID:fw1UFg83 なんか、工学関係でこのような問題があるらしいが、まだ解決策があるかどうかわからん。これが解ければ、実用化待ったなし。
762デフォルトの名無しさん
2017/12/01(金) 21:15:23.73ID:9YSaSAW0 お題じゃなくて依頼かよ
763デフォルトの名無しさん
2017/12/01(金) 21:19:54.38ID:9YSaSAW0 実用性なら
切りやすさとか余り素材の形状とか
そういうのが重要だろうに
問題として中途半端過ぎる
切りやすさとか余り素材の形状とか
そういうのが重要だろうに
問題として中途半端過ぎる
764デフォルトの名無しさん
2017/12/01(金) 21:20:21.36ID:qVeescqP また片山博文MZ が乞食をやってるのか
765デフォルトの名無しさん
2017/12/01(金) 21:23:07.33ID:9YSaSAW0 普通に考えて、NP問題だろう
766デフォルトの名無しさん
2017/12/01(金) 21:48:16.44ID:8H4JUlF5 なにやら揉めてますね
そろそろうんざりなので次のお題どうぞ
そろそろうんざりなので次のお題どうぞ
767デフォルトの名無しさん
2017/12/01(金) 23:36:29.58ID:N1IVcYDB スポーツスケジューリング問題。
768デフォルトの名無しさん
2017/12/03(日) 02:47:12.16ID:QazTjKaA お題ってこういうのでもいいのかな
a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
このように10個の整数を要素に持つ配列がある(整数の値は不定)
b = エントリーポイント
c = 移動する数量
d = 移動する距離
を与えることにより、配列の要素を移動させるプログラムを作りなさい
ただし配列の右端の要素を一つ移動させると、配列の左端に移動するものとする
例
a = 3, b = 1, c = 5, a = 0124567839
b = 1, c = 3, d = 1, a = 0412356789
b = 7, c = 1, d = 5, a = 1273456890
b = 0, c = 8, d = 1, a = 8012345679
b = 4, c = 5, d = 4, a = 6783901245
b = 9, c = 5, d = 4, a = 5679012384
b = 7, c = 3, d = 1, a = 9123456078
a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
このように10個の整数を要素に持つ配列がある(整数の値は不定)
b = エントリーポイント
c = 移動する数量
d = 移動する距離
を与えることにより、配列の要素を移動させるプログラムを作りなさい
ただし配列の右端の要素を一つ移動させると、配列の左端に移動するものとする
例
a = 3, b = 1, c = 5, a = 0124567839
b = 1, c = 3, d = 1, a = 0412356789
b = 7, c = 1, d = 5, a = 1273456890
b = 0, c = 8, d = 1, a = 8012345679
b = 4, c = 5, d = 4, a = 6783901245
b = 9, c = 5, d = 4, a = 5679012384
b = 7, c = 3, d = 1, a = 9123456078
769デフォルトの名無しさん
2017/12/03(日) 02:49:08.83ID:QazTjKaA770デフォルトの名無しさん
2017/12/03(日) 09:00:27.20ID:ucQfMVKf771デフォルトの名無しさん
2017/12/03(日) 09:04:48.71ID:b0AFqm0g772デフォルトの名無しさん
2017/12/03(日) 10:14:55.69ID:ZeeZWfzn773デフォルトの名無しさん
2017/12/03(日) 12:12:41.56ID:jbLAlLAh >>768
b + c が10を超えることはありますか?
b + c が10を超えることはありますか?
774デフォルトの名無しさん
2017/12/03(日) 12:55:22.10ID:sC6phLBS >>773訂正
b,c,dが10を越えることはありますか?
b,c,dが10を越えることはありますか?
775デフォルトの名無しさん
2017/12/03(日) 13:05:23.73ID:b0AFqm0g >>771はb,c,dが任意の自然数でも大丈夫なようにしておいた
776デフォルトの名無しさん
2017/12/03(日) 13:08:19.92ID:QazTjKaA みなさんプログラム作るの早いですね
>>774
一応a、b、cの条件は、このようになると思います。
0 <= a <= 9
0 <= b <= 8
0 <= c <= 10 - b - 1
bとcは0では意味がないので、こっちのほうがいいのかな
0 <= a <= 9
1 <= b <= 8
1 <= c <= 10 - b - 1
>>774
一応a、b、cの条件は、このようになると思います。
0 <= a <= 9
0 <= b <= 8
0 <= c <= 10 - b - 1
bとcは0では意味がないので、こっちのほうがいいのかな
0 <= a <= 9
1 <= b <= 8
1 <= c <= 10 - b - 1
777デフォルトの名無しさん
2017/12/03(日) 13:12:58.80ID:QazTjKaA778デフォルトの名無しさん
2017/12/03(日) 13:34:35.32ID:QazTjKaA779デフォルトの名無しさん
2017/12/03(日) 17:47:25.64ID:Gq7SJlPX Linked list 使うと楽そうな感じするな
780デフォルトの名無しさん
2017/12/03(日) 18:26:21.27ID:QazTjKaA >>770,771
せっかくなのでこのテストデータを作って検証してみましたが、全部合っていました、さすがですね
それにしても他人のプログラムって動かすことはできても、理解するのは困難ですね
>>772
Mathematicaは残念ながら持っていないので検証できませんでした
b = 8 c = 6 d = 2 a = 8901236745
b = 4 c = 3 d = 2 a = 0123784569
b = 4 c = 5 d = 2 a = 8123904567
b = 2 c = 5 d = 2 a = 0178234569
b = 0 c = 5 d = 3 a = 5670123489
b = 9 c = 3 d = 4 a = 3459016782
b = 5 c = 1 d = 7 a = 1253467890
b = 4 c = 6 d = 2 a = 8923014567
b = 6 c = 7 d = 2 a = 8901253467
b = 7 c = 5 d = 4 a = 5789016234
b = 4 c = 2 d = 2 a = 0123674589
b = 6 c = 4 d = 5 a = 4678950123
b = 7 c = 4 d = 4 a = 4789056123
b = 4 c = 5 d = 4 a = 6783901245
b = 8 c = 1 d = 5 a = 1238456790
b = 0 c = 2 d = 6 a = 2345670189
b = 3 c = 7 d = 1 a = 9120345678
b = 9 c = 4 d = 2 a = 4901256783
b = 8 c = 3 d = 6 a = 3456890712
b = 2 c = 5 d = 3 a = 0178923456
せっかくなのでこのテストデータを作って検証してみましたが、全部合っていました、さすがですね
それにしても他人のプログラムって動かすことはできても、理解するのは困難ですね
>>772
Mathematicaは残念ながら持っていないので検証できませんでした
b = 8 c = 6 d = 2 a = 8901236745
b = 4 c = 3 d = 2 a = 0123784569
b = 4 c = 5 d = 2 a = 8123904567
b = 2 c = 5 d = 2 a = 0178234569
b = 0 c = 5 d = 3 a = 5670123489
b = 9 c = 3 d = 4 a = 3459016782
b = 5 c = 1 d = 7 a = 1253467890
b = 4 c = 6 d = 2 a = 8923014567
b = 6 c = 7 d = 2 a = 8901253467
b = 7 c = 5 d = 4 a = 5789016234
b = 4 c = 2 d = 2 a = 0123674589
b = 6 c = 4 d = 5 a = 4678950123
b = 7 c = 4 d = 4 a = 4789056123
b = 4 c = 5 d = 4 a = 6783901245
b = 8 c = 1 d = 5 a = 1238456790
b = 0 c = 2 d = 6 a = 2345670189
b = 3 c = 7 d = 1 a = 9120345678
b = 9 c = 4 d = 2 a = 4901256783
b = 8 c = 3 d = 6 a = 3456890712
b = 2 c = 5 d = 3 a = 0178923456
781デフォルトの名無しさん
2017/12/03(日) 20:16:05.68ID:hV+xPFYR782デフォルトの名無しさん
2017/12/03(日) 20:37:58.61ID:ucQfMVKf783デフォルトの名無しさん
2017/12/03(日) 20:51:48.60ID:ucQfMVKf784デフォルトの名無しさん
2017/12/03(日) 23:00:23.32ID:QazTjKaA785デフォルトの名無しさん
2017/12/04(月) 02:36:11.06ID:iGjrIGoV786デフォルトの名無しさん
2017/12/04(月) 06:47:18.44ID:Rc7ie/2s >>785
b = 6、 c = 6、 d = 2
のときの動作がおかしいようです
8901452367
となるはずが
0167892345
となっており、移動する"678901"の並びが崩れてしまっています
b = 6、 c = 6、 d = 2
のときの動作がおかしいようです
8901452367
となるはずが
0167892345
となっており、移動する"678901"の並びが崩れてしまっています
787785
2017/12/05(火) 02:32:35.27ID:LDxS5CId >>786
問題勘違いしてました。素直にぐるぐる回すように修正しました。
https://paiza.io/projects/ncIY4LljeBahWZPJpd8ZPQ
下の「入力」タブの方にスペース区切りで b, c, d の値を1行づつ並べて入れてから実行させると「出力」に結果が出ます。
とりあえず >>768 に書いてある値を入力にセットしたところ出力は同じになりました。
問題勘違いしてました。素直にぐるぐる回すように修正しました。
https://paiza.io/projects/ncIY4LljeBahWZPJpd8ZPQ
下の「入力」タブの方にスペース区切りで b, c, d の値を1行づつ並べて入れてから実行させると「出力」に結果が出ます。
とりあえず >>768 に書いてある値を入力にセットしたところ出力は同じになりました。
788デフォルトの名無しさん
2017/12/05(火) 20:55:13.95ID:vy+ohhoY789デフォルトの名無しさん
2017/12/05(火) 21:48:50.31ID:32LsMTj+ >>768
僕の頭だとどうしても右端から左端に行くときの動きがイメージできないので、解答締め切ったあとでもいいのでちょろっと教えてもらえると嬉しいです
上3つまではわかるけどそこから先がそもそも答えにたどり着けない……
僕の頭だとどうしても右端から左端に行くときの動きがイメージできないので、解答締め切ったあとでもいいのでちょろっと教えてもらえると嬉しいです
上3つまではわかるけどそこから先がそもそも答えにたどり着けない……
790デフォルトの名無しさん
2017/12/05(火) 23:47:14.24ID:ynbcQBXQ791デフォルトの名無しさん
2017/12/06(水) 00:25:49.49ID:gvvJf1Ph >>789
上の3つまでは分かるということなので、3つめのcの値を一つずつ増やしてみると、こんな感じになります
"7"、"78"、"789"、"7890"と並ぶ数値が増えていっているのが分かると思います
c+d の合計は9が最高なので、これ以上cを増やすにはdを減らさなくてはなりません
b = 7 c = 1 d = 5 a = 1273456890
b = 7 c = 2 d = 5 a = 2378456901
b = 7 c = 3 d = 5 a = 3478956012
b = 7 c = 4 d = 5 a = 4578906123
今度はcを2に固定して、dの値を一つずつ増やすと、こんな感じになります
"78"の並びが一つずつ右へずれていっているのが分かると思います
c+d の合計は9が最高なので、これ以上dを増やすにはcを減らさなくてはなりません
b = 7 c = 2 d = 1 a = 0123456978
b = 7 c = 2 d = 2 a = 8123456907
b = 7 c = 2 d = 3 a = 7823456901
b = 7 c = 2 d = 4 a = 2783456901
b = 7 c = 2 d = 5 a = 2378456901
b = 7 c = 2 d = 6 a = 2347856901
b = 7 c = 2 d = 7 a = 2345786901
こんな感じで分かるでしょうか?私も自分の頭で考えると混乱しますw
上の3つまでは分かるということなので、3つめのcの値を一つずつ増やしてみると、こんな感じになります
"7"、"78"、"789"、"7890"と並ぶ数値が増えていっているのが分かると思います
c+d の合計は9が最高なので、これ以上cを増やすにはdを減らさなくてはなりません
b = 7 c = 1 d = 5 a = 1273456890
b = 7 c = 2 d = 5 a = 2378456901
b = 7 c = 3 d = 5 a = 3478956012
b = 7 c = 4 d = 5 a = 4578906123
今度はcを2に固定して、dの値を一つずつ増やすと、こんな感じになります
"78"の並びが一つずつ右へずれていっているのが分かると思います
c+d の合計は9が最高なので、これ以上dを増やすにはcを減らさなくてはなりません
b = 7 c = 2 d = 1 a = 0123456978
b = 7 c = 2 d = 2 a = 8123456907
b = 7 c = 2 d = 3 a = 7823456901
b = 7 c = 2 d = 4 a = 2783456901
b = 7 c = 2 d = 5 a = 2378456901
b = 7 c = 2 d = 6 a = 2347856901
b = 7 c = 2 d = 7 a = 2345786901
こんな感じで分かるでしょうか?私も自分の頭で考えると混乱しますw
792デフォルトの名無しさん
2017/12/06(水) 00:31:57.65ID:+0bHqE6f 自分の考え方は、配列の一部を切り取ってパッディングするんだけど、
まず配列を回転させて切り取る第0インデックスを配列の最初に持って来る。
すると、配列の後ろにはすでにパディングが終わった数列のができてる。
で切り取って削除して尻尾にくっつける。
で、さっき回した分を戻してやると完成。
という方法で、>>770を解いた。
まず配列を回転させて切り取る第0インデックスを配列の最初に持って来る。
すると、配列の後ろにはすでにパディングが終わった数列のができてる。
で切り取って削除して尻尾にくっつける。
で、さっき回した分を戻してやると完成。
という方法で、>>770を解いた。
793デフォルトの名無しさん
2017/12/06(水) 00:32:05.18ID:+0bHqE6f 自分の考え方は、配列の一部を切り取ってパッディングするんだけど、
まず配列を回転させて切り取る第0インデックスを配列の最初に持って来る。
すると、配列の後ろにはすでにパディングが終わった数列のができてる。
で切り取って削除して尻尾にくっつける。
で、さっき回した分を戻してやると完成。
という方法で、>>770を解いた。
まず配列を回転させて切り取る第0インデックスを配列の最初に持って来る。
すると、配列の後ろにはすでにパディングが終わった数列のができてる。
で切り取って削除して尻尾にくっつける。
で、さっき回した分を戻してやると完成。
という方法で、>>770を解いた。
794デフォルトの名無しさん
2017/12/06(水) 00:32:32.42ID:+0bHqE6f あちゃー
二重投稿になったある。
そんなに大事でもないのだけど。
二重投稿になったある。
そんなに大事でもないのだけど。
795デフォルトの名無しさん
2017/12/06(水) 00:38:22.54ID:+0bHqE6f C++は比較的不自由な言語なので頭使うのは鍛えられるよ。
パーツが少ないのでほとんど自作しないといけない。
パーツが少ないのでほとんど自作しないといけない。
796デフォルトの名無しさん
2017/12/06(水) 00:46:18.89ID:DokUEpLm コンパイルが必要とかでスクリプト系の言語より
使うことに不便があるかもしれないが、
できるアプリが自由で高速・軽量!
ライブラリもSTLやboost以外にも、探せば便利なのがいっぱい。
使うことに不便があるかもしれないが、
できるアプリが自由で高速・軽量!
ライブラリもSTLやboost以外にも、探せば便利なのがいっぱい。
797デフォルトの名無しさん
2017/12/06(水) 01:07:01.76ID:+0bHqE6f よそのライブラリ使うとイデオンで動かないからなぁ。
まぁ、業務ではライセンスに合ったものを使えばいいよ。
まぁ、業務ではライセンスに合ったものを使えばいいよ。
798デフォルトの名無しさん
2017/12/06(水) 02:01:03.49ID:QVT4XBLu >>789
塊が移動すると考えれば良い。
例えば 7, 4, 2 だとすると、 789 と先頭の 0 が移動する塊だ。
で、ちょっと分かり易くするためにこの塊を伏せて * で書くとするとこうなる。
*123456***
それでこの塊を右に一つずらす。その時に1は食われて尻尾から吐き出される。
**234561**
移動量2なのでもう一回右にずらす。すると2が食われて尻尾から吐き出される。
***345612*
それでは * から 7890 に戻してみよう。
8903456127
できあがり。
塊が移動すると考えれば良い。
例えば 7, 4, 2 だとすると、 789 と先頭の 0 が移動する塊だ。
で、ちょっと分かり易くするためにこの塊を伏せて * で書くとするとこうなる。
*123456***
それでこの塊を右に一つずらす。その時に1は食われて尻尾から吐き出される。
**234561**
移動量2なのでもう一回右にずらす。すると2が食われて尻尾から吐き出される。
***345612*
それでは * から 7890 に戻してみよう。
8903456127
できあがり。
799デフォルトの名無しさん
2017/12/06(水) 02:58:25.26ID:+0bHqE6f800デフォルトの名無しさん
2017/12/06(水) 08:41:18.93ID:obBhCrma801デフォルトの名無しさん
2017/12/06(水) 17:48:37.81ID:T95E7suL log2だけど、これ使うといいらしいよ。分割統治法のBSA法というやつらしい。
2個ずつの積を繰り返すことで計算回数が減らせる。
{{1, a0}, {0, r}}*{{1, a1}, {0, r}}を[ [○,P], [○,Q] ]とおくと
r*P/Qはa0 + a1/rであり、
{{1, a0}, {0, r}}*{{1, a1}, {0, r}}*{{1, a2}, {0, r}}を[ [○,P], [○,Q] ]とおくと
r*P/Qはa0 + a1/r + a2/r^2。
上の式を実際に計算してみる。
http://www.wolframalpha.com/input/?i=%7B%7B1,+a0%7D,+%7B0,+r%7D%7D*%7B%7B1,+a1%7D,+%7B0,+r%7D%7D*%7B%7B1,+a2%7D,+%7B0,+r%7D%7D
2個ずつの積を繰り返すことで計算回数が減らせる。
{{1, a0}, {0, r}}*{{1, a1}, {0, r}}を[ [○,P], [○,Q] ]とおくと
r*P/Qはa0 + a1/rであり、
{{1, a0}, {0, r}}*{{1, a1}, {0, r}}*{{1, a2}, {0, r}}を[ [○,P], [○,Q] ]とおくと
r*P/Qはa0 + a1/r + a2/r^2。
上の式を実際に計算してみる。
http://www.wolframalpha.com/input/?i=%7B%7B1,+a0%7D,+%7B0,+r%7D%7D*%7B%7B1,+a1%7D,+%7B0,+r%7D%7D*%7B%7B1,+a2%7D,+%7B0,+r%7D%7D
802デフォルトの名無しさん
2017/12/06(水) 21:09:44.45ID:N+lgs3o9803デフォルトの名無しさん
2017/12/07(木) 00:07:53.25ID:YC8MWngg804デフォルトの名無しさん
2017/12/07(木) 09:24:10.80ID:XIHsqoOR >>801でできるはずだ。やってみる
805デフォルトの名無しさん
2017/12/07(木) 10:09:03.65ID:DjN/Fbox806デフォルトの名無しさん
2017/12/07(木) 15:54:52.13ID:XIHsqoOR 804だけど考えてみたら面倒なんだな。
有理数(整数)で完全に求めてから割り算するのは時間かかりそうだから、
展開も、割り算も、有限で打ち切って求める精度がでるようにするのが普通?
有理数(整数)で完全に求めてから割り算するのは時間かかりそうだから、
展開も、割り算も、有限で打ち切って求める精度がでるようにするのが普通?
807デフォルトの名無しさん
2017/12/07(木) 18:15:20.36ID:wGY0QmnN お題
辺の長さが10,000以下の整数である直方体について
すべての面の対角線も整数となるものを全て求める
辺の長さが10,000以下の整数である直方体について
すべての面の対角線も整数となるものを全て求める
808デフォルトの名無しさん
2017/12/07(木) 19:52:07.65ID:5gbe7aWB 対角線を出す式を忘れたのだ〜。
数学って難しい。
数学って難しい。
809デフォルトの名無しさん
2017/12/07(木) 20:10:49.23ID:bwV7uU+3810デフォルトの名無しさん
2017/12/07(木) 20:38:16.84ID:fmQCcJGl >>808
えーと、ほら、三角形の三角形のアレ
えーと、ほら、三角形の三角形のアレ
811デフォルトの名無しさん
2017/12/07(木) 21:23:21.04ID:BdlZ1dXv >>805 のソース一式とexeです。
>>680 の回答となります。
http://fast-uploader.com/file/7068204781334/
実行ファイルは、拡張子をexe_からexeに変えてください。
OSはWindows 64bit Vista以降
CPUはHaswell以降
で動作します。
>>680 の回答となります。
http://fast-uploader.com/file/7068204781334/
実行ファイルは、拡張子をexe_からexeに変えてください。
OSはWindows 64bit Vista以降
CPUはHaswell以降
で動作します。
812デフォルトの名無しさん
2017/12/07(木) 21:26:37.34ID:5gbe7aWB813デフォルトの名無しさん
2017/12/07(木) 21:34:41.35ID:5gbe7aWB あ〜ん。足し算10兆回かかるとかむりげーじゃ。
どうしようかこれ。
どうしようかこれ。
814デフォルトの名無しさん
2017/12/07(木) 21:40:02.60ID:5gbe7aWB815デフォルトの名無しさん
2017/12/07(木) 21:40:16.73ID:BdlZ1dXv816デフォルトの名無しさん
2017/12/07(木) 21:42:04.13ID:BdlZ1dXv817デフォルトの名無しさん
2017/12/07(木) 21:44:43.70ID:8KQwIEWy818デフォルトの名無しさん
2017/12/07(木) 21:48:20.51ID:5gbe7aWB ぶ。おれは・・・いったい・・・。
だめだなぁ。才能ないなぁ。
だめだなぁ。才能ないなぁ。
819デフォルトの名無しさん
2017/12/07(木) 22:07:39.64ID:BdlZ1dXv >>817の意味がわからん
解説よろしく!
解説よろしく!
820デフォルトの名無しさん
2017/12/07(木) 22:27:00.87ID:XIHsqoOR821デフォルトの名無しさん
2017/12/07(木) 22:32:10.24ID:5gbe7aWB グア。題意勘違いしてた。
直方体の対角線はいらんのか。うおー。
ばかばかー。
直方体の対角線はいらんのか。うおー。
ばかばかー。
822デフォルトの名無しさん
2017/12/07(木) 22:57:05.97ID:5gbe7aWB823デフォルトの名無しさん
2017/12/07(木) 23:06:46.33ID:BdlZ1dXv824デフォルトの名無しさん
2017/12/07(木) 23:06:47.69ID:8KQwIEWy825デフォルトの名無しさん
2017/12/07(木) 23:18:28.32ID:8ACt5G91 物体は表面だけでなく無数の内面を有するという考えは絶対に存在する
一方で全てを表面でしかとらえない人の存在も否定できない
一方で全てを表面でしかとらえない人の存在も否定できない
826デフォルトの名無しさん
2017/12/07(木) 23:24:59.96ID:BdlZ1dXv このポエムをどうプログラミングしろと?
827デフォルトの名無しさん
2017/12/08(金) 03:20:08.11ID:JkPU7Xcj828デフォルトの名無しさん
2017/12/08(金) 12:45:22.72ID:lX5lg0SB829デフォルトの名無しさん
2017/12/08(金) 14:42:05.63ID:3hyL4NRS830デフォルトの名無しさん
2017/12/08(金) 17:20:05.13ID:qoqqt6pE831デフォルトの名無しさん
2017/12/09(土) 00:08:31.54ID:NdkcUgXa >>828
時間的に無理だろって話
時間的に無理だろって話
832デフォルトの名無しさん
2017/12/09(土) 02:59:25.21ID:C21Kkp0z >>807
これでいいかな?
Kotlin で書いた。しかしpaiza.ioの制限なのか、何故か import kotlin.math.* がエラーだったので java.lang.Math の関数を使っている。
https://paiza.io/projects/ImbYdf3NSWgW-zj8Ke6cDw
これでいいかな?
Kotlin で書いた。しかしpaiza.ioの制限なのか、何故か import kotlin.math.* がエラーだったので java.lang.Math の関数を使っている。
https://paiza.io/projects/ImbYdf3NSWgW-zj8Ke6cDw
833デフォルトの名無しさん
2017/12/09(土) 09:05:25.04ID:WAlxvB4a お題
10,000以下の三角形数をもとめる
10,000以下の三角形数をもとめる
834デフォルトの名無しさん
2017/12/09(土) 09:42:44.72ID:HfcuYzyJ835デフォルトの名無しさん
2017/12/09(土) 10:35:24.71ID:PLdtTEIG >>833 ruby
i,j=0,-1;p i while(i+=j+=1)<10000
i,j=0,-1;p i while(i+=j+=1)<10000
836デフォルトの名無しさん
2017/12/09(土) 21:40:06.26ID:PLdtTEIG837デフォルトの名無しさん
2017/12/09(土) 23:46:47.87ID:3TNSAl29 ideone.comはたいして最適化しないBrainf**k処理系だからな
838デフォルトの名無しさん
2017/12/10(日) 00:50:34.10ID:J0bkBqjd839デフォルトの名無しさん
2017/12/10(日) 00:52:24.37ID:J0bkBqjd840デフォルトの名無しさん
2017/12/10(日) 08:00:18.20ID:uc7Ht429 >833 R
cat(cumsum(0:140))
cat(cumsum(0:140))
841デフォルトの名無しさん
2017/12/10(日) 09:05:44.08ID:gZDGKqrG >>801は精度管理の手間を考えたら、そのまま級数計算するのと大差ないと諦めたが。
こうすれば割り算の小数計算がほぼでないからいいのでは? 既に実装済?
an = 1/n、r = 2として、Σ an/r^n を定数C倍したやつの整数部分の取り出し。
C*anを再びanとおく。
Σ an/r^n
= a2/r^2 + a4/r^4 +・・・+ aN(2)/r^N(2) (添え字は2の倍数を動く)
+ a3/r^3 + a9/r^9 + a15/r^15 + ・・・+ aN(3)/r^N(3)
+ ap/r^p + ・・・+ aq/r^q + ・・・ (pは素数、qはp未満の数で割り切れないpの倍数)
= 1/N(2)r^N(2) * ( N(2)*a2*r^(N(2)-2) + ・・・ + N(2)*aN(2) ) + ・・
この分子部分は、各項、整数でそのまま計算しても>>801でも速くなるはず。
こうすれば割り算の小数計算がほぼでないからいいのでは? 既に実装済?
an = 1/n、r = 2として、Σ an/r^n を定数C倍したやつの整数部分の取り出し。
C*anを再びanとおく。
Σ an/r^n
= a2/r^2 + a4/r^4 +・・・+ aN(2)/r^N(2) (添え字は2の倍数を動く)
+ a3/r^3 + a9/r^9 + a15/r^15 + ・・・+ aN(3)/r^N(3)
+ ap/r^p + ・・・+ aq/r^q + ・・・ (pは素数、qはp未満の数で割り切れないpの倍数)
= 1/N(2)r^N(2) * ( N(2)*a2*r^(N(2)-2) + ・・・ + N(2)*aN(2) ) + ・・
この分子部分は、各項、整数でそのまま計算しても>>801でも速くなるはず。
842デフォルトの名無しさん
2017/12/10(日) 21:52:17.18ID:gZDGKqrG >>841は添え字に被りが出ていて間違えてた。
843デフォルトの名無しさん
2017/12/10(日) 22:07:36.99ID:XvO3Mos9 やってみて時間教えて
844デフォルトの名無しさん
2017/12/10(日) 22:08:42.09ID:XvO3Mos9845デフォルトの名無しさん
2017/12/10(日) 22:22:45.57ID:gZDGKqrG 秒数ではCPU依存するから正確に比較できない。
掛ける2だけのループを10^10回するだけでも19秒では終わらない。
無料のideone codepadなどの実行可能時間以内にできる範囲とか、
ベースとなる簡単なコード、関数の何倍時間がかかるかなどだと比較できるけど。
掛ける2だけのループを10^10回するだけでも19秒では終わらない。
無料のideone codepadなどの実行可能時間以内にできる範囲とか、
ベースとなる簡単なコード、関数の何倍時間がかかるかなどだと比較できるけど。
846デフォルトの名無しさん
2017/12/10(日) 22:36:08.95ID:3sNoocWL 演算回数の見積りは?
84735歳
2017/12/11(月) 02:10:45.96ID:OsSLt9Cy Bronze取りました
84835歳
2017/12/11(月) 02:11:34.08ID:OsSLt9Cy Bronze取りました
849デフォルトの名無しさん
2017/12/11(月) 04:58:28.24ID:zs4BBX0s850デフォルトの名無しさん
2017/12/11(月) 05:19:34.19ID:zs4BBX0s あ、ちなみにideoneの結果は間違っている
多分スタックオーバーフローしている
100, 50, 0の場合は答えは100
多分スタックオーバーフローしている
100, 50, 0の場合は答えは100
851デフォルトの名無しさん
2017/12/11(月) 05:38:23.74ID:pBTqvDfH852デフォルトの名無しさん
2017/12/11(月) 05:45:19.55ID:pBTqvDfH ところで、いくらメモ化してても5回しか呼ばれないってことがあるのか?って気はする。
853デフォルトの名無しさん
2017/12/11(月) 07:04:34.34ID:pBTqvDfH854デフォルトの名無しさん
2017/12/11(月) 07:09:30.00ID:pBTqvDfH あら、コンパイルエラーになっちゃった。
VCだと通ったんだけど。もちろんステップ数とか設定はいじってるが。
VCだと通ったんだけど。もちろんステップ数とか設定はいじってるが。
855デフォルトの名無しさん
2017/12/11(月) 08:32:22.37ID:gAGFZ0s2 >>849
こんなのとか?
たらいを回すならHaskella
2006年04月07日 22:09
http://blog.livedoor.jp/dankogai/archives/50447103.html
こんなのとか?
たらいを回すならHaskella
2006年04月07日 22:09
http://blog.livedoor.jp/dankogai/archives/50447103.html
856デフォルトの名無しさん
2017/12/11(月) 12:03:51.37ID:uZdMj4Ux お題
6つの辺の長さが 与えられた4面体の体積を求める
6つの辺の長さが 与えられた4面体の体積を求める
857デフォルトの名無しさん
2017/12/11(月) 13:07:53.63ID:iSg/oyC4 お題
8つの辺の長さが与えられた超5面体の体積を求める
8つの辺の長さが与えられた超5面体の体積を求める
858デフォルトの名無しさん
2017/12/11(月) 14:29:31.82ID:hKbhSguL お題
与えられた自然数を高々四個の四角数(平方数)の和で表せ
与えられた自然数を高々四個の四角数(平方数)の和で表せ
859デフォルトの名無しさん
2017/12/11(月) 14:35:19.85ID:k7Z6O4lr860デフォルトの名無しさん
2017/12/11(月) 16:06:12.32ID:k7Z6O4lr >>857
8つだと多胞体が一意に定まらないと思うんだが
8つだと多胞体が一意に定まらないと思うんだが
861デフォルトの名無しさん
2017/12/11(月) 16:48:32.53ID:qWzXCzKk >>853
64bit環境でやったらスラッシング起きて\(^o^)/
64bit環境でやったらスラッシング起きて\(^o^)/
862デフォルトの名無しさん
2017/12/11(月) 16:53:24.07ID:iSg/oyC4 >>860
じゃあ10個で
じゃあ10個で
863デフォルトの名無しさん
2017/12/11(月) 17:03:18.77ID:k7Z6O4lr >>862
10でも足りないと思うんだけどひょっとして超五面体って五胞体のつもりで言ってる?
10でも足りないと思うんだけどひょっとして超五面体って五胞体のつもりで言ってる?
864デフォルトの名無しさん
2017/12/11(月) 17:31:58.31ID:iSg/oyC4 4次元の5胞体
865デフォルトの名無しさん
2017/12/11(月) 17:32:53.55ID:iSg/oyC4 5C2=10
866デフォルトの名無しさん
2017/12/11(月) 22:30:10.81ID:pBTqvDfH867デフォルトの名無しさん
2017/12/11(月) 23:43:41.01ID:jF/PrBtV868デフォルトの名無しさん
2017/12/12(火) 00:19:40.23ID:JpJzeAvs >>866
悪い
VCで /constexpr:steps 1000000を付けてコンパイルしたら4秒ほどでコンパイルが終わった
多分/MPも付けてるからだと思う
実行結果は25になった
gcc 7.2.0 64bitだとどんどんメモリを食って行って最後にスラッシングが起きる
馬鹿正直な実装をしているからかも知れないね
VCの方がいろいろとメモリを食わないように工夫されてるのかも
Clangでも/constexpr:steps は -fconstexpr-steps という形でサポートされてるようだから
多分行けると思う
メモリ64G積んでるし
悪い
VCで /constexpr:steps 1000000を付けてコンパイルしたら4秒ほどでコンパイルが終わった
多分/MPも付けてるからだと思う
実行結果は25になった
gcc 7.2.0 64bitだとどんどんメモリを食って行って最後にスラッシングが起きる
馬鹿正直な実装をしているからかも知れないね
VCの方がいろいろとメモリを食わないように工夫されてるのかも
Clangでも/constexpr:steps は -fconstexpr-steps という形でサポートされてるようだから
多分行けると思う
メモリ64G積んでるし
869デフォルトの名無しさん
2017/12/12(火) 01:27:56.58ID:qpuoD4bc870デフォルトの名無しさん
2017/12/12(火) 04:08:00.08ID:SvlIPxM4871デフォルトの名無しさん
2017/12/12(火) 22:52:21.86ID:38dJ/vud 以下のURLのように、同じ色の点同士をつなぐゲームがある。
https://play.google.com/store/apps/details?id=com.bigduckgames.flow
N×Mの2次元配列が与えられる。配列の各要素は半角英字('a'-'z')または'*'である。
半角英字は色付きの点を表し、'*'は空のマスを表す。
'*'以外の文字は、配列中に必ず2個ずつ存在する。
このパズルの解を一つ出力せよ。
・'-'は左右のマスをつなぐ
・'|'は上下のマスをつなぐ
・'.'はマスをつながない
解がない場合は"No solution"と出力せよ。
[input]
***rg
**bg*
r****
ob*yo
****y
[output]
*-*-*-r.g
|.......|
*.*-b.g-*
|.|......
r.*.*-*-*
..|.|...|
o.b.*.y.o
|...|.|..
*-*-*.*-y
https://play.google.com/store/apps/details?id=com.bigduckgames.flow
N×Mの2次元配列が与えられる。配列の各要素は半角英字('a'-'z')または'*'である。
半角英字は色付きの点を表し、'*'は空のマスを表す。
'*'以外の文字は、配列中に必ず2個ずつ存在する。
このパズルの解を一つ出力せよ。
・'-'は左右のマスをつなぐ
・'|'は上下のマスをつなぐ
・'.'はマスをつながない
解がない場合は"No solution"と出力せよ。
[input]
***rg
**bg*
r****
ob*yo
****y
[output]
*-*-*-r.g
|.......|
*.*-b.g-*
|.|......
r.*.*-*-*
..|.|...|
o.b.*.y.o
|...|.|..
*-*-*.*-y
872デフォルトの名無しさん
2017/12/15(金) 09:30:54.91ID:gDuLBiTf >>841
やってはないけど、そもそもこれ間違ってるのと、同じような発想でやるとしても
全ての素数での分類ではなく、3分割くらいのほうが効率がいいのと、
Σ (2の倍数) + Σ (3の倍数かつ2の倍数でない) + Σ (2と3で割り切れない)
分割する事もなく、N項の和だとしたらNの階乗か分数をなくせる最小公倍数かけてもいい。それだと掛け算もしくは割り算がいくつも出てくるが。
やってはないけど、そもそもこれ間違ってるのと、同じような発想でやるとしても
全ての素数での分類ではなく、3分割くらいのほうが効率がいいのと、
Σ (2の倍数) + Σ (3の倍数かつ2の倍数でない) + Σ (2と3で割り切れない)
分割する事もなく、N項の和だとしたらNの階乗か分数をなくせる最小公倍数かけてもいい。それだと掛け算もしくは割り算がいくつも出てくるが。
873デフォルトの名無しさん
2017/12/16(土) 14:04:43.43ID:+Cq6iaDY >>871
等幅フォントで表示しているエディタにコピペしてようやっと何を言わんとしているか分かった。
それってマスとマスの間に - または | を入れて繋ぐってことでいいんだよね? で、つながない所がピリオドだと。
(まあ等幅フォントのASCIIでやるならそれしか方法ないとは思うけど)。
等幅フォントで表示しているエディタにコピペしてようやっと何を言わんとしているか分かった。
それってマスとマスの間に - または | を入れて繋ぐってことでいいんだよね? で、つながない所がピリオドだと。
(まあ等幅フォントのASCIIでやるならそれしか方法ないとは思うけど)。
874デフォルトの名無しさん
2017/12/16(土) 14:07:59.25ID:+Cq6iaDY しかしピリオドは
**
**
の時に
*.*
...
*.*
のようになって中央のピリオドが本来なら不要なものになるわけだが、それはスペースでなくても良いのかな?
まあただの幅合わせだからどうでもいいものではあるが。
**
**
の時に
*.*
...
*.*
のようになって中央のピリオドが本来なら不要なものになるわけだが、それはスペースでなくても良いのかな?
まあただの幅合わせだからどうでもいいものではあるが。
875デフォルトの名無しさん
2017/12/17(日) 12:04:31.10ID:V69L7+t+876デフォルトの名無しさん
2017/12/17(日) 12:18:14.72ID:V69L7+t+877デフォルトの名無しさん
2017/12/17(日) 17:50:05.54ID:3PMrWzl3 無理に線引かないでrだのgだので埋めた方がわかりやすいと思うがな
すべてのマスを埋めなければならないルールが抜け落ちてるみたいだから
実は別物のゲームで交差があるとかなったらそうはいかないが
すべてのマスを埋めなければならないルールが抜け落ちてるみたいだから
実は別物のゲームで交差があるとかなったらそうはいかないが
878デフォルトの名無しさん
2017/12/17(日) 20:33:27.61ID:0HU8GFa9 ブレゼンハム的なやつって、始点と傾き(と区間や境界等で決まる明示されない終点)が
与えられた際に、終点座標を求めてから始点に向かうのってアリなんだろうか?
与えられた際に、終点座標を求めてから始点に向かうのってアリなんだろうか?
879デフォルトの名無しさん
2017/12/18(月) 08:21:39.40ID:T+ClDj4W ここでやるには問題がでかすぎ
100分割してほしい
100分割してほしい
880デフォルトの名無しさん
2017/12/21(木) 14:37:42.61ID:/SOyyWKP >>871 Ruby
https://ideone.com/EOj9mz
ただし解は1つでありかつ線が通らないマスは無いことを前提とする
問題はここから引用:→http://www.nikoli.com/ja/puzzles/numberlink
https://ideone.com/EOj9mz
ただし解は1つでありかつ線が通らないマスは無いことを前提とする
問題はここから引用:→http://www.nikoli.com/ja/puzzles/numberlink
881デフォルトの名無しさん
2017/12/21(木) 14:38:13.66ID:/SOyyWKP あ、あと出力方法は自分好みに適当にいじってる
882デフォルトの名無しさん
2017/12/21(木) 15:58:54.33ID:jrnuCabF 訂正
ただし解は1つでありかつ線が通らないマスは無いことを前提とする
ではなく
解が存在すればすべての解は全てのマスを通ることを前提とする
ただし解は1つでありかつ線が通らないマスは無いことを前提とする
ではなく
解が存在すればすべての解は全てのマスを通ることを前提とする
883デフォルトの名無しさん
2017/12/22(金) 19:30:58.88ID:PPoMR9m8 お題
22の分割(たとえば3+3+5+8)のうち
分割したそれぞれの数の逆数の和が1になるものを求める
22の分割(たとえば3+3+5+8)のうち
分割したそれぞれの数の逆数の和が1になるものを求める
884デフォルトの名無しさん
2017/12/22(金) 19:39:05.90ID:PPoMR9m8 早速間違えましたすみません
3 +5 +6 +8
でした
3 +5 +6 +8
でした
885デフォルトの名無しさん
2017/12/22(金) 20:06:25.02ID:FRcsVGN9 >>883 ruby
f=->n,k{n==1?[[k]]:(1..k/n).flat_map{|i|f[n-1,k-i].map{|j|[i,*j].sort}}.uniq}
(1..22).each{|i|f[i,22].each{|a|p a if a.map{|e|1r/e}.sum==1}}
#=>[2, 4, 8, 8]
[2, 5, 5, 10]
[3, 3, 4, 12]
f=->n,k{n==1?[[k]]:(1..k/n).flat_map{|i|f[n-1,k-i].map{|j|[i,*j].sort}}.uniq}
(1..22).each{|i|f[i,22].each{|a|p a if a.map{|e|1r/e}.sum==1}}
#=>[2, 4, 8, 8]
[2, 5, 5, 10]
[3, 3, 4, 12]
886デフォルトの名無しさん
2017/12/22(金) 21:21:23.60ID:Mb+deFNF C++で書いたけど、オセー。
デバッグ大変だ。
うーん。困ったなぁ。
デバッグ大変だ。
うーん。困ったなぁ。
887デフォルトの名無しさん
2017/12/22(金) 22:04:05.10ID:Mb+deFNF888デフォルトの名無しさん
2017/12/22(金) 22:16:42.15ID:cfNB9eDL こういう数学的な問題を解くにはやっぱりプログラミング以前に数学を勉強した方がいいのでしょうか?
889デフォルトの名無しさん
2017/12/22(金) 22:23:25.38ID:Mb+deFNF >>888
数学は大事だよー。
俺数学出来ないから、解けない問題がそれなりにある。
算数では限界だ〜〜。
まぁ、数学とプログラミングって習得時はオーバーラップするところが少ないから融合するまでちょっと大変かな。
でも数学は強力なツールです。
数学は大事だよー。
俺数学出来ないから、解けない問題がそれなりにある。
算数では限界だ〜〜。
まぁ、数学とプログラミングって習得時はオーバーラップするところが少ないから融合するまでちょっと大変かな。
でも数学は強力なツールです。
890デフォルトの名無しさん
2017/12/22(金) 22:40:51.06ID:wxhiocJz 一般論でいえば必要だろうけど>>883なんて全部列挙したところで計算量はたかが知れてるし
目下必要なのは論理学的思考能力なのでは
目下必要なのは論理学的思考能力なのでは
891デフォルトの名無しさん
2017/12/22(金) 22:51:38.40ID:rSDEoHGj892デフォルトの名無しさん
2017/12/23(土) 10:08:16.78ID:t1pvAVGb お題
52をいくつかの自然数に分解して
それらの最小公倍数を最大化せよ
52をいくつかの自然数に分解して
それらの最小公倍数を最大化せよ
893デフォルトの名無しさん
2017/12/23(土) 10:30:51.64ID:NDYwz7Jw 分解って、積じゃなくて和で良いんだよね?
数学の知識を使うと一瞬だけど
数学の知識を使うと一瞬だけど
894デフォルトの名無しさん
2017/12/23(土) 10:47:21.72ID:xQ13BTQc >>892
2*3*5*7*11*23
2*3*5*7*11*23
895デフォルトの名無しさん
2017/12/23(土) 10:51:04.98ID:NDYwz7Jw >>894
ダメだろ
ダメだろ
896デフォルトの名無しさん
2017/12/23(土) 10:54:01.61ID:NDYwz7Jw 数学の知識が無いなら素直にコンピューターの力を借りなさい
897デフォルトの名無しさん
2017/12/23(土) 11:07:49.77ID:afY4COyy そもそも数学で簡単にとけない問題を力わざでとくための計算機だろ
898デフォルトの名無しさん
2017/12/23(土) 11:20:55.96ID:2Y/dvvuZ899デフォルトの名無しさん
2017/12/23(土) 11:22:52.27ID:TLP4YLw7 2+3+5+7+11+13+11=52
900デフォルトの名無しさん
2017/12/23(土) 11:23:44.11ID:ZIVZRbx3 C++17発行されたから開発環境がさっさと対応してGCDくらい使えるようになりたい。
901デフォルトの名無しさん
2017/12/23(土) 20:45:26.14ID:PT43Bq9S902デフォルトの名無しさん
2017/12/23(土) 23:54:31.73ID:PT43Bq9S 一回の移動ではd=1ね。
ま、その制限を付けなくともd,c,10-c,10の最小公倍数になるんだろうけど
ま、その制限を付けなくともd,c,10-c,10の最小公倍数になるんだろうけど
903デフォルトの名無しさん
2017/12/24(日) 06:15:12.28ID:C5ELqEVz >>901-902
10-c,10の最小公倍数じゃね?
10-c,10の最小公倍数じゃね?
904デフォルトの名無しさん
2017/12/24(日) 12:14:01.21ID:PCWcyI8B905デフォルトの名無しさん
2017/12/24(日) 13:55:05.53ID:aCkD6VOe 数学云々言ってる奴って、何故かその成果見せないよな。
俺でも出来そうなFUD、いやマウントかな。
俺でも出来そうなFUD、いやマウントかな。
906デフォルトの名無しさん
2017/12/24(日) 16:16:06.49ID:7ASFTRv4 ていうか、計算機はどちらかというと算数だよな。
数学は公式とか証明とか、そういう手順みたいなものを考えるわけで、プログラミングに近い。
コンピュータは作られたプログラムに従って計算結果を出すだけ。
もちろんプログラムそのものをコンピュータに作らせることも可能だけどね。これは次元が違う話だよね。
数学は公式とか証明とか、そういう手順みたいなものを考えるわけで、プログラミングに近い。
コンピュータは作られたプログラムに従って計算結果を出すだけ。
もちろんプログラムそのものをコンピュータに作らせることも可能だけどね。これは次元が違う話だよね。
907デフォルトの名無しさん
2017/12/24(日) 20:21:20.17ID:TJswah5E プログラムには算数と三角関数とかがあればいい
あとN進法
あとN進法
908デフォルトの名無しさん
2017/12/24(日) 22:49:45.08ID:ke4WkGne 行列演算とか諸々の配列操作関数がないと無理だな
909デフォルトの名無しさん
2017/12/24(日) 23:49:37.37ID:HHMC0VFW では簡単なお題を
bを底とする値vを、2〜36進数に変換し表示してください。
なお、bは2〜36の整数、vは0以上の整数とし、不正な入力はないものとしてよい。
また、底と値の区切り文字は入出力ともに特に問わない。
[入力例]
16 deadbabe
[出力例]
2#11011110101011011011101010111110
3#100122100210210001200
4#3132223123222332
5#30122344134421
6#1414413520330
7#161402600604
8#33653335276
9#10570723050
10#3735927486
11#1647919685
(略)
27#9h9ll1i
28#7l225hi
29#6842o9l
30#53m7kg6
31#46f9hir
32#3farelu
33#2tf7mor
34#2e7m366
35#214kbpb
36#1ps9w3i
bを底とする値vを、2〜36進数に変換し表示してください。
なお、bは2〜36の整数、vは0以上の整数とし、不正な入力はないものとしてよい。
また、底と値の区切り文字は入出力ともに特に問わない。
[入力例]
16 deadbabe
[出力例]
2#11011110101011011011101010111110
3#100122100210210001200
4#3132223123222332
5#30122344134421
6#1414413520330
7#161402600604
8#33653335276
9#10570723050
10#3735927486
11#1647919685
(略)
27#9h9ll1i
28#7l225hi
29#6842o9l
30#53m7kg6
31#46f9hir
32#3farelu
33#2tf7mor
34#2e7m366
35#214kbpb
36#1ps9w3i
910デフォルトの名無しさん
2017/12/25(月) 00:09:45.09ID:3pQBp6tI912デフォルトの名無しさん
2017/12/25(月) 02:44:06.33ID:FXcNW9u1913デフォルトの名無しさん
2017/12/25(月) 04:27:01.50ID:Cnt90MG5914デフォルトの名無しさん
2017/12/25(月) 06:21:01.65ID:P1JMpVx5915デフォルトの名無しさん
2017/12/25(月) 12:28:00.12ID:Lg9qxqUa >>909
Kotlinらしくしてみようとはしたが、あまりにも短く、更に俺がまだよくKotlinを知らないためにこんな風になった。
https://paiza.io/projects/BpAXUQuDCaOSD6Q6GN4O8A
肝心な所はJavaとほぼ同じ。
Kotlinらしくしてみようとはしたが、あまりにも短く、更に俺がまだよくKotlinを知らないためにこんな風になった。
https://paiza.io/projects/BpAXUQuDCaOSD6Q6GN4O8A
肝心な所はJavaとほぼ同じ。
916デフォルトの名無しさん
2017/12/25(月) 19:56:50.93ID:IEH/2als917デフォルトの名無しさん
2017/12/26(火) 10:23:38.85ID:Hd2qVaf/ >>909 Squeak/Pharo Smalltalk
| n |
n := '16 deadbabe' replaceAll: Character space with: $r; asNumber.
2 to: 36 do: [:i | Transcript cr; show: i; space; show: (n radix: i) asLowercase]
| n |
n := '16 deadbabe' replaceAll: Character space with: $r; asNumber.
2 to: 36 do: [:i | Transcript cr; show: i; space; show: (n radix: i) asLowercase]
918デフォルトの名無しさん
2017/12/28(木) 04:53:27.57ID:N8L362th お題を捏造してやるぜ。
アンサーが42になる式を捏造せよ。という数学パズル。
小難しい式をでっち上げた人が優勝。
算数から数学、物理まで式になってればすべての手法が使用可能。統計とかでもいいよ。
制約は答えが42になることのみ。
解けるものはいるか?
アンサーが42になる式を捏造せよ。という数学パズル。
小難しい式をでっち上げた人が優勝。
算数から数学、物理まで式になってればすべての手法が使用可能。統計とかでもいいよ。
制約は答えが42になることのみ。
解けるものはいるか?
919デフォルトの名無しさん
2017/12/28(木) 04:55:12.31ID:N8L362th あー、忘れてた。
ちゃんと検算して答えを確認できること。
俺、算数しかできないから、各種サービスにかけて検算できるのが望ましい。
ちゃんと検算して答えを確認できること。
俺、算数しかできないから、各種サービスにかけて検算できるのが望ましい。
920デフォルトの名無しさん
2017/12/28(木) 04:57:55.88ID:8O6aNcDe ぷろぐらみんぐ・・・?
921デフォルトの名無しさん
2017/12/28(木) 05:01:29.85ID:N8L362th ベンチマーク的な感じだな。
たまには本気を出したいだろ?お前ら。
たまには本気を出したいだろ?お前ら。
922デフォルトの名無しさん
2017/12/28(木) 05:04:57.45ID:N8L362th 当たり前だが、必要な関数が標準ライブラリになかったら自作すること。
923デフォルトの名無しさん
2017/12/28(木) 07:10:57.10ID:s+AqweGp >>918 ruby
require 'open-uri'
expr = "the Answer to the Ultimate Question of Life, the Universe, and Everything"
uri = "https://www.google.com/complete/search?output=toolbar&q=%s"
puts open(format(uri, expr.gsub(' ', '%20'))).string[/data="\K[^"]*/]
#=> 42
require 'open-uri'
expr = "the Answer to the Ultimate Question of Life, the Universe, and Everything"
uri = "https://www.google.com/complete/search?output=toolbar&q=%s"
puts open(format(uri, expr.gsub(' ', '%20'))).string[/data="\K[^"]*/]
#=> 42
924デフォルトの名無しさん
2017/12/28(木) 07:34:31.76ID:N8L362th >>923
元ネタはそれ。正解の一端。
元ネタはそれ。正解の一端。
925デフォルトの名無しさん
2017/12/28(木) 08:07:25.24ID:i+4FV8XV926デフォルトの名無しさん
2017/12/28(木) 09:35:15.49ID:wX0EFIYP927デフォルトの名無しさん
2017/12/28(木) 11:19:23.23ID:ZkyapKMq 式を捏造せよと言ってんのに、検算して答えがあってることを確かめろとか矛盾してて草
928デフォルトの名無しさん
2017/12/28(木) 11:41:23.15ID:N8L362th929デフォルトの名無しさん
2017/12/28(木) 15:25:23.94ID:0tvuK50P 片山に次ぐ逸材かもしれないが出題者が馬鹿だとやる気が出ないという良い見本
930デフォルトの名無しさん
2017/12/28(木) 15:31:12.30ID:N8L362th 自由を泳げないって不便だね。
何やっても良いんだからなんかすればいいって話なんだけど。
定型の答えなんか求めてないのは出題見ればわかるだろ。
発想力が欠如してるんじゃないか?
基本的にベンチマークだと言ってるでしょ?
捏造っていう言葉が悪かったら謝るが。構成しろってことにすれば大体同じや。
何やっても良いんだからなんかすればいいって話なんだけど。
定型の答えなんか求めてないのは出題見ればわかるだろ。
発想力が欠如してるんじゃないか?
基本的にベンチマークだと言ってるでしょ?
捏造っていう言葉が悪かったら謝るが。構成しろってことにすれば大体同じや。
931デフォルトの名無しさん
2017/12/28(木) 15:32:51.23ID:N8L362th 口だけのやつはぶっぶーですわ。
932デフォルトの名無しさん
2017/12/28(木) 16:00:26.20ID:4ng0NpPh 自由を泳げないって
933デフォルトの名無しさん
2017/12/28(木) 18:49:12.75ID:Er3In3fn Cコ:彡
934デフォルトの名無しさん
2017/12/29(金) 00:30:23.43ID:+gfutoXL935デフォルトの名無しさん
2017/12/29(金) 02:28:40.84ID:IV3yH5ho お題:入力があったら6面のサイコロを振って出た目を出力してください
ただし数字を使ってはならない
ただし数字を使ってはならない
936デフォルトの名無しさん
2017/12/29(金) 03:07:31.93ID:GekNq94X そういう数字を使ってはいけないって誰得なの?
937デフォルトの名無しさん
2017/12/29(金) 05:31:16.53ID:5y9SQxLe938デフォルトの名無しさん
2017/12/29(金) 09:00:41.20ID:IV3yH5ho939デフォルトの名無しさん
2017/12/29(金) 09:20:10.35ID:GekNq94X940デフォルトの名無しさん
2017/12/29(金) 09:29:20.12ID:GekNq94X https://ideone.com/ZRXCD5
こっちの方がそれっぽいか。
こっちの方がそれっぽいか。
941デフォルトの名無しさん
2017/12/29(金) 20:57:46.71ID:QkO9em45 数字を使ってはならないってのが謎
AAで出力しろってか?
AAで出力しろってか?
942デフォルトの名無しさん
2017/12/29(金) 21:21:03.51ID:aTe03Y1I943デフォルトの名無しさん
2017/12/29(金) 21:28:13.36ID:FAMD2vO+ 数字を使うなって表示なのかそれともソースなのか?
表示なら
●●●●●●とか
表示なら
●●●●●●とか
944デフォルトの名無しさん
2017/12/29(金) 21:29:41.90ID:u/2CuQjm 両方だろ
945デフォルトの名無しさん
2017/12/29(金) 21:50:46.64ID:VnRfvHlH そもそも入力が何なのかすら意味不明。却下
946デフォルトの名無しさん
2017/12/29(金) 22:22:21.11ID:1z8qBjEb お題
自然数 n を入力とし, a と b を乗ずると n になるような自然数 a と b を出力する.
a と b の侯補が複数存在する場合は, a と b の和がもっとも小さなものを出力すること.
自然数 n を入力とし, a と b を乗ずると n になるような自然数 a と b を出力する.
a と b の侯補が複数存在する場合は, a と b の和がもっとも小さなものを出力すること.
947デフォルトの名無しさん
2017/12/29(金) 22:32:07.85ID:5y9SQxLe >>938
じゃあUnicodeのU+2680からの文字を使った版。Kotlinで。
https://paiza.io/projects/GElJ8jIbi45jocyYirbO8w
入力があったらの部分は最初の readLine() だ。
下の「入力」タブの所で改行を一つ入れてあるので開いたら即出力がある。
じゃあUnicodeのU+2680からの文字を使った版。Kotlinで。
https://paiza.io/projects/GElJ8jIbi45jocyYirbO8w
入力があったらの部分は最初の readLine() だ。
下の「入力」タブの所で改行を一つ入れてあるので開いたら即出力がある。
948デフォルトの名無しさん
2017/12/29(金) 23:03:49.04ID:5y9SQxLe >>935
また Kotlin。
サイコロの目の一つは5x5ビットあれば表現できるので配列に詰め込んで後で変換して出すようにした。
https://paiza.io/projects/uGhQ6cuRqbnlGc2TTvT92w?language=kotlin
別に配列でなくてもとにかく 5*5*6 (=150) bit 詰め込めるなら何でも良い。
また Kotlin。
サイコロの目の一つは5x5ビットあれば表現できるので配列に詰め込んで後で変換して出すようにした。
https://paiza.io/projects/uGhQ6cuRqbnlGc2TTvT92w?language=kotlin
別に配列でなくてもとにかく 5*5*6 (=150) bit 詰め込めるなら何でも良い。
949デフォルトの名無しさん
2017/12/29(金) 23:13:30.16ID:VnRfvHlH >>946
15.times{|n|
sqrt_n = Integer.sqrt(n)
(2 * sqrt_n..n + 1).each { |s|
(sqrt_n..n).each { |i|
next unless i * (s - i) == n
puts '%d * %d = %d' % [i, s - i, n]
break
} || break
}
}
0 * 0 = 0
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
2 * 2 = 4
5 * 1 = 5
2 * 3 = 6
7 * 1 = 7
2 * 4 = 8
3 * 3 = 9
5 * 2 = 10
11 * 1 = 11
3 * 4 = 12
13 * 1 = 13
7 * 2 = 14
15.times{|n|
sqrt_n = Integer.sqrt(n)
(2 * sqrt_n..n + 1).each { |s|
(sqrt_n..n).each { |i|
next unless i * (s - i) == n
puts '%d * %d = %d' % [i, s - i, n]
break
} || break
}
}
0 * 0 = 0
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
2 * 2 = 4
5 * 1 = 5
2 * 3 = 6
7 * 1 = 7
2 * 4 = 8
3 * 3 = 9
5 * 2 = 10
11 * 1 = 11
3 * 4 = 12
13 * 1 = 13
7 * 2 = 14
950デフォルトの名無しさん
2017/12/29(金) 23:14:32.74ID:VnRfvHlH >>949はRuby2.5.0ね
951デフォルトの名無しさん
2017/12/29(金) 23:25:01.60ID:IY4nOP57952デフォルトの名無しさん
2017/12/30(土) 00:34:17.12ID:64dx8gku >>946
def r9_946(n)
Math.sqrt(n).to_i.downto(1) do |e|
return [e, n / e] if (n / e) * e == n
end
end
1.upto(100) do |n|
a, b = r9_946(n)
printf("%d = %d * %d¥n", n, a, b)
end
def r9_946(n)
Math.sqrt(n).to_i.downto(1) do |e|
return [e, n / e] if (n / e) * e == n
end
end
1.upto(100) do |n|
a, b = r9_946(n)
printf("%d = %d * %d¥n", n, a, b)
end
953デフォルトの名無しさん
2017/12/30(土) 00:45:39.83ID:6/kbfUjB954デフォルトの名無しさん
2017/12/30(土) 01:37:16.58ID:2QbO+yEX955デフォルトの名無しさん
2017/12/30(土) 09:12:17.38ID:6VD4P8Az956デフォルトの名無しさん
2017/12/30(土) 09:19:03.41ID:6VD4P8Az なんか俺の劣化>>953みたいな感じだな。
うーん。名案だとは思ったのだけど。むむむ・・・。
うーん。名案だとは思ったのだけど。むむむ・・・。
957デフォルトの名無しさん
2017/12/30(土) 09:31:25.37ID:6VD4P8Az うほ、フィルターしてる条件にバグがあった。良く動いてたな。
958デフォルトの名無しさん
2017/12/30(土) 09:33:18.81ID:6VD4P8Az これ、片方1のやつって素数かな?
エラトステネスの篩とどっちが軽いかな。
エラトステネスの篩とどっちが軽いかな。
959デフォルトの名無しさん
2017/12/30(土) 12:46:04.20ID:ZPxTZMGf お題
要素が素数, かつ要素の総和が2018になる集合のうち, 要素数がもっとも大きい集合を出力する.
要素が素数, かつ要素の総和が2018になる集合のうち, 要素数がもっとも大きい集合を出力する.
960デフォルトの名無しさん
2017/12/30(土) 12:59:47.50ID:64dx8gku >>959
[2]*(2018/2)
[2]*(2018/2)
961デフォルトの名無しさん
2017/12/30(土) 14:25:23.55ID:6VD4P8Az962デフォルトの名無しさん
2017/12/30(土) 15:14:55.24ID:6VD4P8Az963デフォルトの名無しさん
2017/12/30(土) 15:16:57.66ID:6VD4P8Az964デフォルトの名無しさん
2017/12/30(土) 15:18:24.57ID:ZOKm+QEU >>959
それ1なのでは?
それ1なのでは?
965デフォルトの名無しさん
2017/12/30(土) 15:25:04.70ID:6VD4P8Az 要素数だから、コンテナカウントだと思って書いたんだけど。
え?題意勘違いしてる?
え?題意勘違いしてる?
966デフォルトの名無しさん
2017/12/30(土) 15:25:53.45ID:6VD4P8Az element countだよね?
967デフォルトの名無しさん
2017/12/30(土) 15:30:31.85ID:qiSXHyFx 2が1009個ある集合、>>960で答えが出てる
968デフォルトの名無しさん
2017/12/30(土) 15:32:23.03ID:6VD4P8Az969デフォルトの名無しさん
2017/12/30(土) 15:36:57.18ID:6VD4P8Az970デフォルトの名無しさん
2017/12/30(土) 16:05:45.05ID:6VD4P8Az971デフォルトの名無しさん
2017/12/30(土) 16:20:15.12ID:6VD4P8Az ちょっとくどいけど、
これさ、量子アニーリングじゃないと解けないやつかなぁ??
なんかさっきからいじってるけど、ローカルポケットに落ちてる気がする。
グローバルポケットに落とす方法が皆目見当つかない。
解説頼む。
これさ、量子アニーリングじゃないと解けないやつかなぁ??
なんかさっきからいじってるけど、ローカルポケットに落ちてる気がする。
グローバルポケットに落とす方法が皆目見当つかない。
解説頼む。
972デフォルトの名無しさん
2017/12/30(土) 16:48:17.65ID:ZPxTZMGf すみません, お題での 集合 は Ruby では Setクラス のような, 要素に重複や順序性のないものを考えていました.
想定していた回答例は以下です.
answer
(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 113 127 131 137 139)
(apply #'+ answer)
2018
(length answer)
33
想定していた回答例は以下です.
answer
(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 113 127 131 137 139)
(apply #'+ answer)
2018
(length answer)
33
973デフォルトの名無しさん
2017/12/30(土) 17:07:30.49ID:YKsh4iwJ 9個まではすぐ見つかるんだけど10個になった途端重くなる
10個の場合は存在しない?
逆に21個や33個の場合はすぐ見つかるんだ、どういう分布なんだろな
10個の場合は存在しない?
逆に21個や33個の場合はすぐ見つかるんだ、どういう分布なんだろな
974デフォルトの名無しさん
2017/12/30(土) 17:11:07.91ID:6VD4P8Az975デフォルトの名無しさん
2017/12/30(土) 18:48:52.49ID:YKsh4iwJ976デフォルトの名無しさん
2017/12/30(土) 21:03:54.80ID:30TR5CU8977デフォルトの名無しさん
2017/12/30(土) 21:15:48.77ID:KgXg1sy3 >1も素数なんだが
>1も素数なんだが
>1も素数なんだが
>1も素数なんだが
>1も素数なんだが
978デフォルトの名無しさん
2017/12/30(土) 21:23:36.74ID:bLWDJrON979デフォルトの名無しさん
2017/12/30(土) 21:26:45.29ID:bA88XQgg >>976
4つ上のレスも確認できないくせに何言ってんの
4つ上のレスも確認できないくせに何言ってんの
980デフォルトの名無しさん
2017/12/30(土) 21:42:01.90ID:ZPxTZMGf 一般に, 素数は 1およびその数自身のほかに約数を有しない正の整数 と定義されますので, ここではその定義に従います.
また一般に, 重複や順序性のない もののあつまり を 集合(set) と呼ぶことが多いので, ここではその用法に従います.
集合(set)に対して, ものをならべたものは列(sequence)と呼ぶことが多いです.
ここでは『AABBCC』は文字列ですが, 文字集合ではないとします.
% irb
irb(main):001:0> require 'prime'
=> true
irb(main):002:0> 1.prime?
=> false
irb(main):003:0> 2.prime?
=> true
irb(main):004:0> require 'set'
=> true
irb(main):005:0> Set.new([1]*2018).size
=> 1
また一般に, 重複や順序性のない もののあつまり を 集合(set) と呼ぶことが多いので, ここではその用法に従います.
集合(set)に対して, ものをならべたものは列(sequence)と呼ぶことが多いです.
ここでは『AABBCC』は文字列ですが, 文字集合ではないとします.
% irb
irb(main):001:0> require 'prime'
=> true
irb(main):002:0> 1.prime?
=> false
irb(main):003:0> 2.prime?
=> true
irb(main):004:0> require 'set'
=> true
irb(main):005:0> Set.new([1]*2018).size
=> 1
お題:指定した複数の wav フォーマットを連結して一つ wav ファイルを作成するプログラムを書け
・ファイルの指定方法はコマンドライン引数指定でかまわない
・wav ファイルフォーマットの仕様上の上限である 4GiB まで正常に結合できることを必須の最低条件とする
・PCM フォーマット・ステレオ2ch・サンプリング周波数 44.1kHz に対応しておればよい
・GUI に対応しておればなおよい
背景:いや、いろいろダウンロードして試しているのだけれども、4GiB まで正常に結合できるソフトウェアが見つからないのです‥
・ファイルの指定方法はコマンドライン引数指定でかまわない
・wav ファイルフォーマットの仕様上の上限である 4GiB まで正常に結合できることを必須の最低条件とする
・PCM フォーマット・ステレオ2ch・サンプリング周波数 44.1kHz に対応しておればよい
・GUI に対応しておればなおよい
背景:いや、いろいろダウンロードして試しているのだけれども、4GiB まで正常に結合できるソフトウェアが見つからないのです‥
982デフォルトの名無しさん
2017/12/31(日) 01:09:52.02ID:iFZSMKfw それでこのスレに辿り着くのは面白い
983デフォルトの名無しさん
2017/12/31(日) 01:21:45.50ID:QH0un2fa 前からこのスレにいる人でしょ。
お題としてはまったくこのスレに向いてないと思うが。
お題としてはまったくこのスレに向いてないと思うが。
984デフォルトの名無しさん
2017/12/31(日) 01:55:26.47ID:mjAZsjOp 2000から3000位まで試してみたが、大体33前後になるみたい
(微妙に増加していくが緩慢)
(微妙に増加していくが緩慢)
985デフォルトの名無しさん
2017/12/31(日) 03:02:32.19ID:rf+Z6LCT986デフォルトの名無しさん
2017/12/31(日) 05:23:36.13ID:Q5J3BQB7 >>981
waveチャンクって2gbまでだっけ?sizeフィールドが32bitsignedだったような気がするんだけど。どうだっけ?
waveチャンクって2gbまでだっけ?sizeフィールドが32bitsignedだったような気がするんだけど。どうだっけ?
987デフォルトの名無しさん
2017/12/31(日) 05:28:08.43ID:Q5J3BQB7 書き出すのはそんなに難しくないんだけど、読み込むのが面倒なんだよなぁ。
それに、適当にくっつけるとくっつけたところにブツ!っていうのノイズが入ることがあったはず。
それに、適当にくっつけるとくっつけたところにブツ!っていうのノイズが入ることがあったはず。
988デフォルトの名無しさん
2017/12/31(日) 05:33:17.47ID:Q5J3BQB7989デフォルトの名無しさん
2017/12/31(日) 09:49:37.67ID:Jha/n6sD 自分で書くよりfoobar2000でMerge all tracks into one output fileしちゃうよな
むしろ6GBとかいける、wave64になってんのかな
むしろ6GBとかいける、wave64になってんのかな
990デフォルトの名無しさん
2017/12/31(日) 10:12:35.10ID:vp+PvkVL 完全にスレチ
992デフォルトの名無しさん
2017/12/31(日) 14:14:14.10ID:Jha/n6sD993デフォルトの名無しさん
2017/12/31(日) 19:53:16.48ID:R6E+DNla "2018と素数" 類似問題
[お題]
前問よりどうやら、ユニークな素数の和で2018を作ると、
構成(要素)数 33個が最大で 4種類あるらしい。
最小は2個で27種類あるみたいだ。
3個だと 73種類、 4個だと 85014種類あるみたいだ。
ユニークな素数の和で2018を作る時、
最大の種類が作れるのは、構成数何個のときで、何種類か。
(注) 8個を超えると10億超えがしばらく続くらしい。
[お題]
前問よりどうやら、ユニークな素数の和で2018を作ると、
構成(要素)数 33個が最大で 4種類あるらしい。
最小は2個で27種類あるみたいだ。
3個だと 73種類、 4個だと 85014種類あるみたいだ。
ユニークな素数の和で2018を作る時、
最大の種類が作れるのは、構成数何個のときで、何種類か。
(注) 8個を超えると10億超えがしばらく続くらしい。
994デフォルトの名無しさん
2017/12/31(日) 19:58:31.90ID:Q/CIq2T0 >>981
ちゃんと理想の仕様を書けば作るけど
ちゃんと理想の仕様を書けば作るけど
995デフォルトの名無しさん
2017/12/31(日) 20:02:31.92ID:Q/CIq2T0996デフォルトの名無しさん
2017/12/31(日) 22:29:40.39ID:q2wUTltf998デフォルトの名無しさん
2018/01/01(月) 06:04:16.51ID:4wMbPbHX どうして2048ではなく2018などという中途半端な数にしたんだろうとずっと不思議に思っていたのだが(お題だから敢えて変な数にしたのかとか思ったんだが)、ようやっとわかったよ。今年の西暦年だったんだね。
999デフォルトの名無しさん
2018/01/01(月) 06:13:54.33ID:+ZNxt5nC >>995
勘違いしてたか。訂正ありがとう。
勘違いしてたか。訂正ありがとう。
1000デフォルトの名無しさん
2018/01/01(月) 08:09:01.71ID:OeEKMk/d10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 395日 15時間 10分 31秒
新しいスレッドを立ててください。
life time: 395日 15時間 10分 31秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 性売買「買う側」処罰化と同時に「売る側は処罰せず、支援の対象に」Colabo主催の集会にて★2 [パンナ・コッタ★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! [Ailuropoda melanoleuca★]
- 【高市関税キター!!】個人輸入・少額輸入品への税優遇見直しへ…1万円以下の輸入品にも消費税を課す方針★2 [1ゲットロボ★]
- 立憲・塩村あやか氏 12歳タイ人少女の事件を受け、人身売買を厳罰化する法案を提出へ 「日本人が買って…恥ずかしかったですね」 [少考さん★]
- 【インバウンド】中国政府、日本行き航空便の減便指示、来年3月末まで「当面の措置」外交情勢によって見直しも★2 [1ゲットロボ★]
- 【芸能】サンド伊達、信号めぐり苦言「おっさんおばさんが無視して…」 怒りあらわ「格好悪い、大人が守んねーんだ」 [冬月記者★]
- 高市早苗、ネトウヨを裏切るwwwwwww「すまん、外国人の不動産規制やっぱ無理だわ」 [246620176]
- 【文春砲】国分太一降板の原因は女性スタッフへのわいせつ [579392623]
- 近過ぎてしまって見えなくなった考え過ぎて分からなくなった
- 夜の闇にまぎれ僕等低空で飛び続けた
- こういうギャグみたいなおっぱいで抜けるやつwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
- どんなこともできそうな気がしていたあどけない僕と君未来に期待していた
