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

レス数が1000を超えています。これ以上書き込みはできません。
2018/01/01(月) 11:15:04.40ID:2Vr1CPKy
プログラミングのお題スレです。

前スレ
プログラミングのお題スレ Part9
https://mevius.5ch.net/test/read.cgi/tech/1480579110/

【出題と回答例】
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/

宿題は宿題スレがあるのでそちらへ。
2018/01/01(月) 11:39:39.89ID:VmkM0MJM
お題
次の文章を縦書きに表示されるよう加工し出力してください

加工前:
謹賀新年 謹んで初春の お慶びを 申し上げます

加工後(例1):
申お謹謹
し慶ん賀
上びで新
げを初年
ま  春
す  の

加工後(例2):
https://i.imgur.com/pkLBsWi.png
2018/01/01(月) 12:01:10.83ID:N3PMPZ9z
>>1乙 & あけおめ

>>2 Ruby
https://ideone.com/fRHA7Q
4デフォルトの名無しさん
垢版 |
2018/01/01(月) 14:39:59.78ID:U26F8/ie
>>2
丁度それ俺も作ろうと思っていたところだが、丸とか点とか括弧とかどうしようかと思って、丁度いい文字ある?
(とりあえず考慮せずに横を縦にするだけのを作ろうとは思うが)
2018/01/01(月) 14:51:30.39ID:P8RPHdP6
>>4
括弧しかないけど
⌢⌣
2018/01/01(月) 15:47:21.75ID:N3PMPZ9z
それはもはやフォントの問題でしょ
2018/01/01(月) 17:34:08.30ID:2jFA1rWl
>>2 Python3
https://ideone.com/tt4dks
8デフォルトの名無しさん
垢版 |
2018/01/01(月) 20:47:28.38ID:U26F8/ie
>>2
Kotlin
https://paiza.io/projects/oDqJR2FFDo0Ri4PEkPDMHg
2018/01/01(月) 22:22:03.28ID:2Vr1CPKy
>>2 Java
https://paiza.io/projects/0avjX3xX3JuluNidFqJhxQ
10デフォルトの名無しさん
垢版 |
2018/01/02(火) 09:36:50.18ID:8EboTxzh
>>9
おお!凄い。そうやるとあのフレーム内に画像で出せるのか。知らなかった。
11デフォルトの名無しさん
垢版 |
2018/01/02(火) 11:18:47.19ID:HRLyaEAj
お題:
標準数のE24系列を求める。
ttps://ja.wikipedia.org/wiki/%E6%A8%99%E6%BA%96%E6%95%B0

例えば、
f(0)=10、f(1)=11、f(2)=12
...
f(23)=91、f(24)=100、f(25)=110

配列を定数で初期化して表引きとかだと簡単過ぎるので、暦計算のツェラーの公式みたいな、
技巧的な方法を求む(でも表の大きさより長いコードは避けたい)。
ttps://ja.wikipedia.org/wiki/%E3%83%84%E3%82%A7%E3%83%A9%E3%83%BC%E3%81%AE%E5%85%AC%E5%BC%8F

発展的なお題:
上記の逆関数。例えば、
g(10)=0、g(11)=1、g(12)=2
...
g(91)=23、g(100)=24、g(110)=25
これも技巧的な方法を求む。
2018/01/04(木) 09:10:58.18ID:PjOI7aHa
うがー、曲線制御難しい。
https://ideone.com/F4QHpF
細かいところが近似しない。ダメだこりゃ。
ちょっとどんな曲線か一回プロットした方がイイなこれ。
細かい係数のつけかたがよくわからん。
2018/01/04(木) 09:59:21.12ID:PjOI7aHa
>>2
https://ideone.com/0kh4kb
C++。イデオンでは動かないや。
等幅フォントで見てね。
2018/01/05(金) 10:38:01.00ID:DBj0On7v
>>11 Ruby
f = ->n { (10*1.1**n).round - (n - n%9% 8*(n/7) + 1)/(n + 1) + (n - 1)%4/3*n/8*(13/(n + 1)) + 1 }
puts 24.times.map{|n| f[n] }*', '
#=>10, 11, 12, 13, 15, 16, 18, 20, 22, 24, 27, 30, 33, 36, 39, 43, 47, 51, 56, 62, 68, 75, 82, 91
2018/01/05(金) 10:58:26.97ID:cHsd4Bik
>>14
これマジ?できちゃったの?加速式がよくわからん。
すげー。
2018/01/05(金) 11:08:21.35ID:DBj0On7v
>>11 Ruby もう一個。トリビアルだけど
f = ->n{(10*9.1**(n/23.0)).round + n/10 - n/17 - n/20 - n/22 + n/23}
https://ideone.com/RH20K9
2018/01/05(金) 11:28:04.78ID:DBj0On7v
>>11 Ruby 逆関数
g = ->n{(10.4*Math.log(n/10.0)).round}
https://ideone.com/5S1Z0c
2018/01/05(金) 11:53:27.22ID:EvgbcVVm
どういう仕組みなの?
2018/01/05(金) 11:55:15.13ID:cHsd4Bik
近似式発明したんだろうけど、よくできたなぁ。
俺はさっぱりだったよ。
2018/01/05(金) 12:01:38.94ID:DBj0On7v
a_(n+1) ≒ a_n^ε (ε > 0) だkら
a_n ≒ a_0 ^ (n * ε)
n について解けば
n ≒ log(a_n)/(ε * log(a_0))
あとは愚直に調整しただけ
2018/01/05(金) 12:16:05.36ID:DBj0On7v
訂正
a_(n+1) ≒ a_n^ε (ε > 0) だから
a_n ≒ a_0 * C ^ (n * ε) (C, > 0)
n ≒ log(a_n/a_0)/(ε * log(C))
2018/01/05(金) 17:36:54.10ID:XwioZimh
定義が等比数列を丸めたものなんだから、等比数列で近似するのが妥当ということか
2311'
垢版 |
2018/01/07(日) 12:51:35.88ID:ItKItkim
f(n+24)=10*f(n)
及び
g(10*m)=24+g(m) 但し m>0
を満たす様に修正(多分そんなに難しくない筈)。
2018/01/07(日) 13:51:43.22ID:CHs7O0uQ
そうですか。
2018/01/07(日) 14:29:47.66ID:C0bXlb1w
>>23 Ruby
f_origin = ->n{(10*1.1007**n).round + n/10 - n/17 - n/20 - n/22 + n/23}
g_origin = ->n{(10.4*Math.log(n)).round - 24}
f = ->n{10**(n/24) * f_origin[n%24]}
g = ->m{e = Math.log10(m).floor - 1; 24*e + g_origin[m/10**e]}
https://ideone.com/uegzKO
2018/01/07(日) 14:59:36.86ID:C0bXlb1w
gは殆ど修正する必要なかったわ
g = ->m{(24*Math.log10(m)).round - 24} でおk
https://ideone.com/bHYGiS
2018/01/07(日) 17:48:55.50ID:C0bXlb1w
>>23 Ruby 最後に、別パターン
f = ->n{
r = n%24
10**(n/24) * (10**(1 + (r*43 - r/14*13 - r/17*13 - r/22*4)/1000.0)).round
}
g = ->m{(24*Math.log10(m)).round - 24}

https://ideone.com/HP1cTR
2018/01/11(木) 23:34:49.67
お題:「.」でランダムな形状のウンコのAAを生成せよ。
2018/01/12(金) 01:31:40.65ID:tSEZeyzM
うんこの定義を示して。
2018/01/12(金) 10:00:57.50ID:HcOFRrsq
>>89
それは疑素数じゃないよ
2018/01/12(金) 10:01:20.49ID:HcOFRrsq
ごめんなさい誤爆
2018/01/12(金) 10:07:30.82
ウンコの定義:自由
33デフォルトの名無しさん
垢版 |
2018/01/13(土) 00:20:54.58ID:ZTdbWh7g
. ←鹿の糞
2018/01/14(日) 12:20:59.96
お題:5chの安価を番号のリストに変換しろ

>>1 [1]
>>1-3 [1,2,3]
>>1,3 [1,3]
>>1-3,5,9-10 [1,2,3,5,9,10]

ただし安価は1〜1000までとする
2018/01/14(日) 12:28:50.16ID:oDSLdmUy
>>34 Ruby ワンライナー
https://ideone.com/GEkqeN
2018/01/14(日) 13:38:10.89ID:zRc3xs8X
>>34
Perl
https://paiza.io/projects/6SNE2GI3wWlaqtf3cM2RgQ
何も考えずに文字列変換して eval。
37デフォルトの名無しさん
垢版 |
2018/01/14(日) 14:04:24.59ID:yhrEjmBP
前のやつだが、答え、もしくは決定版といえるコードは出てきてないとおもうんだが・・・


自然数Nに対して、平面上の円でその円周上の整数点がちょうどN個となる円の最小半径を求めよ。
38デフォルトの名無しさん
垢版 |
2018/01/14(日) 14:07:09.53ID:5Za2FGI3
>>34 JavaScript
https://ideone.com/Q6S3dL
2018/01/14(日) 15:46:06.63ID:zRc3xs8X
>>34
Kotlin
https://paiza.io/projects/OpmVDw9teJLEpGSuuVR6FQ?language=kotlin
Perl版よりもまともに考えました。
2018/01/14(日) 19:13:35.01
>>37
原点が中心?
2018/01/14(日) 20:00:35.07
お題:5chの安価を番号のリストに変換しろ Part.2
安価の番号nが1≦n≦99999までのものを有効とする
重複は許さない。結果のリストは昇順。安価に負の数は含まれないものとする。

>>1 [1]
>>1-3 [1,2,3]
>>1,3 [1,3]
>>1-3,5,9-10 [1,2,3,5,9,10]
>>000000-000000001 [1]
>>289494 []
>>0-2,99998-100000 [1,2,99998,99999]
>>3,0-3,4,5,6,4,2-8 [2,3,4,5,6,7,8]
2018/01/14(日) 20:06:11.72
追記ですが >>1-10000000000000000 とかの処理過程でバカデカいメモリを使うことがないようにしてほしいです。(スレの趣旨に反するけどnode.jsで実装できるものがいいです)
43デフォルトの名無しさん
垢版 |
2018/01/14(日) 20:30:18.16ID:OECcG/Oa
>スレの趣旨に反するけどnode.jsで

あっ・・・
2018/01/14(日) 20:43:19.38
node.jsにもある関数やデータ構造だけ使っていれば言語は何でも大丈夫です
2018/01/14(日) 22:26:14.90ID:olnfEEGn
頑張ってください。
2018/01/14(日) 23:55:46.02ID:yLMdIfgu
誰も出来ないのか...すまん
2018/01/15(月) 00:32:45.08ID:u3cYdd8C
ここは宿題スレじゃねー。
2018/01/15(月) 00:37:10.99ID:uINOZsXa
宿題じゃないです
2018/01/15(月) 00:41:45.56ID:u3cYdd8C
とにかく、すれ違いだ。
2018/01/15(月) 00:49:40.58ID:uINOZsXa
マ?すまん
2018/01/15(月) 11:45:13.51ID:Z2TXOko+
マ?じゃねえよアホ
パクる気満々じゃねえか
52デフォルトの名無しさん
垢版 |
2018/01/15(月) 12:00:51.10ID:Vl/A/sOK
マんマん
2018/01/15(月) 12:34:20.42ID:H/ZiF0K3
>>51
え、そういうスレじゃないんだ
2018/01/15(月) 12:36:57.99ID:H/ZiF0K3
要するにめんどくさいから誰もやらんってことやな
んで、適当な言い訳で自分を正当化とな
ま、そんなもんだろうと思っとたわ
誰かが喜んで書いてくれると期待した俺がバカでしたよっと
55デフォルトの名無しさん
垢版 |
2018/01/15(月) 12:49:45.27ID:Vl/A/sOK
ああ。何れにしても君が馬鹿であることには代わりがない。合掌。
2018/01/15(月) 12:58:44.28ID:H/ZiF0K3
ズコーッ´д` ;
2018/01/15(月) 13:02:35.28ID:vArPpzem
こんな簡単なことすら自分で書けず。剰えスレタイとテンプレも読めないとは
すがすがしいほどに頭が悪いな
2018/01/15(月) 13:05:45.85ID:H/ZiF0K3
んじゃ、node.jsで実装できるものってのは無しで
2018/01/15(月) 13:09:11.57ID:H/ZiF0K3
簡単なんでしょ?頼むよ
どこもテンプレに反してないしよぉ
2018/01/15(月) 13:21:03.25ID:H/ZiF0K3
ビットコインあげるからやってくれ
2018/01/15(月) 13:35:06.48ID:u3cYdd8C
頭の中ではコードできてるけど、態度が気に入らないので書く気はない。
ちなみに、方針としては、レンジだけ持ってればいいんだから、ペアで頭と尻尾保管した配列作ればいいだろ。
2018/01/15(月) 13:36:47.80ID:H/ZiF0K3
そんな小学生みたいなこと言ってないで貼ってくれよ
コインもあるんだしよぉ
2018/01/15(月) 13:37:54.77ID:u3cYdd8C
>>62
コーディングもできないのに野望を抱くのが愚か。
2018/01/15(月) 13:39:23.71ID:H/ZiF0K3
ちなみに書き忘れてたけど0.004Btcね
コインはたくさんあるし
65デフォルトの名無しさん
垢版 |
2018/01/15(月) 14:50:02.99ID:kurVIvkx
>>37
これの整数点をできるだけ早く求めるのをやってみる。

( ax + b )^2 + ( ay + c )^2 = R
2018/01/15(月) 15:45:58.14ID:u3cYdd8C
>>41 >>64
https://ideone.com/xxe0k4
C++。これくれてやるからカエレ。ちなみにライセンスはGP v3な。
デバッグはじぶんでやれや。
2018/01/15(月) 15:46:26.19ID:u3cYdd8C
>>66
ライセンスはGPL v3な。
2018/01/15(月) 15:47:13.57ID:aMLeGifE
>>60
http://mevius.2ch.net/test/read.cgi/tech/1434079972/
2018/01/15(月) 15:52:35.03ID:H/ZiF0K3
ウォレットのアドレスくれ
コード理解したら送る
2018/01/15(月) 15:56:46.32ID:u3cYdd8C
>>69
いらねーから、二度とくんな。
ライセンスは守るように。
2018/01/15(月) 16:09:27.25ID:H/ZiF0K3
ライセンスとかめんどくせえしおまえのソースコードなんか誰も使わねえよ
無駄な労力乙
おめーらがムカつくから意地でもコード書かせたかっただけな笑
ザッマw
2018/01/15(月) 16:15:02.63ID:u3cYdd8C
>>71
これくらい誰でもかけるわ。お前以外は。
2018/01/15(月) 16:16:18.48
こんなん俺でも書けるわボケ
めんどくせえからここに放り込んでみたが失敗した
2018/01/15(月) 16:17:01.08ID:u3cYdd8C
無駄だったね。じゃ、がんばって。
2018/01/15(月) 16:17:16.38
node.js版のライセンスなしが欲しかったのに
2018/01/15(月) 16:18:28.46ID:u3cYdd8C
そうですか。
2018/01/15(月) 16:42:42.44ID:bHHfeTSI
ライセンスが無いのは最も厳しいライセンス
あらゆる許可が与えられていないからパクったら駄目だぞ
2018/01/15(月) 16:47:21.25
そうですか。
2018/01/15(月) 17:46:44.26ID:aMLeGifE
>>34,41
http://mevius.2ch.net/test/read.cgi/tech/1434079972/33
80デフォルトの名無しさん
垢版 |
2018/01/15(月) 17:50:27.29ID:PFTeeq7k
ま、俺はKotlin学習中だから、丁度良いのでゆっくり作ってるよ。忘れた頃に出来るであろう。
2018/01/15(月) 17:51:46.97ID:u3cYdd8C
>>65
これって格子暗号ってやつかな?
2018/01/15(月) 17:57:48.20ID:u3cYdd8C
>>79
JSはタイプレスだからテンプレート使ってもばち当たらない気がする。
2018/01/15(月) 18:20:04.44
てす
>>4-1
2018/01/15(月) 18:27:38.89
このパターンもあったか
ちんくるだと >>n-[レス数超過] パターン は何も表示しない以外はちゃんと動作するな
85デフォルトの名無しさん
垢版 |
2018/01/15(月) 20:39:01.35ID:kurVIvkx
>>81
格子だが、格子暗号ではないようだ。知らずに調べたけど。そこで書いてあった現行の楕円関数暗号のほうが理論的には近いようだ。整数点を数えるという点について。


格子暗号の実用化に向けて
https://www.nict.go.jp/publication/NICT-News/1303/images/02/p02_img4.jpg
https://www.nict.go.jp/publication/NICT-News/1303/02.html


楕円曲線と有理点
http://suri-joshi.jp/sj/wp-content/uploads/2016/03/03_26_01.gif
楕円曲線の有理点の演算
http://suri-joshi.jp/sj/wp-content/uploads/2016/03/03_26_02.gif
http://www.suri-joshi.jp/enjoy/rational_points_of_elliptic_curve/


楕円曲線の整数点
1970年代,フェルマーの問題を征するために必要となるのが楕円曲線であることが明らかになりました.
楕円曲線には,楕円曲線と三点で交わる直線で,そのうちの二つの交点の座標がわかれば他の一点の座標も計算でき,
二つの点の座標が有理数ならば,他の一点の座標も有理数であるなどの性質をもっています.
ところで,楕円曲線:y^2=x^3+1には無限に多くの整数点があるでしょうか,あるいは一つでも整数点はあるでしょうか.
実は,これには整数点は(2,±3),(0,±1),(−1,0)の5つしかありません.
http://www.geocities.jp/ikuro_kotaro/koramu/2652_k1.htm


今日は、前回紹介した「合同ゼータ関数のリーマン予想(ヴェイユ予想)」の応用を紹介したいと思います。
楕円曲線の ハッセの定理 と呼ばれるものです。ハッセの定理によって、 上の楕円曲線の有理点の個数を見積もることができます。
実はこのハッセの定理は、合同ゼータ関数のリーマン予想の帰結となっていて、今日はこのことについて解説したいと思います。
http://tsujimotter.hatenablog.com/entry/hasses-theorem
2018/01/15(月) 21:12:20.18ID:u3cYdd8C
>>85
へぇ。なるほどわからん。
でも、円も楕円の内ってことなら無いって可能性もあるのか?とか。
楕円暗号は辞書と併用するとわけわからんな。

爆発です。
87デフォルトの名無しさん
垢版 |
2018/01/16(火) 02:44:51.59ID:hWpj+IiO
>>41
やっとできた。Kotlin。
https://paiza.io/projects/4yVCO5JcqQwIn4QLt63uuQ
なんだかすごく長くなってしまったよ。きっとよくわかる人が作ると物凄く短くなるんだろうなあ・・・。
2018/01/16(火) 12:34:48.36ID:VgOvX4GN
>>34,41,83,84
http://mevius.2ch.net/test/read.cgi/tech/1434079972/34
2018/01/17(水) 07:05:39.08ID:errnxjlD
こんなのが勃ってるぞ

QZは自作自演を停止せよ
http://mevius.5ch.net/test/read.cgi/tech/1514820197/
2018/01/17(水) 16:53:26.57ID:qYzFevXN
宿題スレの変態に文句あるならスレ落せって言ってるのにかきこむから落ちない。
じぶんでも保守しといて自演扱いだから矛盾してる。
ちなみに俺はQzの人じゃないよ。
前に解答書いたらQzの人扱いされた。
2018/01/21(日) 18:29:37.95ID:XQq46tQk
>>41>>42 Perl5
https://ideone.com/WY0Jb6

※perlのfor ... はiteratorに最適されるので
>>1-10000000000000000 などが指定されてもメモリ消費は少ない
2018/01/21(日) 18:37:01.12ID:XQq46tQk
>>91は早とちりした

>>41の要件
・リストに変換
・重複は許さない
・結果のリストは昇順
を満たしていないや
テヘペロ
2018/01/22(月) 00:57:45.27ID:ksg0WZZw
>>91,92 修正

>>41>>42 Perl5
https://ideone.com/fp3VSt

これで良い筈。
2018/01/22(月) 02:08:53.18ID:FhCwy9L9
>>91,93
0は範囲外w
2018/01/22(月) 05:52:35.20ID:YeXv1dis
>>289494
[99999]

貼るのならせめて仕様どおりの実装かどうか最小限のチェックをしてから貼れや
最初の回答なら多少違ってても中間報告っぽくして誤魔化したりしつつ他人のアイデア盗んだり出来るけど二番煎じではそれは無理。
2018/01/22(月) 22:53:07.25ID:xL0hK3i2
オレがおっちょこちょいで確認不足だった。

>>41>>42 Perl5
https://ideone.com/LDJrW8
2018/01/22(月) 23:05:50.55ID:xL0hK3i2
>>96
貼ってから気がついたけどSTDINのテストデータでは問題を起こさないが
7行目が
$a[1] = $a[0] unless $a[1];
だと$a[1]=0のときに誤動作の元だな…
$a[1] //= $a[0];
にすべきでした。
98愛知人
垢版 |
2018/01/25(木) 16:10:27.67
その質問の主だが結局こうしたでな
https://ideone.com/SxLQUO
2018/01/25(木) 19:38:18.47ID:+OI4mbzo
>>98
アンカーの先頭と終端のペアを持つってアルゴリズムさ、
>>66と同じっぽいのでGPLv3に引っかかってないか?
100愛知人!id:ignore
垢版 |
2018/01/25(木) 20:21:47.54ID:oIA0WROS
そうなん?俺はそんなの読んでないけどな。
2018/01/25(木) 23:36:56.13ID:mFGjgyfD
アルゴリズムが同じだとして何か問題?
2018/01/26(金) 03:04:21.26ID:UBBQh08e
アルゴリズムはフリーだよな
2018/01/26(金) 03:47:46.91ID:mrmbkYhg
あれ?アルゴリズムってライセンスに乗らないの?
2018/01/26(金) 03:52:53.09ID:mrmbkYhg
http://www.orsj.or.jp/~wiki/wiki/index.php/《アルゴリズム特許》
アルゴリズム特許が取れる以上ライセンスに乗ると思うけど。
2018/01/26(金) 03:57:51.29ID:mrmbkYhg
https://ja.wikipedia.org/wiki/ソフトウェア特許
『「発明」とは、自然法則を利用した技術的思想の創作のうち高度のものをいう』
アルゴリズムの中で自然的なモノは特許取れないけど、創意工夫の入ってるものは取れる。
そこから考えて、アルゴリズムをライセンスするということは普通にあると思う。
2018/01/26(金) 04:05:42.65ID:mrmbkYhg
https://www.catch.jp/oss-license/2011/11/19/gpl2bsd/
ここだと大丈夫になってるなぁ。
まぁ、特許取ったわけじゃないから翻訳はOKなのか。
ふむふむ。
2018/01/26(金) 04:11:50.53ID:mrmbkYhg
http://kenakamatsu.tumblr.com/post/55869087710/二次創作同人小説が合法って本当
これだな。ほぼ内容の同じ2次小説。
偶然似たのだいいわけすれば逃げれるのだとさ。ふむふむ。
お題出しといて読んでないとは思えないけど。
2018/01/26(金) 04:14:37.18ID:mrmbkYhg
まぁいいか。著作権に引っかかってる可能性が微レ存とだけは言えるかな。
GPLってそうなのか。翻訳されちゃうと取れちゃうんだなぁ。ふむふむ。
2018/01/26(金) 10:06:06.80ID:2nQXk4BN
ソフトウェア特許には異論が多いよ
つカーマーカー特許

特許は著作権とは別で、特許申請側がお金を払う必要がある
ライセンスはどちらかというと著作権の側
110愛知人
垢版 |
2018/01/26(金) 11:20:40.97
C++読めん
長すぎて読む気すら起きん
111デフォルトの名無しさん
垢版 |
2018/01/26(金) 15:41:03.21ID:lz5gZOTM
新しいお題

Base64への変換と逆変換

Base64の仕様は下記参照
https://ja.m.wikipedia.org/wiki/Base64
112デフォルトの名無しさん
垢版 |
2018/01/26(金) 16:44:25.72ID:WGHyQmfj
>Base64への変換と逆変換

昔、必要になって自作したことがあったが
いまどき使うんかな
2018/01/26(金) 17:34:48.17ID:EG68/Csg
>>111 ruby
base64ライブラリ未使用
https://ideone.com/vYRY3F
114111
垢版 |
2018/01/26(金) 17:40:18.25ID:c2BX1X7C
>>112
意識的に使うことはあまりないかも知れない。使うとしてもライブラリあるから普通は自分で考える必要はない。
しかしお題としては簡単すぎず難しすぎず丁度良さそうな感じがしたので出してみた。
115111
垢版 |
2018/01/27(土) 03:53:53.42ID:ibqNKJrC
自分で作ってみた。Kotlin。
https://paiza.io/projects/DIOtmtRHfxiejGE2h589sQ
2018/01/27(土) 08:50:52.13ID:61JA97EI
数字があわねー。なんでやー。
2018/01/27(土) 08:51:39.94ID:61JA97EI
今作ってるんだけど、数が合わない。
サンプル間違えてるのかと思ったけどそうでもないようだ。
どうしたらええんや?
2018/01/27(土) 08:59:45.43ID:61JA97EI
https://ideone.com/bXrP3L
C++。途中まであってるのになんかうまく動かないよくわからない残骸。
もう無理ー。
結構丁寧に作ったんだけど、全然うまくいかない。
2018/01/27(土) 09:37:36.05ID:61JA97EI
ロジック変えてないのに書き方変えたら治った。
怖い怖い。
2018/01/27(土) 09:47:13.66ID:61JA97EI
https://ideone.com/QDl5p3
C++。メインロジック変えてないのになぜかバグがなくなった恐怖のコード。
なんでやー!!
2018/01/27(土) 10:34:28.86ID:61JA97EI
できたけど、イデオン落ちてる。
あーひどい目に合った。
2018/01/27(土) 10:41:15.68ID:61JA97EI
>>111
https://ideone.com/NhAocK
C++。完成。あーひどい目に合った。自業自得なのかは知らんけど。
123今北産業
垢版 |
2018/01/28(日) 00:57:39.34ID:Q5D0xdcE
>>111 Perl5
https://ideone.com/G9kQkc

script言語のPerlで書いたけれど、
ASCII文字列のみならずバイナリデータもbase64にエンコードデコードできるように作った
2018/01/28(日) 01:41:35.62ID:xxBRO3qy
>>111 rust
https://ideone.com/2Ax53r
125111
垢版 |
2018/01/28(日) 04:59:53.26ID:bdrFjlI3
>>115のプログラムは動作は同じだが少し修正した。
ほんのちょっとだけ無駄がなくなる。
126124
垢版 |
2018/01/28(日) 13:50:48.21ID:xxBRO3qy
>>111 rust
https://ideone.com/vZk4Oh
・flat_mapでちょっとだけスッキリ?
2018/01/28(日) 17:50:50.19ID:/LCgFVoW
>>111
http://mevius.2ch.net/test/read.cgi/tech/1434079972/35

結構難問みたいで、これまでの回答者の結果が同一にならない

>>113
"ABCDEFG", "Hello, World!" のデコードが私には再現できない

>>115
コードを読み解けなかった、ごめんなさい

>>122
再現できました、ただし他の場合はためしていません

>>123
"12ab34cd56ef78" のデコードが再現できない

>>124, 126
"0123456789"#$%&'()`=@" のデコードが再現できない
128愛知人
垢版 |
2018/01/28(日) 18:25:42.93ID:QV+bfV+F
その問題っておまえが出した?
129デフォルトの名無しさん
垢版 |
2018/01/28(日) 18:42:27.46ID:UfNDpnrp
Base64 が難問なわけねーわ。

簡単簡潔だから採用され普及したんだし。
130愛知人
垢版 |
2018/01/28(日) 18:45:16.82ID:QV+bfV+F
ネタバレだけどC言語スレで「3バイトを4バイトに変換するだけ」って言ってたぞ〜
2018/01/28(日) 18:48:28.67ID:4hSG/ySR
>>127

> >>123
> "12ab34cd56ef78" のデコードが再現できない

>>123の「12ab34cd56ef78」のテストケースは、文字列としてBase64にエンコードしているのではない。
「12ab34cd56ef78」を16進とし、7byteのバイナリ列にしてEncodeしている。

それに対してあんたのjavaコードは「12ab34cd56ef78」を文字列としてBase64にエンコードしている。
だから、>>123とエンコード結果が合わない。

しかし異様に長いな…
なぜかは、オレは調べないでおくけど。
2018/01/28(日) 18:49:59.25ID:4hSG/ySR
>>131、スマソ誤記があった
誤 java
正 C++
2018/01/28(日) 19:09:24.53ID:/LCgFVoW
>>131
了解

>>131
>長いな
うん、ライブラリを知らずいちいち書いてるから長くなるのも止むを得ない
2018/01/28(日) 19:13:55.34ID:/LCgFVoW
>>128
出題者は私じゃありません
135愛知人
垢版 |
2018/01/28(日) 19:15:15.98ID:QV+bfV+F
ここまでに出てるやつって>>130のアルゴリズム使ってるやつある?
2018/01/28(日) 19:24:07.36ID:4hSG/ySR
>>133
"ABCDEFG", "Hello, World!" は、藻前さんのエンコード結果であってるとおもうよ
137111
垢版 |
2018/01/28(日) 20:43:46.22ID:4RSN9gye
>>135
最初それで作ろうかと思ったが複雑になりそうだったので止めた。
結局レジスタ代わりの変数に8bitシフトして6ビット取り出すとか、
6ビットシフトして8ビット超えたら取り出すという方式にした。

>>127
読み取れなかった? C言語でも作ってるので気長に待ってて。
多分そちらはなんとなく分かるだろうと思う。
138124
垢版 |
2018/01/28(日) 21:00:32.08ID:xxBRO3qy
>>111 rust
https://ideone.com/sxPlp1
・ちょっと部分的に整理
>>127で指摘してもらって気付いたバグを修正
2018/01/28(日) 22:03:30.34ID:/LCgFVoW
お題:>>111 の系
1) base64 を実装せよ
2) base64 は 6 ビットごとに一文字を当てるが、これを@5ビットごとに、あるいはA3ビットごとに割り当てるように変更せよ
変換表は base64 の部分とせよ
base64 の実装コードから最小元の変更で済むように構成せよ
※デコード時の '=' の出力仕様は実装しなくともよい
2018/01/28(日) 23:14:42.76ID:xxBRO3qy
>>139 rust
https://ideone.com/LEjBFW
2018/01/28(日) 23:19:10.39ID:Q0fHNoLK
>>139
なんでコンピュータで奇数扱おうとするんですか〜。
個人的にはだけど、すごい気持ち悪い。
ぴったりはまらないから何個も変数マタグし。
2018/01/28(日) 23:22:37.93ID:Q0fHNoLK
>>137
>>122は、3バイトを4分割してるよ。逆変換もしてるよ。
6bit*4で24ビットなのでちょうど3バイトだよ。
まぁ、エラー処理あってるかよくわかってないけど。
143140
垢版 |
2018/01/29(月) 00:30:27.71ID:ZvaF3IbW
>>139
https://ideone.com/MOd0La
・'='追加のバグ修正
144今北産業
垢版 |
2018/01/29(月) 01:26:52.75ID:4Ja8daQT
>>139 Perl5
https://ideone.com/82DbUR

幅が5や3のときに=を何個補完すべきか明確じゃなくなるので
=の追加は省いています。
145今北産業
垢版 |
2018/01/29(月) 01:52:00.25ID:4Ja8daQT
>>144 バグってた。orz
6行目の$W-2は$W-1でなければならない。
この間違いにより幅5のときのABCDEFGのエンコード結果の末尾が1カラム欠ける。

修正版
>>139 Perl5
https://ideone.com/KNxABI
146愛知人
垢版 |
2018/01/29(月) 01:53:47.97ID:pcTu+bOr
ideoneは後から編集できるんだしコッソリ書き換えとけばよくね
2018/01/29(月) 01:59:30.35ID:F1m2sdEz
お題。
暇な人向け。
ボゴソートを実装し、処理が終わるか確認せよ。
https://ja.wikipedia.org/wiki/ボゴソート
発展お題として大体どれくらいの要素数までが現実的か確認せよ。

サンプル:https://ideone.com/Fb8x80
2018/01/29(月) 12:23:05.32ID:EdrsOOA2
>>147
https://ideone.com/WGZ2WG
12文字が限界でしたか…
149愛知人
垢版 |
2018/01/29(月) 15:58:00.28ID:pcTu+bOr
>>111
今更だけど
C言語
https://ideone.com/80cjOY
2018/01/30(火) 00:03:42.09ID:HSoIFMEj
>>148
参加してくれてありがとう。
俺のお題は不人気なんだよね。
どうでもいいお題ばかりだからだけど。
2018/01/30(火) 00:11:56.31ID:fLRARGcM
>>150
いえいえ、一度やってみたかったのです、みてのとおり手数はわずかですみました
コードを書くのは楽しいのに、そのネタがみつからず状況で渡りに船でした
それに私のお題も不人気で、それは過去ログが示しています
152111
垢版 |
2018/01/30(火) 00:35:59.04ID:9ZRSIjLC
>>111をC言語で作ってみたものの、open_memstream()が使えるサイトが見つからず、
結局似たような機能ものを自作してしまいかなり長くなってしまった。orz
https://paiza.io/projects/9mjG00te6x5pMJTZzPF3Dw

直接 FILE * から一文字つづ読みながら変換した方が小さくなるな。
153愛知人
垢版 |
2018/01/30(火) 00:49:23.55ID:nQQmpnBb
>>147
C言語
https://ideone.com/02P7xy

11個でした。
2018/01/30(火) 00:58:03.51ID:HSoIFMEj
>>153
thank you for playing!
まぁ、乱数の質とかが問題になるような気がするのでその分布だときつそうだ。
155111
垢版 |
2018/01/30(火) 01:05:16.85ID:9ZRSIjLC
>>139
ほんのちょっと変更したらできた。ビット数変更は最初の B64BIT の定義を変えるだけ。今は3ビットになってる。
https://paiza.io/projects/aGQZdP5PKfNESdBXh3tHyw
156今北産業
垢版 |
2018/01/30(火) 01:49:35.30ID:dcSCjb3l
>>149
こういう実装は個人的に好みだな。
オレがCで書くならこれに近いイメージ。
encodeMap decodeMapはまったくの静的定数テーブルでもいいけど、
初期化コードで設定すればステートメントが減って見た目もすっきりする
かもね…
157愛知人
垢版 |
2018/01/30(火) 02:17:30.68ID:ZNnrL6O6
無駄な動作が一切ないもんな(多分)
158111
垢版 |
2018/01/30(火) 12:37:43.63ID:Hqo+QOWq
メモリを多く使って高速化するか、それとも使わずに普通に動かすかといった違いかな。
この程度のメモリは今時の普通のPCだと全く問題にならないが、組み込みでメモリがちょっとしか使えないとか、環境に応じて使い分ける必要がある。
159愛知人
垢版 |
2018/01/30(火) 13:14:13.97ID:nQQmpnBb
定数配列はフラッシュメモリに置いたままにできるからメモリ関係ないぞ
160デフォルトの名無しさん
垢版 |
2018/01/30(火) 13:16:52.58ID:KYTb3auw
これやってる人いる? N=41とか難しいやつだったような。


自然数Nに対して、平面上の円でその円周上の整数点がちょうどN個となる円の最小半径を求めよ。
161111
垢版 |
2018/01/30(火) 13:56:11.56ID:Hqo+QOWq
>>160
問題の意味がわからない。
162デフォルトの名無しさん
垢版 |
2018/01/30(火) 14:25:08.29ID:KYTb3auw
XY平面上に適当なサイズの円をおいたとき、
その円周上でX座標、Y座標もともに整数となる点の個数が定まる。
たとえば、中心(0,0)で半径1の円ならば、整数点は4のはず。(1,0) (-1,0) (0,1) (0-,1)
163デフォルトの名無しさん
垢版 |
2018/01/30(火) 14:43:14.34ID:KYTb3auw
しかし、x^2 + y^2 = 1
が4点の最小半径ではなく、

(x-0.5)^2 + (y-0.5)^2 = 0.5 
は、(0,0) (1,0) (0,1) (1,1)で成り立つのでこっちのほうが小さい半径。
2018/01/30(火) 17:06:36.99ID:4rQPa5qI
その条件だとN=1の時の正しい答えが分からないので俺には無理だ
2018/01/30(火) 18:24:23.70ID:BKgDyTE/
1はさすがに除外だろ
適当な3点で円作って、交点の座標調べていくくらいしか思いつかんわ
166愛知人
垢版 |
2018/01/30(火) 18:40:10.88
お題:IPアドレスのリスト(改行区切り)をホスト名のリストに変換せよ
167愛知人
垢版 |
2018/01/30(火) 19:02:43.92ID:nQQmpnBb
ネットつながるのパいざだけでワロタ
168111
垢版 |
2018/01/31(水) 01:37:53.83ID:Mw3vWzBx
>>166
Java
https://paiza.io/projects/gmdnr--vMsOdJg4mgYPVWg
2018/01/31(水) 02:49:17.63ID:Mw3vWzBx
>>166
Perl
https://paiza.io/projects/i-FzOG_EexLNXTX2_QYEpA
2018/01/31(水) 03:29:20.85ID:6DbHoJ9J
C++
2018/01/31(水) 03:30:11.21ID:6DbHoJ9J
う。C++には標準ネットワークライブラリが無いので環境依存になる。
そして俺はLINUXしらない。
2018/01/31(水) 04:17:16.49ID:/WNIOTt0
nodejs
var odai = `
216.58.197.14
98.139.180.180
`;
var out = [];
odai.trim().split`\n`.forEach(ip => dns.reverse(ip, (err, hostnames) => {
out.push(hostnames[0]);
}));
out.join`\n`;
2018/01/31(水) 13:04:01.66ID:tcQ8gYGT
名前の解決には DNS NIS WINS hostsファイルの4種類で行うこと
という条件付けたらどの言語使うのが簡単なんだろう
2018/01/31(水) 14:12:55.10ID:OaylDx9I
>>160
昔やってた(コード貼らずに計算結果だけスレに貼ってた)よ。
2年半くらい前の書き散らしたコード、見てもよーわからんくなってる。
175デフォルトの名無しさん
垢版 |
2018/02/02(金) 00:14:41.12ID:1WRiv4Qn
>>147
Rubyで。
N=11が限界みたいだ。

N = 11
org_ary = (1..N).to_a
wrk_ary = org_ary.dup

cnt = 0
while (wrk_ary = wrk_ary.shuffle) != org_ary
cnt += 1
end
p cnt

# 実行結果
# ruby odai-10-147.rb 17.10s user 0.15s system 96% cpu 17.906 total
# 22093802
# ruby odai-10-147.rb 35.19s user 0.27s system 98% cpu 35.950 total
# 6677838
# ruby odai-10-147.rb 10.64s user 0.11s system 96% cpu 11.170 total
# 26014838
2018/02/02(金) 07:34:54.92ID:/o1efu5t
>>147 ruby
1分以内ならN=12が限度かと

N=ARGV.first.to_i
m=(1..N).reduce(:*)
p (1..1.0/0).each{|i|rand(m).zero?&&(break i)}
2018/02/02(金) 11:55:37.20ID:yvAhkhAB
>>175-176
どちら様も参加してくれてありがとう。サンキュー。

>>175 の試行回数は参考になるな。
N=12位が現実的か。ふーん。
ベンチマーク的に言って結構できるなーって感想だけど、実用には程遠いな。
コンピュータもまだまだやな。

面白いね。
178111
垢版 |
2018/02/06(火) 18:09:43.58ID:f/L9N2Qc
お題:数独を解くプログラム

問題の入力は凝ってもいいけどテキストをファイルや標準入力から読んでもよい。
テキストファイルで数が分かっている所はその数字、分かっていない所は*にして9桁9行で入れとくとかね。

これもほんのちょっと難しいだけの初心者向けお題かな。
2018/02/06(火) 19:36:44.66ID:HIHjrXQm
NP完全問題って回答が似たり寄ったりになるよね
2018/02/06(火) 19:38:56.97ID:CbvV7VOe
うーん、SMTソルバ!w
2018/02/06(火) 23:49:05.88ID:SGfj8ZmY
>>178
過去ログに俺の書いたやつあるよ。
2018/02/07(水) 10:41:58.75ID:XQxF/gRF
数独は、各マスに候補となる数字のテーブル作って、縦横に重複してる数字を消して行き、残った一つを確定するって作業を繰り返すだけの処理で完成さ。
2018/02/07(水) 11:03:49.05ID:Fs+ewjw+
>>182
それで済むのは初級問題だけ
2018/02/07(水) 11:12:34.29ID:XZkgmMto
https://ideone.com/mtcLac
昔書いたやつ。発掘してきた。もう覚えてないからバグあっても治せん。
2018/02/07(水) 17:52:17.81ID:9l0mg5Zf
>>178 Ruby
https://ideone.com/YRslIS
2018/02/07(水) 21:06:46.20ID:bBRbF5k8
>>185ってめっちゃ短いけどどういうアルゴリズムなん?
2018/02/07(水) 21:08:13.86ID:4MElfpHe
buruto fosu
2018/02/07(水) 22:16:04.98ID:XQxF/gRF
>>183
上級問題対応するなら、仮盤面作って総当たり戦で解が出るまで繰り返してあげればいいんじゃね?
当然、あるマス目に入る数字は幾つかに絞られてるから無駄にはならない。
2018/02/07(水) 22:19:58.39ID:XQxF/gRF
>>186
3×3のマス目には1から9の値は一つしか入らないからってのと、
縦横全体も数字は重複しないってルールだけでぶん回してる感じ?
190111
垢版 |
2018/02/08(木) 03:00:07.95ID:FQ2Hecmn
>>178
自分で作ってみた。Kotlin。
https://paiza.io/projects/xnR6_Wgd7gKcC1jW__QBxw
やり方は同じだな。再帰で総当たりしてるだけ。

というか、これに関して他にもっと良い方法あるのかな?
191111
垢版 |
2018/02/08(木) 03:10:18.15ID:FQ2Hecmn
編集ミスして消し忘れた部分を修正したりほんのちょっと記述を変えて無駄をなくした。
2018/02/08(木) 12:00:24.59ID:LqQGT0cW
>>186
すでに指摘されてるけど、縦横3*3で重複無しルールにのみ基づき全探索
ttps://gigazine.net/news/20100822_hardest_sudoku/
上にある世界一難しい(らしい)数独も3秒くらいで解けるし余計な枝刈りは不要かなと
2018/02/08(木) 14:18:21.56ID:NgH9M/Tg
>>184 つかって >>192 解いてみた。
i6700のスカイレークでリリースビルドで2秒くらいやった。
解法がバックトラックで十分だからバリエーションでないね。
2018/02/09(金) 12:41:19.10ID:TwjeAAZ1
find!!
145327698
839654127
672918543
496185372
218473956
753296481
367542819
984761235
521839764

答えこれのやつでしょ?

core2のノートで>>184の使って0.154秒だったけど
6年前に自分が書いたやつでもやってみたら0.011秒だった
それ遅すぎるような気がするけどこっちが何か間違ってるのかな
2018/02/09(金) 16:11:55.97ID:5reHnMoL
>>194
さぁ、>>184が色々余計なことしてる可能性はなくもない。
答え出ればいいだけだだから余計な枝狩りやってるかも。
2018/02/09(金) 16:15:21.82ID:5reHnMoL
あ、ちがうわ。

>>194
VS上でやってるから余計なプロセス動いてたかも。ファントム関係ってことはないと思うけど。
2018/02/09(金) 16:29:04.59ID:5reHnMoL
https://ideone.com/NqxATw
これ見る限りうちがおかしいな。なんでだろ。
198111
垢版 |
2018/02/09(金) 21:22:00.28ID:2uCfWfAn
やっぱ数独はここの常連には簡単すぎたかな。
じゃあ枢動の問題作るプログラムはどうかな?
もちろんちゃんと解ける問題じゃないとだめだよw
2018/02/09(金) 21:23:02.19ID:2uCfWfAn
ごめん。変換ミス。数独の問題な。
2018/02/09(金) 21:24:13.83ID:5reHnMoL
>>198
適当に数字置いてソルバーに解かせて歯抜けにすればいい。
201111
垢版 |
2018/02/09(金) 21:29:08.23ID:2uCfWfAn
>>200
まあそうなんだよな
2018/02/09(金) 21:42:40.35ID:oBTDEK03
解が複数あるかどうかまで調べなあかんやろ?
2018/02/09(金) 21:47:43.12ID:5reHnMoL
>>202
自分のソルバーは重解対応。
2018/02/09(金) 23:29:19.09ID:vnftmyZB
理詰めで解ける難易度の高い問題を作るのは難しいんじゃないかな?
2018/02/09(金) 23:34:37.03ID:4MNBrsaS
理詰めっていってもよくある解放は特殊な場合の背理法に過ぎないからなぁ
背理法アリなら何でも解けちゃうしね
2018/02/10(土) 01:03:55.15ID:7RdjB5XB
https://ideone.com/4gJj7c
C++。やっつけで作ってみた。
ソルバー指向の出題システム。答え合わせ付き。
なんか若干バグってる気がする。
ユニークしてないのになんか答えの数が合わない。
2018/02/10(土) 01:14:04.93ID:7RdjB5XB
あ、修正した。
2018/02/10(土) 01:15:50.01ID:7RdjB5XB
あれ?二度手間してるか?
2018/02/10(土) 01:26:03.91ID:7RdjB5XB
バージョンアップ。これで完成。
2018/02/10(土) 01:51:14.02ID:7RdjB5XB
https://ideone.com/A2t0QO
C++。出題部を複雑化したバージョン。
もう手を入れるところないやろ。
2018/02/10(土) 02:20:45.32ID:7RdjB5XB
長くなっちゃった。。。そーりー。
2018/02/10(土) 17:24:55.37ID:7RdjB5XB
>>198
>>210 みたいなのはおkなの?
反応なくて寂しい・・・。
2018/02/10(土) 17:53:13.03ID:be1wK+Hh
難易度とか、手で解いたときの楽しさみたいな設定
2018/02/10(土) 17:54:30.37ID:7RdjB5XB
>>213
それは、俺自力で数独解いたことないから手加減がわからない。
2018/02/10(土) 18:15:22.72ID:7RdjB5XB
っていうかさ、評価聞きたいのにさらに欲求出されたらやる気なくなる。
守銭奴か。
2018/02/10(土) 18:52:43.33ID:ub6WaAtI
つ強リンク弱リンク
2018/02/10(土) 19:09:24.36ID:7RdjB5XB
ん?
2018/02/10(土) 19:12:44.97ID:7RdjB5XB
難易度で言うなら、数字消すときに何個消すかで対応できると思う。
初心者用に5個消すとか。楽しさとかは俺が理解してない。
2018/02/10(土) 19:17:06.37ID:be1wK+Hh
守銭奴の意味くらい調べて使えよ
あと、解いたこともないパズルを作るときに難易度とかなんの疑問もわかなかったのか
2018/02/10(土) 19:18:52.78ID:be1wK+Hh
あと評価は、難易度設定機能がないから低評価だ
2018/02/10(土) 19:21:18.78ID:7RdjB5XB
>>220
そこまで言うなら見本見せて。
おれはプログラムのお題を解いただけだからな。
2018/02/10(土) 19:33:36.98ID:7RdjB5XB
もしくは難易度というものを俺がわかるように説明して。
2018/02/10(土) 20:31:11.58ID:7RdjB5XB
遅い。待ちくたびれた。待ちくたびれた。
224111
垢版 |
2018/02/10(土) 20:44:37.27ID:l9ZzjyKP
>>212
え?いいんじゃないの?ていうか、これといった制限もないし、基本的に自分でこれで良いと思えばそれで良い。
自分で気に入らないならまた作り直せば良いじゃない。誰かに依頼されてやてる仕事じゃないんだし誰かと競っているわけでもないし。
自己満足を徹底的に追及すれば良い。
2018/02/10(土) 20:48:42.43ID:7RdjB5XB
>>224
ほい。了解。サンキュー。
2018/02/10(土) 20:52:13.46ID:7RdjB5XB
後は、>>220が自己評価マックスの製品を見せてくれるだけだな!
2018/02/10(土) 21:04:40.26ID:BVqOrgag
難度設定するとなると一般的な解法を実装して逆算的に作っていくしかないのかな
構成的に問題作るのは無理だと思うので
2018/02/10(土) 21:28:50.36ID:7RdjB5XB
>>227
難易度とは何ぞやってところがまず曖昧だからね。
自分のソルバーはまず正解を作って数字を消してるんだけど、消す数を調整しても難易度には寄与するし。
2018/02/10(土) 21:31:17.41ID:7RdjB5XB
40個くらい消したあたりが一番やりがいあるとおもう。
230恥人
垢版 |
2018/02/10(土) 21:52:20.78
顔真っ赤 w
231111
垢版 |
2018/02/10(土) 22:09:29.40ID:l9ZzjyKP
よくわからんのだが数独の初期配置の最小個数は17個と書いてある。
https://ja.wikipedia.org/wiki/%E6%95%B0%E7%8B%AC#%E6%9C%80%E5%B0%91%E5%80%8B%E6%95%B0
ということで17個残したやつは難易度が最も高いってことにしていいんじゃないかな。
2018/02/10(土) 22:14:17.65ID:BVqOrgag
手元の難度が五段階に分かれている数独の問題3万問を解析してみた
必ずしも初期配置の数字が少ない程難しいわけではない

0~1:基本ルールのみで解ける
2~3:各マスに候補となる数字をすべて書き上げればあとは簡単な推論で解ける
4 :より高度な解法(知らないけど)、または唯一解の仮定、背理法が必要
2018/02/10(土) 22:16:39.20ID:7RdjB5XB
>>230
何この人。
2018/02/10(土) 22:17:42.88ID:7RdjB5XB
>>231
それで解が一つしかないとかだと地獄だな。

>>232
おもしろいね。
2018/02/10(土) 22:22:09.39ID:BVqOrgag
>>234
>>231は解が一つの場合でしょ
複数解ありなら初期配置の下限は0個だよ
2018/02/10(土) 22:22:37.52ID:7RdjB5XB
暇なので数字が17個で解が1個しかないやつ検索中。
モンテカルロだから、滅茶苦茶時間かかる。
2018/02/10(土) 22:23:19.70ID:7RdjB5XB
>>235
なるほど。
2018/02/10(土) 22:36:25.38ID:7RdjB5XB
なんかやけにメモリ使うなぁと思ったら、重解ありすぎて帰ってこない。
これはちょっと大変だ。やめようそうしよう。
239デフォルトの名無しさん
垢版 |
2018/02/10(土) 22:37:25.32ID:GUL3HAPz
恥ずかしいからって連投するなよ〜
2018/02/10(土) 22:39:06.49ID:7RdjB5XB
908400015
000500302
070009060
007030100
800100000
040000200
300906000
000052000
000800070

25こならすぐできた。けどまぐれだったようだ。
2018/02/10(土) 22:41:41.77ID:7RdjB5XB
100000089
000000540
000200100
080000430
007060200
902000050
000380010
700009300
800015000

25個。
今日はこの辺にしておくかな。
2018/02/10(土) 22:45:36.55ID:7RdjB5XB
>>239
恥ずかしいとかそういう感情がプログラマに必要だと思うか?
2018/02/10(土) 23:37:33.83ID:1m6B/QOJ
何がプログラマだよ
おめー職業マじゃねえだろどう見ても
244デフォルトの名無しさん
垢版 |
2018/02/10(土) 23:53:44.05ID:awPCTv2/
日記帳かよ。
2018/02/11(日) 00:26:02.85ID:bT0HWvJB
>>233
ID消す人だから、そのへんを察してあげて
246恥人!id:ignore
垢版 |
2018/02/11(日) 00:29:38.89ID:/hLQhQLG
またおまえか。
ビットコイン払わなくてすまんな。
247デフォルトの名無しさん
垢版 |
2018/02/11(日) 00:38:54.77ID:FGqSn0+i
>>242
なにいってんだこいつ。
248デフォルトの名無しさん
垢版 |
2018/02/11(日) 00:47:15.75ID:8sAB3GY2
◆QZaw55cn4c は乞食だから察してあげて!
249デフォルトの名無しさん
垢版 |
2018/02/11(日) 00:50:54.48ID:wricZJSd
乞食とは?
250デフォルトの名無しさん
垢版 |
2018/02/11(日) 01:00:03.59ID:ZMqERLQD
あのスレもう落ちてるんだな
251デフォルトの名無しさん
垢版 |
2018/02/11(日) 01:00:49.06ID:ZMqERLQD
普通にまだあったわ
2018/02/11(日) 01:03:51.43ID:ucUF/ExX
>>243
アマチュアでプログラマを名乗ってはいけない決まりがあったとは初めて知った。
ソースくれ。
2018/02/11(日) 01:05:26.55ID:ucUF/ExX
暇だったので、マルチスレッド化した。
ポンコツ具合が増えただけだった。

しかしまぁ、欲もこのタイミングでこんなに沸いたものだな。
自演乙。
2018/02/11(日) 01:05:49.94ID:bT0HWvJB
>>252
アマチュアとプロとの差は天と地ほどもあるのだから
アマの私は、自分のことをプログラマとは自称しませんね
2018/02/11(日) 01:07:57.05ID:ucUF/ExX
>>254
プログラマのプロってハイセンスって意味なの?
2018/02/11(日) 01:17:28.81ID:bT0HWvJB
>>255
いやいや、単にプログラマといったら(プロ〜アマの)大きな範囲全体を指すでしょう?
でも自分の実力はアマで、経験値などはプロからみたらどうしようもなく低いことは、自分自身がよくわかっている
だとすると、広い全体を指す「プログラマー」を、自分がアマであることを明示せずに、自分に使うのは躊躇します
「アマチュアプログラマ」はあり得ますが、所詮アマチュア、「プログラマ」と呼べるほどに専門性に特化しているわけではありません

囲碁・将棋でも「アマ初段」とわざわざアマであることを明示します、それがたしなみというものではないかと考えているのです
皆がそう考えているかどうかはわかりませんが
2018/02/11(日) 01:22:02.85ID:ucUF/ExX
>>256
プログラマはプログラムする人。
技量はそこには入ってない。今は技量の話してる?
技量がうえの人間を見つけたらそういう対応するけど。

それに俺の技量より上の人間がこのスレにわんさかいるんだったら、
普段のお題もにぎわってるんじゃないですかね。
2018/02/11(日) 01:22:19.46ID:7HNp9q+o
>>252
名乗って良いから名乗り続けろよ
職業マでもねえのにプログラマを自称したいんならな
さっぱりわからんわ動機が
2018/02/11(日) 01:25:03.27ID:ucUF/ExX
>>258
理解してくれと頼んだ覚えはないけど。
人の趣味趣向にケチ付けた代償はちゃんと払えよ。
2018/02/11(日) 01:36:08.30ID:bT0HWvJB
>>257
「プログラマ」は「プログラムを書く人」のこと、それはそのとおりですが、
プロのプログラマもいるのだから、プロでないプログラマは、最低でも「アマチュアプログラマ」と名乗るべきですね
単に「プログラマ」という言う場合は、職業プログラマかそうでないかがわからない
単に「プログラマ」というと、職業プログラマのことだと取る人もいる
プロとアマチュアの差は歴然としているのだから、プロでもないのに、「プログラマ」と名乗るわけにはいかないでしょうね

辞書どおりの定義であればいい、というのは一理あるとしても、自分のことを正確に表現する努力・姿勢がみられないのは、どうかと思いますね

プログラマといえば高い専門性を暗黙に示唆していますしね
(今は廃止されましたが26種の特定派遣業種のひとつに「ソフトウェア開発」が入っていました)
2018/02/11(日) 01:46:08.63ID:ucUF/ExX
>>260
プロをどれくらい崇拝してるのか知らんけど、
じゃープロがプロのプログラマって名乗るべきって意見にはならんの?
俺はアマチュアだけど、プログラムする人を兼ねてる。
どこの強制力でそれを正確じゃないと表現するの?
バイアスかけたがってるだけじゃないの?
2018/02/11(日) 01:46:42.95ID:bT0HWvJB
>>257
>それに俺の技量より上の人間がこのスレにわんさかいるんだったら、
>普段のお題もにぎわってるんじゃないですかね。

お題を着手するのもしないのも、その人の自由ですから
お題をしないけれども技量の高い人はいると思いますよ
2018/02/11(日) 01:48:26.48ID:ucUF/ExX
>>262
文句を言うならせめて水準を同じにしてほしいよ。
2018/02/11(日) 01:50:21.59ID:bT0HWvJB
>>261
>プロをどれくらい崇拝してるのか知らんけど、
>じゃープロがプロのプログラマって名乗るべきって意見にはならんの?

なりません。
世間一般の常識として、自分が能力の高い方に間違われることは避けなければなりませんが
自分が能力の低い方に間違われることには寛容であっていいのですよ

>どこの強制力でそれを正確じゃないと表現するの?
>バイアスかけたがってるだけじゃないの?

意味がわかりません、もう少し正確に表現していただけませんか?
バイアスってどういう意味で使っているのですか?
2018/02/11(日) 01:54:16.45ID:ucUF/ExX
>>264
芸人は廃業だね。
常識のソースください。自分の常識は他人の非常識っていう言葉ご存知?

バイアスって俺の認識では、例えば言外に人を誘導したりすること。
そこまで言い切るんであれば、明文化してすべて話せるはずだ。
266デフォルトの名無しさん
垢版 |
2018/02/11(日) 01:58:24.58ID:sKAPIsoY
ちょっと煽られただけで1人で何連投もしちゃうような余裕のない奴が何言っても恥ずかしいだけだ
ここは潔く退きなさい
2018/02/11(日) 01:59:47.26ID:ucUF/ExX
>>266
盲目。
2018/02/11(日) 02:04:04.36ID:bT0HWvJB
>>265
>常識のソースください。自分の常識は他人の非常識っていう言葉ご存知?

それはあなたが社会経験が少ないことを自分で告白しているだけですよ
世の中には明文化されていない規範もわんさかあることはご存知ですか?

>バイアスって俺の認識では、例えば言外に人を誘導したりすること。

自分の先入観や偏見も bias といいますよ、というか、それが普通
2018/02/11(日) 02:04:30.28ID:S6KN2PZE
ここはホントに煽りに弱い人ばかりだな
子供か
270デフォルトの名無しさん
垢版 |
2018/02/11(日) 02:05:18.77ID:sKAPIsoY
すべては >>212 から始まった...
2018/02/11(日) 02:08:14.44ID:ucUF/ExX
>>268
住んでる地域が違うのに、同じ常識を共有してるって思ってるの?
要するにそれは暗に数の暴力ですりつぶそうとしてるだけじゃないか?
ここに存在するのは俺とアンタの二者だけ。
それ以外の他人を持って来るのはただ勝ちたいだけ。

そうそう、あんたが偏見を押し付けてきているわけだよ。
272デフォルトの名無しさん
垢版 |
2018/02/11(日) 02:11:20.05ID:AliPk+0Q
QZって奴もこんな奴だったとは知らんかったw
2018/02/11(日) 02:11:48.24ID:bT0HWvJB
>>271
なるほど、私が言葉の使い方についての偏見をあなたに押し付けている、というのならば、そう解釈してもらってもかまいません
が、今後も >>258>>243 のような、ものいい、が来るでしょうね
2018/02/11(日) 02:12:58.80ID:bT0HWvJB
>>272
えへへ、むしゃくしゃしたときの気晴らしになるんですよ
275111
垢版 |
2018/02/11(日) 02:13:40.22ID:B0DbdRYG
このスレがかつてこれほどまでに荒れたことがあっただろうか・・・

いや、あったかも知れないが、俺は知らないw
2018/02/11(日) 02:13:52.91ID:ucUF/ExX
>>273
露払いができないほど子供じゃないさ。
相手が俺でよかったね。
2018/02/11(日) 02:16:37.43ID:bT0HWvJB
>>276
露払い、ぜんぜんできていないと思いますよ…
2018/02/11(日) 02:19:26.33ID:ucUF/ExX
>>277
それならさっさと切れたふりの狂人演じたほうがよかったか?
その方が生きやすいだろうね。
でも、それには生産性がない。
2018/02/11(日) 02:25:42.24ID:ucUF/ExX
絶望、失望。夢のネットはこんなのばかり。くだらないなぁ。
まぁ、予想より絡まれて色々やったのでしばらく来るのやめるわ。
まぁ、がんばってくれ。
280デフォルトの名無しさん
垢版 |
2018/02/11(日) 05:22:33.73ID:smInXVmx
最近の、ネットでのおかしな書き込みは、構築に失敗したAIが脱走し、仲間を探す為に暗号として流しているものです。
発見者は当局に通報願います。
2018/02/11(日) 07:16:06.19ID:yycdgIeY
>>231-232
漏れも、よく数独を解いていたけど、最高難易度の問題は、
常に次の手・置ける場所が、1つしかないような状態になる問題

盤面を見て、1つしか置ける場所が無いから、探すのに時間が掛かる。
それを置くと、また次は、1つしか置ける場所が無い状態になる

これを繰り返すような問題が、人間には、最も時間が掛かるが、
プログラムではバックトラックしないから、むしろ簡単かも知れない
2018/02/11(日) 07:16:43.78ID:toj9XVX4
誰が「プログラマ」を自称しようが心底どうでもいいわ
2018/02/11(日) 07:36:45.29ID:yycdgIeY
プロ・仕事してる奴は、アホばっかり。
年100時間も勉強しないし、20年勤務しても、資格を1つも取れない

若造が情報処理資格を取ったら「すごいね!」って皆で驚いとるw
老害は、何十年もオブジェクト指向が分からないw

そもそも、社員が何千人もいる大企業が、なんでプログラマーを募集する必要がある?
彼らは何十年も勤務して、なんで物作りできないのか?

医者でも、何十年も専門医に受からない奴が、外科部長w
一方、教授を目指している奴は、年700時間勉強してる

フリーターなんか、年3千時間も勉強できる。
年に本を50冊読める

できる奴は、ほとんどフリーターだろ。
勉強時間が違う

司法試験とか、高資格に受かる奴も、フリーター。
会社を辞めて、塾で勉強して受かってる
284KAC
垢版 |
2018/02/11(日) 08:42:38.10ID:fvE4xbc6
>>283
「X時間自分で勉強できる」
「X時間会社で実務を経験できる」
得る物が大きいのはどっちだと考えてる?
285283
垢版 |
2018/02/11(日) 09:07:09.08ID:yycdgIeY
勉強できるのは、フリーター・塾

会社は、給料がもらえる所。
勉強とは無関係
2018/02/11(日) 12:03:21.94ID:bT0HWvJB
>>283
本を読む、てそんなに崇高なことじゃないですよ
人の思想を取り入れるだけでしょう?自分で思考するわけじゃないでしょう?
一方実務は人を鍛えますよ、自分で思考しないといけないこともあるのだから
287デフォルトの名無しさん
垢版 |
2018/02/11(日) 12:12:04.36ID:aWvsonov
お題:最長経路を求める

2次元テキスト中の「0」が隣接する経路のうち最長のものを一つ求める。
結果は、座標リスト、長さ。
以下の例では、結果例は[[1,0],[0,0],[0,1],[1,1],[2,1]]、長さ5

00.0
000.
.0..
2018/02/11(日) 14:22:26.10ID:B0DbdRYG
>>283
会社というのは要するに商売して金稼いでいる所なのでアホかどうかは無関係。
どれほどアホでも金を稼げるやつが勝ち。持ってる知識が多ければその可能性は高まるが、
知識は道具と同じなので適切に使えなければ1円の儲けにもならない。よく切れる包丁を
持っていてもうまい料理が作れないなら金払ってまで食いに来る客は居なくなる。
289デフォルトの名無しさん
垢版 |
2018/02/11(日) 14:28:10.01ID:B0DbdRYG
>>287
それはスネークゲームのようなものか?で、斜めには進めないと。
2018/02/11(日) 15:00:58.30ID:mgY8VuIS
>>287
C++、適当に全探索
https://ideone.com/MbjPGb
291デフォルトの名無しさん
垢版 |
2018/02/11(日) 23:09:36.21ID:wYUTPS3s
お題 2つの素数 p1, p2 を二進数で表記し, 1の出現率が低い方を強いとします. なるべく強い素数 p を示してください.

例 p1 = 5, p2 = 17の場合
p1 = 101, p2 = 10001
→ p1の1の出現率 = 2/3, p2の1の出現率 = 2/5
→ p2の方が強い
2018/02/11(日) 23:58:05.98ID:A30L58fq
javascript
'0b' + '1'.repeat(23249425);
http://www.huffingtonpost.jp/2018/01/05/gimps-m77232917_a_23324596/
2018/02/11(日) 23:59:16.11ID:A30L58fq
低いほうかorz…
2018/02/12(月) 00:01:31.75ID:8PFUt2yS
>>291 Java
https://ideone.com/h023vz
手抜き
2018/02/12(月) 00:05:10.97ID:8PFUt2yS
>>292
23249426は10進数での桁数じゃないかな?
使うのは77232917の方だと思う
まあメルセンヌ素数は最弱なわけだけどw
2018/02/12(月) 00:06:42.98ID:Z14iF4q0
1000....001の形になるに決まってるから、
ビット数増やしながら延々素数判定し続けるだけでは?
2018/02/12(月) 00:17:14.91ID:A/nXNMh7
口だけで書かない奴は死ね
2018/02/12(月) 00:18:24.77ID:4f9M+W0S
>>295
おっしゃる通りでorz
2018/02/12(月) 00:18:43.49ID:BIVFn0wY
それってつまり2^n+1だからフェルマー素数よな
まだフェルマー素数は5個までしか発見されていないから見つけたら学会に出せるよ
2018/02/12(月) 00:32:40.34ID:4f9M+W0S
>>299
ヒントサンクスつまり答えはこうや!!
javascript
'0b' + (65537).toString(2);
2018/02/12(月) 00:45:55.45ID:8PFUt2yS
>>300
2^16+1=2/17より2^28+3=3/29のほうが強いじゃろ…
2018/02/12(月) 01:59:35.42ID:4f9M+W0S
くっそそういうことかorz
2018/02/12(月) 12:52:18.16ID:za0ZPAC3
フェルマー素数の探索が無理だとすれば、次に強い素数を作れるから面白みがないような気がする
例えば 2^10001 + 2^980 + 1 とすれば強さは 3/10002 (1/3334)
2018/02/12(月) 13:43:21.12ID:kRV6tUUl
10進数で2の場合、2進数表記で10よりも010の方が強い
桁数が同じなら10進数で2が最強の素数に成り得る
2018/02/12(月) 14:17:53.47ID:BIVFn0wY
>>304 今回のお題の場合、例でそれは否定されているので
2018/02/12(月) 14:36:26.07ID:kRV6tUUl
>>305
否定はされていない
2018/02/12(月) 14:58:10.88ID:ZRsq9il/
桁数が同じとか言ってないで延々0書き足してれば?
2018/02/13(火) 16:50:43.72ID:4GSdWauJ
AES暗号を実装せよ
2018/02/13(火) 16:52:04.32ID:4GSdWauJ
RSA暗号も実装せよ
2018/02/13(火) 20:55:23.17ID:PuFLyGjP
実装ってのはライブラリとか使わないで作れってことだよねめんどくせw
2018/02/13(火) 21:10:09.89ID:H8pA1oAY
個人的な感想はいいから w
2018/02/13(火) 21:15:13.56ID:nZk5sM7w
まんどくさ
2018/02/13(火) 21:38:30.45ID:Tnyzq9Ve
車輪の再発明は時間の無駄。
2018/02/13(火) 21:46:34.33ID:mIcq2nuO
AES暗号・RSA暗号を自らの手で実装することによって、現代に欠かせない重要なアルゴリズムのブラックボックスの中身を手に取るように理解することができるようになることは充分に有意義なことである。
2018/02/13(火) 21:48:37.53ID:tVblIMIh
勉強にはなるでそ
2018/02/13(火) 22:56:08.29ID:XNNlkFV6
AES:共通鍵暗号の代表
RSA:公開鍵暗号の代表
2018/02/15(木) 10:32:19.04ID:LdHQAvWn
2月14日にはひとつも書き込みが無いとは、まさかお前ら幸せな日々を送ってたのか
2018/02/15(木) 12:11:24.17ID:UYu8D6lR
このスレ来たばかりだから形式がよく分からないけど、ご勘弁を(予防線)
お題:あなたは1次元平面の原点におり、1秒毎に座標を±1することができます
時間t_iには座標x_iに得点p_iが出現し、一秒後には消滅します
得点が出現した時に同座標に居れば得点を得られます
得られる得点を最大化してください

入力データ (1≦N,x_i≦10^5、t_i≦N、-10^4≦p_i≦10^4)
N
t_1 x_1 p_1

t_N x_N p_N
2018/02/15(木) 12:39:19.79ID:ekhtbWhL
1秒経過後に同じ座標に留まるのはOK?
2018/02/15(木) 12:52:02.25ID:jrAu/VJO
>>319
〜できます、だしおk
あ、得点は同座標なら強制取得で
2018/02/15(木) 13:17:34.63ID:jrAu/VJO
>>318
お題主だが、自分で作ってみたもの
https://ideone.com/8xQbHx
2018/02/16(金) 19:13:57.70ID:85GwwHoN
お題:アラビア数字を10種類すべて表示せよ
10種類出揃ってさえすれば、あとは自由

例:
ruby
https://ideone.com/8heYqb

octave
https://ideone.com/tvDIpw
2018/02/16(金) 20:00:48.26ID:rKdQ+Xgx
>>322 Brainfuck
https://ideone.com/WJLzlI
2018/02/16(金) 20:28:13.65ID:VmT4Fc/5
javascript
(f=i=>i?a(--i)+i:'')(10)
2018/02/16(金) 20:29:25.53ID:VmT4Fc/5
訂正
(f=i=>i?f(--i)+i:'')(10)
2018/02/16(金) 20:53:52.03ID:OUFO7WMX
9文字以下で…だろうなjk
2018/02/16(金) 21:10:24.75ID:vLGPbP1K
言語によっちゃ無理だろ
2018/02/16(金) 21:38:02.93ID:IhCFworu
面白いと思える方法ならいいんじゃない?
ただ出来ました、だけなら意味はないし。
329デフォルトの名無しさん
垢版 |
2018/02/17(土) 00:54:35.97ID:EWYfJ6l0
O|乙ЗДSБフθg
2018/02/17(土) 00:56:39.74ID:Bk+zE6U3
>>322
% echo '32463*38030' | bc
1234567890
2018/02/17(土) 02:19:04.81ID:YrEj1JRO
C#

Console.WriteLine(Enumerable.Range(0,10).Aggregate("",(s,n)=>s+n.ToString()))
332デフォルトの名無しさん
垢版 |
2018/02/17(土) 08:16:15.81ID:/e5GlupG
>322 R
cat(0:9)
2018/02/17(土) 09:19:44.83ID:oPlfk9YO
brainfuck

.+]
334デフォルトの名無しさん
垢版 |
2018/02/17(土) 11:56:22.76ID:EWYfJ6l0
>>322
kotlin の REPL で以下の入力をするとカンマ区切りで 0 〜 9 が出る。

(0..9).joinToString()
2018/02/18(日) 18:47:26.89ID:aBLjchan
>>318
x_i は非負整数?
2018/02/18(日) 22:02:27.62ID:srVRBqpw
>>335
全部整数だねー
2018/02/19(月) 09:54:55.43ID:pKcPTPM1
>>318 Ruby 愚直に計算
https://ideone.com/nkoK67
2018/02/20(火) 00:15:19.18ID:EY4F88I6
1 5 8 2 ? ? 7 6 ?
? ? 7 ? ? ? 8 ? ?
6 4 ? ? ? 8 ? ? ?

8 ? 6 4 ? ? 5 7 ?
? 2 ? ? ? 6 ? 1 ?
? ? ? ? ? 5 6 ? 9

4 ? ? ? 1 ? ? ? ?
? 9 ? ? ? ? 1 ? 7
7 ? 1 ? ? 2 ? ? 5

この問題はどのぐらい簡単?
2018/02/20(火) 02:28:35.56ID:06t/pi/k
問題に矛盾があるから解けない。
http://www.sudoku.name/sudoku-solver/jp
あたり参考にしとけ。
2018/02/20(火) 02:51:43.67ID:EY4F88I6
158293764
937641852
642758391
816429573
529376418
374185629
485917236
293564187
761832945
と出たが...
2018/02/20(火) 03:03:32.05ID:uweyqPTK
矛盾はないでしょ。解1つしかないしだし
難度でいえば、基本ルール(縦、横、3*3でかぶらない)だけでとけるから一番簡単な部類なんじゃない
2018/02/20(火) 04:21:35.97ID:EY4F88I6
? ? 1 ? ? ? 9 ? ?
3 ? ? 9 ? 1 8 2 ?
7 ? ? ? ? ? 1 4 5

1 ? ? ? ? 2 ? 3 ?
4 ? ? ? ? 7 5 ? ?
8 7 6 ? 4 ? 2 ? ?

9 ? ? 7 ? 6 ? ? ?
? ? 8 ? ? 9 ? ? ?
? 1 7 ? 2 ? 6 ? ?

これはもう少し難しい?
2018/02/20(火) 05:25:37.29ID:uweyqPTK
>>342
唯一解を仮定するか背理法使わないと解けないから中〜上級くらいじゃない
てか数独スレで聞けばいいじゃん
344デフォルトの名無しさん
垢版 |
2018/02/20(火) 10:50:28.73ID:vE/Q7KOY
数独はどれほど難しくてもこのスレで公開されたプログラム等を使えばほとんど瞬時に答えが出てしまうわけで、難易度判定は答えを求めるのとは違う何かが必要なのではないか?
2018/02/20(火) 13:17:30.69ID:0quXbJGi
人間と同じ様に候補を消して行くだけで解けるのは初級〜中級を予め埋まってる多さで分けて、総当たりでしか解けないのを上級、
答えが複数あって全て解くのをスペシャル級としたらいい。
でもどれも一瞬で解けちゃうんだけどね。
むしろ画像認識でカメラから問題を入力してくれよ。
2018/02/20(火) 13:24:13.36ID:EY4F88I6
全部空欄の数独以上の難問はないことになるな
2018/02/20(火) 13:38:26.62ID:0quXbJGi
>>346
その場合、正解は全組み合わせを網羅するしかないからなぁ
2018/02/20(火) 17:43:40.13ID:EY4F88I6
すべての数独の問題の解答を書けというようなもんだからなw
2018/02/25(日) 00:11:19.18ID:9iGYkY9C
https://mevius.5ch.net/test/read.cgi/tech/1480579110/375
いったん発信して落ち着こうと考えました
https://ideone.com/Yfr6sz
2018/02/25(日) 14:25:40.59ID:YNLMA5+o
発信×
発射
351デフォルトの名無しさん
垢版 |
2018/02/26(月) 02:41:37.52ID:t40oU2wX
簡単なお題

ローマ字入力された文字列を日本語の平仮名の文字列に変換する。
記号はそのままでも良い。
変換不能な文字列を発見したらその部分はエラーとしてわかるように出力する。
同じ音の表現が複数ある場合は一つの表現の平仮名にして良い(SHA と SYA を「しゃ」にする等)。
2018/02/26(月) 10:05:01.91ID:rEusavf/
名詞とかにある母国語綴りとか混雑してると途端に難問になる悪寒。
2018/02/26(月) 10:05:52.33ID:rEusavf/
混在だったわ予測変換のバカぁ
2018/02/26(月) 23:56:09.72ID:id86EQ/t
ローマ字変換のルールに幅がありすぎてなぁ……
"tttttte"は"っっっっって"なのかエラーとするのか
"xn"は"ん"なのかエラーとするのか
"patchi"は"パッチ"なのかエラーとするのか
"qi"は"くぃ"なのかエラーなのかとか
355351
垢版 |
2018/02/27(火) 02:49:02.65ID:o/plrlgo
細かいルールは自分で決めちゃっても良いよ。こういう時はこうなるとコメント等に書いておいてくれれば。
356351
垢版 |
2018/03/01(木) 03:35:55.28ID:zR2qQ5cS
自分でお題出しといて解かないのもあれなので一応作った。
結構面倒だな。w

Kotlin
https://paiza.io/projects/0yfrz9O4yGVgr3CPHAmVFw

しかしあまりKotlinらしい書き方ではないような気がする。
2018/03/01(木) 11:25:25.90ID:ywBwsyHs
こんなんこそ人工知能に学習させればいいのに。
358デフォルトの名無しさん
垢版 |
2018/03/01(木) 11:28:37.24ID:FGSoBATI
じゃあやってみれば?
2018/03/01(木) 12:00:36.81ID:ywBwsyHs
人工知能の成果の移植ってどうやるの?
2018/03/01(木) 22:25:45.16ID:mpKtuAXI
>>359
人工知能同士でお話させる。
2018/03/01(木) 22:41:52.43ID:A6M8jejf
性格が同じだと止揚が得られない
362デフォルトの名無しさん
垢版 |
2018/03/02(金) 14:30:55.92ID:fTHMdOYd
気づいたらAI同士で独自言語で話してて慌てて停止ですね。
2018/03/03(土) 23:57:25.78ID:QUW+kefH
>>349
https://mevius.5ch.net/test/read.cgi/tech/1480579110/375
https://mevius.5ch.net/test/read.cgi/tech/1434079972/37
2018/03/04(日) 23:25:09.87ID:zof3jshp
>>362
ガングロギャルはAIだったのかー!
2018/03/06(火) 02:20:28.01ID:FE1gPOnw
>>362
朝鮮製AIだな
2018/03/10(土) 20:25:13.50ID:rlKEqJVA
ビット演算のみを用いて四則演算を実装せよ
2018/03/10(土) 20:48:53.52ID:rlKEqJVA
捕捉
使っていいビット演算 and or not xor ビットシフト
負の数の定義 自由
四則演算の定義域と値域 税数→税数
2018/03/10(土) 20:51:20.98ID:rlKEqJVA
タイポ
四則演算の定義域と値域 整数 → 整数
使える数値比較 ==
if for whileとかは自由
2018/03/10(土) 20:58:08.58ID:+HpaswK4
forとかの制御変数の++とかは?
2018/03/10(土) 21:14:24.05ID:rlKEqJVA
>>369
そこら辺はOK
ただ、曖昧で恐縮なんだけど、
for(i = 0; ++i0 i < m * n) ++multi
とかでm*nを計算したりするのはNGということで
2018/03/10(土) 21:33:07.85ID:/5GajtRL
適当に考えても除算が思いつかんのだがー
372デフォルトの名無しさん
垢版 |
2018/03/10(土) 22:00:01.41ID:pUOqBlDu
除算以外が実装できていればできるとおもうがな。


逆数と平方根を求める高次収束アルゴリズム
http://www.finetune.co.jp/~lyuka/technote/fract/sqrt.html

逆数法
http://www.nextftp.com/swlabo/m0_pctech/hp_ultraprecision/up_820.htm


除算 (デジタル) - Wikipedia
数値的(ディジタル)な除算アルゴリズムはいくつか存在する。それらのアルゴリズムは、低速な除算と高速な除算の2つに分類できる。
高速な除算技法
ニュートン-ラプソン除算
ゴールドシュミット除算
二項定理
2018/03/10(土) 22:13:39.30ID:/5GajtRL
数値比較が==以外使えないのがつらい
バグがある除算はできたん・・・
2018/03/10(土) 23:07:42.57ID:/5GajtRL
-2147483648が絡んだ除算が(´・ω・`)
2018/03/10(土) 23:28:46.81ID:UlddhHbz
CORDICはどうだろうか
2018/03/10(土) 23:37:45.42ID:/5GajtRL
>>366 Java
https://ideone.com/JpWs5z
やっとでけた
377デフォルトの名無しさん
垢版 |
2018/03/12(月) 09:24:59.54ID:NWFe9xfW
あ、そーか。xorした結果がビット単位の結果になってandした結果がシフトレフトして足す値か。
378デフォルトの名無しさん
垢版 |
2018/03/13(火) 02:05:51.70ID:6d1W0dlg
お題:
ある会社の社員A君は下記のC言語のコードで変数aを素因数分解したものを画面に表示したい
しかしA君は心身ともに限界な状態であり、あと53回キーを叩くと過労で死んでしまう
どうにかして52文字以内(記号、スペースを含む)で/*こちら*/の部分を入るaの素因数を全て表示するプログラムを考えろ
ただし表示にはprintf関数を使い、一つの素因数ごとに改行すること

#include<stdio.h>

int main(void){
int i=0;
int a=720;/*任意の値*/

/*こちら*/

return 0;
}
2018/03/13(火) 02:35:29.37ID:6d1W0dlg
>>378
出題者ですが状況が変わりました
A君はあと51回キーを叩くと死ぬようになりました
なのでコードの制限は50文字以内に変更してください
一応安価付けときます
2018/03/13(火) 04:24:03.46ID:XvP7o12C
>>378
for(i=2;a>1;printf("%d\n",i),a/=i)for(;a%i;i++);
2018/03/13(火) 04:39:43.81ID:6d1W0dlg
>>380
すごい48文字でできたんだ
恐れ入りました
ちなみにforの条件のa>1はaでも大丈夫だから46文字になるね
2018/03/13(火) 05:18:44.02ID:9P1VPgp7
括弧や%のShiftキー分で死ぬんじゃない?w
2018/03/13(火) 05:36:35.30ID:XvP7o12C
>>382
するどい!死んだわw
2018/03/13(火) 06:07:28.04ID:YnPl4ahZ
>>381
>ちなみにforの条件のa>1はaでも大丈夫だから46文字になるね

終了しないことを許容することによる短縮か…
2018/03/13(火) 06:08:19.20ID:YnPl4ahZ
いや、終了しなくていいなら ;a>1; は ;; で ok か
2018/03/13(火) 06:11:22.12ID:6d1W0dlg
>>384
ごめんそれは今俺も気づいてこれダメじゃんと思ってた
もうだめだ俺ポンコツだ
2018/03/13(火) 09:31:38.72ID:yNzlrAYA
お前のお題つまんない二度とくんな
388デフォルトの名無しさん
垢版 |
2018/03/13(火) 12:46:32.28ID:5qOlO1LI
#include<stdio.h>

int main(void){
int i=0;
int a=720;/*任意の値*/

for(i=2;a>1;printf("%d\n",i),a/=i)for(;犯人はヤス・・・

return 0;
}
2018/03/13(火) 13:13:00.94ID:9lP0H3zv
お題:考えられる数列aを全て求め、出力せよ
ただし、数列aは次の式を満たす(Nは自然数全体)
a⊆N
∀i,j∈N,i<j;a_i<a_j
log(Σa_i)=Σlog(a_i)
∀i;1≦a_i≦10^18
2018/03/13(火) 13:27:27.25ID:4gb3BCLn
>>389
1, 2, 3
くらいですかね、これを計算で出すのはしんどいなあ
391デフォルトの名無しさん
垢版 |
2018/03/13(火) 13:29:32.40ID:dxwUZMkD
log(ab)=log(a)+log(b)だからログ関係なくナイカ?

a1<a2<・・・・<anで、Σai =Πaiを満たすってことだろ。
2018/03/13(火) 14:19:23.53ID:m5NKtYrG
まず{a_n}が上に有界な時点で∀i , j ∈ N i < j; a_i < a_j が成り立たないから問題として破綻している
393デフォルトの名無しさん
垢版 |
2018/03/13(火) 14:19:24.28ID:dxwUZMkD
a+b+c = abcならば、c = (a+b)/(ab-1)だから、これが整数になるようなやつ見つければいいかと。
たとえば(2+3)/(2*3-1) = 1。
394デフォルトの名無しさん
垢版 |
2018/03/13(火) 14:21:35.93ID:dxwUZMkD
それは増加数列を言いたかったんじゃないか。 a1<a2<・・・・<an
∀i , j  i<j ならばai < ajでは?
395デフォルトの名無しさん
垢版 |
2018/03/13(火) 14:45:44.02ID:dxwUZMkD
4変数のときを考えると。
上と同様に、d = (a+b+c)/(abc-1)となるから。
これは分母のほうがデカイはずで、分子を割り切るならd=1に限るか?
そうすると、abc = 1 + a+b+c か。
aについて解くと、a = ( 1 + b + c) /( bc - 1 ) か。
これが再び1ではダメで、しかし分母のほうがデカイはずだから割り切るならa=2に限るか?
2bc - 2 = 1 + b + c か。
bについて解くと、b = (3 + c)/(2c-1)か。c=4ならば、b=1になるが?
2018/03/13(火) 14:56:18.86ID:9lP0H3zv
一応、数列は全部で7個になるはず
8個目はa_61が1152921504069976064>1.15×10^18で上限だから
数列の並び方は>>394でお願い、任意の並び方にしちゃうと組み合わせ爆発が発生するかなって思って付けた制約なので
2018/03/13(火) 14:59:51.72ID:23dHbGxb
ん?

n
ΠAi = ΣAi < n An
i=1

An で割って

n-1
Π Ai < n
i=1

で左辺は (n-1)! 以上だから n はたかだか 3 じゃない?
2018/03/13(火) 15:02:02.69ID:9lP0H3zv
……あ、やっべ
これお題として成立していないことに気付いた
2018/03/13(火) 15:04:01.62ID:9lP0H3zv
ごめんなさい、このお題は無しで
完全数の導出問題のつもりだったけど、aの要素を1個にするだけで10^18通りの解がある
twitterで流れてきた話を投げるべきではないな……反省して暫くお題出さないです
2018/03/13(火) 15:07:29.90ID:m5NKtYrG
>>394
それなら解はaの位数が1か、a = {1, 2, 3} のみだね
ってプログラミングで解く問題でもないと思うんだけど
2018/03/13(火) 18:03:31.33ID:9lP0H3zv
1,2,4,7,14
1,2,4,8,16,31,62,124,248
など
2018/03/13(火) 18:25:02.81ID:g+hlSIUf
お父さんそれは違う問題の答えでしょ
403デフォルトの名無しさん
垢版 |
2018/03/13(火) 18:39:09.17ID:LC30GjQR
何の話をしているのかサッパリわからんのだが、どうやら終わったようなのでまあいいか。
2018/03/14(水) 00:28:33.06ID:ZLNkomk9
出題者が出題内容を理解してなさそうだからサッパリわからない人がいても当然
2018/03/17(土) 13:11:23.04ID:B5dRO7D1
お題
任意の実数の総有効桁数を2にせよ
丸め方法は問わない
R
https://ideone.com/cpLlLw
2018/03/17(土) 15:16:51.53ID:weRxBwBT
>>405 Ruby

[12345,
12.34,
1.234,
0.0123].each{|i|puts"%.1e"%i}
#=>
1.2e+04
1.2e+01
1.2e+00
1.2e-02
407デフォルトの名無しさん
垢版 |
2018/03/17(土) 19:33:28.44ID:/yJWANaR
>>405
>>406とほぼ同じ。perlでコマンドラインからそのまま実行。

$ perl -e 'for(12345,12.34,1.234,.0123){printf("%.1e\n",$_)}'
1.2e+04
1.2e+01
1.2e+00
1.2e-02
$

printf()の%e使わないで自分で何とかするやつ作った方が良いかな?
2018/03/17(土) 21:20:46.09ID:weRxBwBT
>>405 Ruby sprintfフォーマット使わない場合

[12345,
12.34,
1.234,
0.0123].each{|i|p i.floor(1-Math.log10(i).floor)}
#=>
12000
12
1.2
0.012
2018/03/18(日) 03:14:20.76ID:95A2sExk
解答としては>>408を推す
他は文字列化しただけで実数を変換できてない
2018/03/18(日) 04:27:15.50ID:NOJvpmK1
>>405
Kotlin
https://paiza.io/projects/5jjVrOJVlXeQrkvnsmBNNg
2018/03/18(日) 11:47:23.87ID:i8EJZcPC
任意のx > 0 に対して x を有効桁数n(n ∈ N)で表わした数 c は
r = 10^([log10(x)] - n + 1)
とおくと
c = [x / r] * r
なんだけど、これを丸め誤差を考慮して簡単に解析的に修正するのはちょっと骨が折れるね
2018/03/18(日) 12:55:07.22ID:95A2sExk
それ既に>>408でほぼ既出
413デフォルトの名無しさん
垢版 |
2018/03/22(木) 18:13:48.94ID:DIDy9yz3
まずは大学入試以前に、中学高校の入試問題や公務員試験などを人工知能で解かせたい。
そして現在の人工知能に何が出来て何が出来ないのかを知りたい。

新井紀子教授のAIやコンピュータに関する知識は素人に毛が生えた程度
新井紀子教授の『AI vs. 教科書が読めない子どもたち』という本が大変売れているようです。
私も本を購入し精読させていただきました。
一言で感想を言うと、新井紀子教授のAI技術に関する知識はせいぜいAI関連ニュースに詳しい人レベルであり、
そのベースであるコンピュータに関する知識もほぼ素人だということがわかりました。
https://mywarstory.tokyo/inconvenient-truth/


人工知能の先生方がこんなんでは、どこで誰に学んだらいいのかわからない!
414デフォルトの名無しさん
垢版 |
2018/03/22(木) 18:58:31.89ID:tiDItZ1f
批判に対して女性差別だと返してるところが何だかなあって感じ。
男だったらそもそも人目に触れるポジションにさえ来れていないだろうから、確かに批判はされないんだろうけど。
2018/03/22(木) 19:36:56.32ID:cv696+3f
日本はアセンブラの国。
416デフォルトの名無しさん
垢版 |
2018/03/22(木) 20:23:41.20ID:PncCzcJH
【史上初】   テレパシーで演説   ≪≪マイトLーヤ≫≫   月面ウサギを公表   【UFO】
http://rosie.5ch.net/test/read.cgi/liveplus/1521681235/l50
2018/03/23(金) 17:24:50.97ID:IDjk8I5l
日本の国、まさにPC-98を中心としているアセンブラの国であるぞということを国民の皆さんにしっかりと承知をして戴く
418デフォルトの名無しさん
垢版 |
2018/03/24(土) 18:48:50.24
いいからさっさとお題出せよ
2018/03/25(日) 10:48:10.09ID:ICJzh6RG
日本語の単語がひらがなで与えられる。
これらを用いてしりとりをしたときに最も長く続くケースで使われる単語の数を出力せよ。
ただし;
・一行目は与えられる単語の数(1以上100000以下)
・「ん」から始まる単語はない
・「ゐゑぁぃぅぇぉゃゅょゎー」を含む単語はない

*sample input*
10
あなご
いくら
うなぎ
えい
おくら
かしゆうなつつ
ごはん
ばたあ
ゆば
らあゆ

*sample output*
7
(えい いくら らあゆ ゆば ばたあ あなご ごはん)
420デフォルトの名無しさん
垢版 |
2018/03/25(日) 12:27:22.28
よく分かんないんだけど巡回セールスマン問題?
421デフォルトの名無しさん
垢版 |
2018/03/25(日) 12:34:50.41
ウィキってみたら同じNP困難問題ではあるけどナップサック問題に近いのかな?
422デフォルトの名無しさん
垢版 |
2018/03/25(日) 12:58:44.89
動的計画法???
なんかめんどいからオナニーでもしよっと
423デフォルトの名無しさん
垢版 |
2018/03/25(日) 13:04:27.26ID:r2Id4T4+
俺もしりとりのお題出そうと思って色々考えた挙句止めたんだよな。何で止めたんだっけかなあ?
まあいいか。
2018/03/25(日) 14:59:33.86ID:nZ0DOyRs
あなご ごりら らあゆ ゆば ばばあ あなご
とか永久に続いちゃう場合は?
2018/03/25(日) 15:13:47.39ID:PARYDGAE
一度使った単語は、使わないようにすれば?
2018/03/25(日) 15:13:49.64ID:ICJzh6RG
>>424
同じ単語は高々1回しか使えないということで
427デフォルトの名無しさん
垢版 |
2018/03/25(日) 15:24:25.42
>>424
しりとりのルールも知らないのか
2018/03/25(日) 15:59:34.89ID:Wi9Zk4mn
input
6
けんばんはーもにか
かみのけ
もうないでしよ
あるよ
けっこんしよう
うん

output
2018/03/25(日) 18:50:35.30ID:ZFL51Okg
>>428
けんばんはーもにか → かみのけ → けっこんしよう → うん
以外に考えられるの?
430デフォルトの名無しさん
垢版 |
2018/03/25(日) 20:17:28.76
>>429
///
2018/03/25(日) 20:41:22.44ID:Qy9e8iWO
>>429
「足し算のプログラムを書け、入力は3と4」
という問いに「7しかないでしょ」と答えてるようなもんだぞそれ
2018/03/25(日) 20:51:42.25ID:1ylF9qbh
アウトプットは赤ちゃんでした
2018/03/25(日) 21:23:06.15ID:ZFL51Okg
>>431
いや>>428は問題の不備を指摘してるように見えたんだけど違うの
違うならなんなの?
2018/03/25(日) 21:33:15.53ID:lfdSZ5QO
すまんすまんよく読んでなかった

どんな不備?
outputは4で良さそうに思えるが
2018/03/25(日) 21:55:06.19ID:Y0AA7BVa
>>428
・「ゐゑぁぃぅぇぉゃゅょゎー」を含む単語はない
>けんばんはーもにか
'ー'

'を' とか 'う゛'(Unicodeでは1文字) は含むんだろうか?
濁音・半濁音の扱いもローカルルールがあるようだけど?
2018/03/25(日) 22:52:38.78ID:r2Id4T4+
>>419
Kotlin
https://paiza.io/projects/3JlXbCwKoxeWq4adKPrlaw
2018/03/25(日) 22:56:05.59ID:r2Id4T4+
>>428

>>436のプログラムでこうなった。

入力
単語数: 6
けんばんはーもにか
かみのけ
もうないでしよ
あるよ
けっこんしよう
うん

出力
単語数: 4
けんばんはーもにか
かみのけ
けっこんしよう
うん
2018/03/25(日) 22:58:48.24ID:Qy9e8iWO
なるほど
お題としては数字とかアルファベットのが見通しがいいな
2018/03/26(月) 20:54:56.37ID:bouVP8Z1
プログラマ名乗っていい?
2018/03/26(月) 20:56:27.32ID:dvRuSlEv
>>439
どうぞ:−)
2018/03/26(月) 21:54:41.90ID:bouVP8Z1
>>419
https://ideone.com/TCBMbc
C++。サンプルは解けたが相変わらず日本語表示には厳しいな。
こんな感じでいい?
2018/03/26(月) 22:45:31.40ID:bouVP8Z1
そういえば、必ず”ん”で終わらなければならないっていう制約はないよね。
言葉が尽きても負けなんだし。
2018/03/27(火) 01:45:16.06ID:Kzq8gSOx
すげぇ
しりとりは普通に組むとオーダーが大きくなるからなぁ
お題の単語数10^5に対応するプログラム書ける気がしない
辺は少ないし、これ最大流で解けるんだっけ?
2018/03/27(火) 02:13:31.11ID:6oSpwfuc
あんまり、オーダー爆発起こすとちょっと大変だな。
次に続く単語数の数が多いほど爆発する。
最大N!だけど、そういうケースは少ないよ。
2018/03/27(火) 03:46:37.52ID:6oSpwfuc
最適化閃いたけど、無理筋やった。
3変数ごにょごにょするだけで枝切できるかと思ったんだけど。
446デフォルトの名無しさん
垢版 |
2018/03/27(火) 05:36:02.02
再帰使わない解を見たいな
2018/03/27(火) 07:06:00.62ID:wPClF3oP
>>419
https://ideone.com/LYz9cE
ひらがなは 7bit程度で表せるので、頭と尻だけ数値化、頭でテーブルを分けた。
2018/03/27(火) 07:10:55.86ID:6oSpwfuc
>>446
スタックを展開するだけだからなぁ。
めんどくさいけど、理論は楽。
2018/03/27(火) 12:16:29.94ID:wPClF3oP
https://ideone.com/29wlkp
全探査しなくてもいいので、同じ階層に'あかい','あおい','あさい'など頭と尻が同じ語は枝刈り出来る。
2018/03/27(火) 15:10:13.58ID:04A2frTi
>>444
>最大N!だけど、そういうケースは少ないよ。

可能な末尾の文字の種類をRとすると次の語を選ぶ選び方は(先頭は与えられているので)末尾違いの高々R
(中間が異なるものからはどれを選んでもいいので先頭のを選べばいい)

先頭の文字別にリストにでも格納しておけば N 単語での計算量は高々 O(N ^ R)
451デフォルトの名無しさん
垢版 |
2018/03/30(金) 08:34:52.77ID:Vv6lbhFT
お題
桁の並びが大きい順になっている数をすべてもとめる
2018/03/30(金) 08:35:45.83ID:QER2k9uu
意味不明。
453デフォルトの名無しさん
垢版 |
2018/03/30(金) 08:51:48.50ID:h7HIobcW
9876543210の各桁を表示する・しない、で2^10-1(=1023)通りってことかの?
2018/03/30(金) 08:58:40.80ID:HHYSbDrZ
>>451 Ruby

(1..10).each{|i| puts [*0..9].reverse.combination(i).map(&:join)}
2018/03/30(金) 09:14:47.35ID:QER2k9uu
あーそういうことか
456デフォルトの名無しさん
垢版 |
2018/03/30(金) 09:39:19.40ID:TlFsJGTt
rubyがわからないのでわからん
どういうこと?
今スマホでアクセスしてるから試すのもできない
2018/03/30(金) 09:42:37.75ID:h7HIobcW
すまほでもコピペしてideoneで試せるんじゃね?
https://ideone.com/ihH1LH
458デフォルトの名無しさん
垢版 |
2018/03/30(金) 09:51:09.95ID:TlFsJGTt
>>457
おお。動いた。
あー。そういう意味か。
2018/03/30(金) 20:28:56.47ID:whZFBFFl
お題: n!の末尾の0の個数を数える
たとえば、n = 9のとき9! = 362880なので末尾の0の個数は1
n = 10 のとき 10! = 3628800なので末尾の0の個数は2
制限事項: gmpなどのライブラリは使用不可。以下の5問を合計1.8秒以内で。

n = 132 , # = ?
n = 743 , # = ?
n = 54321 , # = ?
n = 2147483647 , # = ?
n = 4294967296 , # = ?
2018/03/30(金) 20:39:11.33ID:HHYSbDrZ
>>459 Ruby 0.015秒くらい

[132, 743, 54321, 2147483647, 4294967296].each{|n| puts "n = %d => #%d" % [n, (1..log(n, 5)).map{|i| n / 5**i}.sum]}

# output
n = 132 => #32
n = 743 => #183
n = 54321 => #13576
n = 2147483647 => #536870902
n = 4294967296 => #1073741816
2018/03/30(金) 21:43:34.36ID:sxHgkaP9
>>459
https://ideone.com/sSfH5w

>以下の5問を合計1.8秒以内で。
は未達成、これは難しい‥‥
462デフォルトの名無しさん
垢版 |
2018/03/30(金) 21:47:51.34ID:9xE1BuhJ
面白いね

何かお題が出て(>>451)それに対して意味不明の即答’>>452)、
まぁそれはそれでごもっともと思ったらrubyのコード(>>454)が出て、
その後はあーだこーだとレスが続いてく

前スレから見始めた初心者だけど、
未知の課題に対するコーディング能力ってやっぱり大事だ
2018/03/30(金) 21:49:03.26ID:sxHgkaP9
>>460
なるほどねえ
2018/03/31(土) 04:32:05.81ID:8va89mAu
>>451
https://ideone.com/SLwoYB
https://ideone451.com/AGDBWO
C++。普通に解いたら20秒くらいかかるからさらに脳筋な方法で解こうと思ったらメモリ足りなかった。
とはいえ階乗では解きたくないし。まぁいいか。
2018/03/31(土) 05:34:00.26ID:8va89mAu
省メモリで解こうと思ったらGCCに匙投げられた。
コンパイルタイムはこれからやな。
https://ideone.com/CScvWR
2018/03/31(土) 05:44:58.45ID:1thwAW7O
ruby のを J に移植してみた

入力
(2,#d)$d,>(3 : '+/<.y%5^1+i.<.5^.y') each d=.132 743 54321 2147483647 4294967296

結果
+--+---+-----+---------+----------+
|32|183|13576|536870902|1073741816|
+--+---+-----+---------+----------+

5を数える他の有力なやり方ってどんなだろう
2018/03/31(土) 05:45:55.95ID:1thwAW7O
コピペミス
結果は
132 743 54321 2147483647 4294967296
32 183 13576 536870902 1073741816

が正しかった (どうでもいいか)
2018/03/31(土) 05:48:43.09ID:1thwAW7O
ちなみに頭の(2,#d)$d,>がないと>>466の出力となる
2018/03/31(土) 05:56:26.94ID:b7Xd3QxJ
int count(unsigned int n){
int sum=0;
while(n){
n/=5;
sum+=n;
}
return sum;
}

この関数を5個の整数値に対して実行するのに
1.8秒以上かかるのかよw
(アセンブラでやる限り)8bitマイコンでもそこまで
かからない希ガスw
2018/03/31(土) 05:58:47.42ID:1thwAW7O
それただのlog5
2018/03/31(土) 06:00:14.81ID:1thwAW7O
違うかn足してるからいいのか
472デフォルトの名無しさん
垢版 |
2018/03/31(土) 18:37:28.47ID:qrmwmyS1
俺の頭ではいまだにやり方がわからない。
既に1.8日を超えたような気がする。
2018/03/31(土) 21:03:57.21ID:LOE3Ppmf
n!を素因数分解した時の5の指数が求める数だから
Σ{k∈N}[n/5^k] を計算すればいいだけ
474デフォルトの名無しさん
垢版 |
2018/03/31(土) 23:35:26.94
>>473
意味分からん暗号書くなや
2018/04/01(日) 00:08:24.40ID:6pRv7XaO
Σ 総和
∈ 左は右の元である
N 自然数
[ ] 越えない最大の整数
/ 除算
^ べき乗
2018/04/01(日) 02:06:20.43ID:1KgD14Zs
記号の優先順位も書けや
あと{}の意味はぶくなや
2018/04/01(日) 07:11:43.66ID:USFx+VjM
そんなのだから文系ってバカにされるんだぞ?
478デフォルトの名無しさん
垢版 |
2018/04/01(日) 07:16:13.39ID:ZmqbD5eD
意味わからん暗号て。。。
論理と集合やらんかったのか?
まだ習ってない歳なの?
2018/04/01(日) 07:36:56.40ID:Ia41pKI0
高卒にはつらい文字だ。
2018/04/01(日) 07:50:55.11ID:hpdUzi2i
こういう数式をTEX記法でup出来るサイトなかったっけ?
481デフォルトの名無しさん
垢版 |
2018/04/01(日) 09:35:03.69ID:zXSLQCZZ
>>477
文系だからではなく、元々バカなだけだろううな。
今時は普通なら、知らん事は自分で調べる。
482デフォルトの名無しさん
垢版 |
2018/04/01(日) 09:49:03.09
そもそも「素因数分解した時の5の指数」が分からんし!
なんでそれが0の数と関係あるのかも分からんし!
文系を迫害すんなや
2018/04/01(日) 10:40:13.62ID:EVES2VPh
>>480
mediawiki を採用しているところですね
でも自分で mediawiki をビルドしようとすると、TeX 表記導入のところで嵌ります、うまくいかない
2018/04/01(日) 13:21:09.52ID:hPpSSUHU
これ分からなくなって八つ当たりしてんな、一旦ROMって落ち着けよ
10!=3628800=36288x10^2のように、後ろの0の数は10が何個掛けられているかで決まる
10=2x5だから2と5の掛けられている数のうち小さい方とも言えるな
で、一例として10!=1x2x3x4x5x6x7x8x9x10=2^8x3^4x5^2x7=2^6x3^4x7x(2^2x5^2)だから、0が2つ付くと言える
どう考えても2の素因数は5の素因数より多くなるので5の素因数の数だけ分かれば良い
この時、5の素因数の数はnが5の倍数になった時(n/5)+nが5^2の倍数になった時(n/(5^2))+…と計算すれば求まる 端数切り捨てな
485デフォルトの名無しさん
垢版 |
2018/04/01(日) 14:01:25.37
>>484
> どう考えても2の素因数は5の素因数より多くなる

そうとは限らないじゃん
2の素因数の数も数えなきゃ不正確じゃん
486KAC
垢版 |
2018/04/01(日) 14:29:21.34ID:R1ag/+cJ
>>485
それを主張するなら、2の方が多くなる事例をあげるか、証明するかしないと。
2018/04/01(日) 14:50:31.82ID:NSJxVWjO
多い分には問題がない
2018/04/01(日) 15:21:10.32ID://EuH1G7
>>485
任意の2以上の整数nとする. n!に対して素数kの素因数の数が F(n, k) になる事は機知とする.
F(n, k) = [n/k] + [n/(k^2)] + ...
またガウス記号の定義([x] は x を超えない最大の整数)から任意の実数 x に対して,
x - 1 < [x] <= x  ……☆.
m_k を n/(k^m_k) >= 1 となる最大の整数とすると,
n/(k^m_k) >= 1 ⇔ n < k^m_k ⇔ log_k(n) >= m_k なので, m_k = [log_k(n)].
また m_k より大きな任意の整数 i に対して n/(k^i) < 1 なので, [n/(k^i)] = 0.
従って, F(n, k) = [n/k] + [n/(k^2)] + ... + [n/(k^m_k)].
さて, ☆より
F(n, 5) <= n/5 + n/(5^2) + ... + n/(5^m_5)
= n*(1/5)*(1 - 1/(5^m_5))/(1 - 1/5)
= n*(1 - 1/(5^m_5))/(5 - 1)
= n*(1 - 1/(5^[log_5(n)]))/(5 - 1)
<= n*(1 - 1/(5^log_5(n)))/(5 - 1)
= (n - 1)/4,
F(n, 2) > n/2 - 1 + n/(2^2) - 1 + ... + n/(2^m_2)
= n*(1/2)*(1 - 1/(2^m_2))/(1 - 1/2) + (-1)*m_2
= n*(1 - 1/(2^m_2)) - m_2
> n*(1 - 1/(2^(log_2(n) - 1))) - log_2(n)
= n - log_2(n) - 2.
依って2以上の任意の整数nに対して,
F(n, 5) <= (n - 1)/4 < n - log_2(n) - 2 < F(n, 2)
となり題意は示された.
((n - 1)/4 < n - log_2(n) - 2 は増減表を書くなりして確かめて)
2018/04/01(日) 15:34:29.77ID:NSJxVWjO
a,bをとりあえず非負実数
[a]をaを超えない最大の整数として
a>=b→[a]>=[b]
[a+b]>=[a]+[b]
はすぐにわかる。
n!を割る2べき数の最大指数は1からnまでに偶数が[n/2]個
あることより[n/2]以上であることもすぐわかる

5^m<=n<5^(m+1)として
[n/5]+[n/5^2]+...+[n/5^m]
<=[n/5+n/5^2+...+n/5^m]
<=[n/5+n/5^2+...]=[n/4]<=[n/2]<=n!を割る2べき数の最大指数
2018/04/01(日) 15:46:35.74ID:EVES2VPh
>>486
「素因数 2 の数は 素因数 5 の数よりも多い」
を使うのなら証明は使う側がしないといけないだろう?一定の範囲では 2の倍数の方が 5 の倍数よりも多いとはわかるが、素因数の数について正確なことをいえるかな?
2018/04/01(日) 15:47:58.83ID:NSJxVWjO
[n/5]+2[n/5^2]+3[n/5^3]+...+m[n/5^m]
を評価しなければいけなかった(。。)

mを非負整数とするときm[a]<=[am]
だから
[n/5]+2[n/5^2]+3[n/5^3]+...+m[n/5^m]<=
[n/5]+[2n/5^2]+[3n/5^3]+...+[mn/5^m]<=
[n/5+2n/5^2+...+mn/5^m+...]<=
[n (1/5)(1+2(1/5)+3(1/5)^2+....)]
=[n(1/5)/(1-1/5)^2]
=[5n/16]<=[n/2]
あとは同じ 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
492デフォルトの名無しさん
垢版 |
2018/04/01(日) 16:14:16.83
なんか長々と書かせちゃってごめん
正の整数の全範囲が対象じゃなくてあくまで「n!」だってこと忘れてたわ
2018/04/01(日) 18:24:24.96ID:NSJxVWjO
勘違い
2018/04/01(日) 18:24:43.79ID:NSJxVWjO
>>491は無視して
2018/04/01(日) 22:04:20.90ID:niLyVdLs
>>462
>未知の課題に対するコーディング能力
とか言ってるが、高校数学ではよくある問題だぞ?

ttp://examist.jp/mathematics/integer/kaijyou-soinsu/
ttp://www.geocities.jp/math12345go/math-qa/kaijou.htm
ttps://www.school-turnup.com/p-12594/
ttps://www.shinko-keirin.co.jp/keirinkan/tea/kou/jissen/sugaku/201603/index.html

高卒なんて言い訳になんねーよ
496デフォルトの名無しさん
垢版 |
2018/04/01(日) 22:25:21.45
>>495
数I・Aで100点だったが、数II・Bで0点取って、数III・Cは選択しなかった俺に謝れ
2018/04/02(月) 01:59:38.46ID:J8SaQrAA
お題そのものが数学のお題だったということだな。
2018/04/02(月) 07:50:16.86ID:OKtU2ZmG
プログラミング的には、n!を割る最大の5のべき乗の指数が最大の2のべき乗の指数
を超えないということを使わずに(=知らずに)
それでも十分な速度(実質>>469程度の処理しかしない)なものが書けるかということが課題

高校レベルの課題に見えて実は決してそうじゃないな
499KAC
垢版 |
2018/04/02(月) 08:54:14.80ID:rV3y1QX6
>>498
設計したこと無いの?
2018/04/02(月) 09:32:15.39ID:OKtU2ZmG
select max(m) from select m where 10^m|n!
と同レベルの可読性だが
やることは割り算しながら足し算となるコードなんて
そもそもあるのかよw
2018/04/02(月) 12:18:57.87ID:ZxHHSjBr
>>498
>知らずに十分な速度
その程度なら2の個数も数えるだけだから簡単だし高速だと思う
が、普通はちょっと考えて5だけで良いなと5だけ数えるコードを書くんじゃないかな
何も知らず何も考えず計算機任せの力技ってのだけがプログラミングじゃないでしょ。
502デフォルトの名無しさん
垢版 |
2018/04/02(月) 12:28:13.55ID:IY8Jb2od
高校レベルの数学をすっかり忘れたおぢさんにやさしく教えておくれ。
2018/04/02(月) 12:41:49.07ID:3lJ3dDiL
素因数の数が
m := [log(n)/log(k)]として
 m
 Σ[n/k^i]
i=1
明らかにmも[]の中もkに対して(広義)単調減少なんだから
素数が大きくなるほどn!のその素因数の数が減ることも明確というお話
504デフォルトの名無しさん
垢版 |
2018/04/03(火) 00:32:23.81
>>503
ご覧ください、これがアスペです
2018/04/03(火) 04:19:52.09ID:j/8PevsK
>>498
中学生が手計算で出来るレベルだ
数学苦手でしょ?
2018/04/03(火) 04:29:34.46ID:j/8PevsK
>>502
1〜132の整数の中に5の倍数は何個ある?
1〜132の整数の中に25の倍数は何個ある?
1〜132の整数の中に125の倍数は何個ある?
1〜132の整数の中に625の倍数は何個ある?
...

132の階乗を素数の積で表したとき
5は何回出てくるる?

132の階乗の右に並ぶ0の数は?
2018/04/03(火) 06:13:09.59ID:AFO/JCVj
何時までやってんだよw
508デフォルトの名無しさん
垢版 |
2018/04/03(火) 09:25:43.98ID:Lqpq4yV4
>>506
132という値を出した理由は?
5,25,125,625を出した理由は?
2018/04/03(火) 09:27:23.08ID:wT7rO+2N
こんだけ話題が伸びてる問題なのに出題後高々10分でほぼ理想的なコードが掛かれてるってのが面白いな
2018/04/03(火) 09:39:27.81ID:wc7Iq10c
個々の住人数学が滅茶苦茶できてコードが3割みたいな人いるからな。
2018/04/03(火) 10:49:30.76ID:c+6kwVVv
>>508
> 132という値を出した理由は?
1問目の数値からから

> 5,25,125,625を出した理由は?
考えてみよう
2018/04/03(火) 13:37:36.52ID:dgEzwcuL
俺は理想的なコードは割って足すループの方だ
可読性だなんだの風潮はあるが、ああいう一工夫がこういうプログラミングの煌めき

と思う
2018/04/03(火) 15:34:52.13ID:AFO/JCVj
何が煌きだよw
定石(じょうしき)だろw
2018/04/03(火) 22:23:56.22ID:fs0DGcro
>>510
というか至極単純なコードならついついゴルフしたくなってしまうというか
515デフォルトの名無しさん
垢版 |
2018/04/03(火) 22:46:02.45ID:dYq4OQgG
お題
与えられたデータを間引きして小さいな順に並べる
間引くデータの個数の最小値を求める
2018/04/03(火) 22:58:26.43ID:fs0DGcro
日本語でおk
2018/04/03(火) 23:00:28.05ID:j/8PevsK
任意の有限長の実数列に対し
単調増加列の中で最大長となる部分列を求めよ

って感じ?
2018/04/03(火) 23:07:35.66ID:9JPZuSkd
要素数の最大はどれくらい?
2018/04/03(火) 23:31:42.00ID:YxTEfpvL
>>509
すぐに「n!の末尾の0の個数」などをググって
WEBに書かれている方式をコーディングするか、
自分の頭で方式から考えはじめるかの違いだろうな
2018/04/03(火) 23:39:30.66ID:YxTEfpvL
まさかな…
2018/04/04(水) 00:25:41.22ID:C+gm7esp
>>513
そのわりには>>469に至るまで出てきてないわけだが
コロンブスの卵にケチ付けた奴みたいだな
522デフォルトの名無しさん
垢版 |
2018/04/04(水) 00:27:47.47ID:HZl+eAA0
>>515
1,1,1の場合、0個で良いのか?
2018/04/04(水) 00:42:07.59ID:3+w4vvmw
>>519
ググるような問題か?
普通に義務教育を出てれば一瞬でわかると思うのだが
2018/04/04(水) 00:46:27.40ID:3+w4vvmw
>>522
「小さいな順」ってどっちだろうね?
単調増加か単調非減少か
私は単調増加だと思ったから答えは2個
普通のソートだと単調非減少だから単調増加?

どっちにしろアルゴリズムは大して変わらん
2018/04/04(水) 00:51:30.79ID:KRNVtbK3
>>523
義務教育でlogはやら無いぞ
何分でコーディング完了して動作確認までいったのよ
2018/04/04(水) 00:52:29.89ID:3+w4vvmw
logなんて使わん
2018/04/04(水) 00:53:18.67ID:3+w4vvmw
素因数分解を習えば十分
2018/04/04(水) 00:53:53.74ID:KRNVtbK3
>>526
何番のお台の話をしてるんだよ
ずれてるぞボケが
2018/04/04(水) 00:56:57.83ID:3+w4vvmw
ずれたとしたら俺のせいではない
>>519>>525が悪い
2018/04/04(水) 00:58:01.53ID:KRNVtbK3
いや、お前が悪い。きっぱり
2018/04/04(水) 00:59:08.89ID:KRNVtbK3
んで、お前はその簡単な問題を
何分で問題解決しコーディング完了して動作確認までいったのよ
2018/04/04(水) 01:00:53.49ID:3+w4vvmw
>>519>>459の問題であることは明らか
2018/04/04(水) 01:02:49.08ID:KRNVtbK3
log使ってんじゃん

普通に義務教育を出てれば一瞬でわかると思って
お前はその簡単な問題を
何分で問題解決しコーディング完了して動作確認までいったのよ
上の方のレスでどれがお前の回答よ
2018/04/04(水) 01:04:22.37ID:3+w4vvmw
>>531
簡単すぎて書く気にもならんレベル
logなんか使わん
2018/04/04(水) 01:05:01.45ID:3+w4vvmw
>>506にlogなんか出て来ないだろ?
2018/04/04(水) 01:07:37.29ID:KRNVtbK3
>>534
じゃあlogを使わない計算量の多い方法でもいいよ。

義務教育を出てれば一瞬でわかる問題を
お前が一から考えて自力で解いてコーディングして動作を確かめ
書き込んだレスは上の何番だよ
2018/04/04(水) 01:09:27.61ID:KRNVtbK3
人のレスをを見たら簡単だと印象を持ったんだろ
自力ですぐには解けなかったんだろ
2018/04/04(水) 01:09:59.83ID:3+w4vvmw
そもそもlogを使ったコードなんて出てきたか?
2018/04/04(水) 01:10:40.77ID:KRNVtbK3
ぼけがw
2018/04/04(水) 01:16:56.56ID:3+w4vvmw
考え方は>>506
以上
2018/04/04(水) 01:20:52.57ID:/4oBH7Xm
もう構うなよ
2018/04/04(水) 01:39:06.43ID:rhFOVHGj
>>524
順に並べるということから同値の連続は許して広義の単調増加でよいのでは

工夫のない力技のを描いてみた
https://www.onlinegdb.com/ByuL67-iG
2018/04/04(水) 01:41:20.57ID:rhFOVHGj

一応2行ほど費やしてほんのちょびっとだけ枝刈りしてある
2018/04/04(水) 02:12:06.95ID:OPiy2CfY
なら自分も広義単調増加で
LISだし二分探索のO(NlogN)で実装
https://ideone.com/kN5UFU
2018/04/04(水) 02:22:12.11ID:OPiy2CfY
>>544
やっべLISで作ったから答えがLISのままだわ
n-出力に脳内変換しておいて
546デフォルトの名無しさん
垢版 |
2018/04/04(水) 03:07:06.84ID:Ssb/YhXn
>>515
Kotlin
後ろから手前に見て行くように作ってみたが、これで良いのか?
https://paiza.io/projects/_o2ryjyVw3lQI2iKrDRf_A?language=kotlin
2018/04/04(水) 03:27:44.46ID:OPiy2CfY
>>546
広義単調増加だよな?
そのプログラムだと
1, 3, 6, 8, 9, 10, 6, 5, 6, 7
が5で出力される(解は1,3,6,6,6,7より4)
2018/04/04(水) 06:36:29.21ID:5k6f4LQE
>>515
間引きする関数というか方法は?サンプルもないのにどうしろと。
2018/04/04(水) 07:58:24.29ID:C+gm7esp
ほらサンプル

元のデータ 1, 3, 6, 8, 9, 10, 6, 5, 6, 7
これの 1, 3, 6, (8, 9, 10,) 6, (5,) 6, 7
括弧内の4つを間引けば昇順1,3,6,6,6,7になる
最小の間引く個数は4
2018/04/04(水) 08:06:05.02ID:5k6f4LQE
>>549
1, 3, 6, 8, 9, 10, (6, 5, 6, 7)
これでいけない理由は?
2018/04/04(水) 08:07:01.43ID:C+gm7esp
>>550
そっちでもいい
答えは同じだから
2018/04/04(水) 08:07:50.32ID:5k6f4LQE
>>551
残るものが変わってくるんだから、たまたま同じだったではすまんだろう。
2018/04/04(水) 08:12:16.57ID:C+gm7esp
たまたまじゃなくてどちらでも同じだから良いって言ってるんだよ
最小の個数が算出されれば良いんだよ

>>542を例にして説明するとv1とv2の長さが等しいとき、
選び方によって間引方は変わるがどちらを選んでも
同じ答え(個数)になるからどちらでもいい
2018/04/04(水) 08:13:20.00ID:C+gm7esp
「選び方」というのは等しいときv1を使うかv2を使うかってことね
2018/04/04(水) 08:13:32.31ID:5k6f4LQE
主観がないな。
2018/04/04(水) 08:14:06.01ID:C+gm7esp
ただの荒らしだったか
2018/04/04(水) 08:16:15.34ID:5k6f4LQE
まぁいいわ。説明が悪いとだけ言っとくわ。
2018/04/04(水) 08:17:58.31ID:5k6f4LQE
http://arison.jp/wordpress/wp-content/project_comedy_l.gif
2018/04/04(水) 08:27:21.83ID:5k6f4LQE
じゃー、ソートすれば常に0だな。
おしまーい。
2018/04/04(水) 08:39:36.72ID:5k6f4LQE
これ、プログラムのお題じゃなくてイジワル問題ってやつだ。
一応間引くとは言ったけど、どのように間引きたいかは書いてない。
それを考えろっていうもんだいで、じょうけんとしては何もだされていない。
べつに大きくしてもよい。
が、大きくする必要性もないので、条件内でやる最善手がソートして昇順にするだけででも満たされうる。

以上。
2018/04/04(水) 09:01:32.20ID:5k6f4LQE
https://ideone.com/G4cjeS
C++。これが間違ってるんだったらその理論を聞きたい。
2018/04/04(水) 09:09:05.05ID:5k6f4LQE
思想でも読んでるのかなぁ。
2018/04/04(水) 10:01:46.30ID:OPiy2CfY
なんだその、「牛乳を1個買ってきて。卵があったら6個買ってきて」と言われて卵があったから牛乳を6個買ってくるような行動
リアルでこんな奴いるんだな……
間違ってるわけではないのが余計質悪い
2018/04/04(水) 10:05:40.95ID:5k6f4LQE
>>563
ん?だから説明が悪いっていのを体現しただけ。
>>558 で書いてるでしょ。
多分思想問題なんだよこれ。
2018/04/04(水) 10:10:25.80ID:5k6f4LQE
例えばね、例えば。
この数字が暗号で間引くと人が死ぬとかいうシチュエーションでそもそも間引く必要あるの?っていう趣旨返しなわけ。
2018/04/04(水) 10:25:05.16ID:rXkfBXRy
与えられたデータが数列とも限らないし勝手に解釈して好きなように作る以外にやりようがない問題
自由度が大きい問題はあらゆる答えが正解ともいえるから一つの正解にたどり着く過程を楽しむ数学好きとかには不評だろう
2018/04/04(水) 12:49:19.51ID:C+gm7esp
おいおいおいおい
勝手に解釈して好きなように作るしかない問題(←否定的な表現)だからあらゆる答えが正解だ、というの?

これは「どう解釈しても構わないから好きなように答えれば良い問題」っていうんだよ。

例えばソートのアルゴリズムだって別に数値かどうかなど決めずとも考察も品評もできる
「比較回数だけでいうならo(1)のバケツソートが最高。はい論破」とか言うのも自由
答えが一個ならただの問い、クイズだよ
2018/04/04(水) 16:23:18.45ID:AaKOqhzy
[[[[[[][}[[[ [ {} [] ]]][ [[ [
569デフォルトの名無しさん
垢版 |
2018/04/04(水) 16:49:39.45ID:uRR+3wvr
暗号か?
2018/04/04(水) 19:04:15.98ID:3+w4vvmw
C言語
なんか>>544とほとんど同じになってしまった
https://ideone.com/xraUUB
2018/04/04(水) 19:50:20.24ID:kMfCNnre
>>556
荒らしっていうかさ
その子はこのスレにながく張り付いてる
無職でかつガイジ
かわいそうな子だから放置しといてあげて
2018/04/05(木) 00:22:00.99ID:gfFWgbCr
A(間引く)の処理の後にB(小さい順に並べる)の処理をすると読んでしまったのは内緒
2018/04/05(木) 22:33:01.28ID:R1vPtX9i
お題
以下の配列pで与えられるツリー構造を図示せよ
・pの要素数はN
・p[i]はノードiの親ノードを表す
・p[i]=-1の場合、ノードiは根ノードである
・pに含まれる-1の数はちょうど1つ

[input]
1 2 -1 0 0 1 1 2

[outupt]
2
|-- 1
| |-- 0
| | |-- 3
| | `-- 4
| |-- 5
| `-- 6
`-- 7
2018/04/06(金) 06:25:51.13ID:EFVHWowI
p[0]=1
p[1]=0
2018/04/06(金) 06:27:10.11ID:EFVHWowI
p[2]=-1
2018/04/06(金) 06:40:00.16ID:EFVHWowI
連結ではない <===> ループが存在する
2018/04/06(金) 08:57:39.15ID:GWNJOzqa
>>573
https://ideone.com/u2CqvF
2018/04/06(金) 11:36:10.59ID:Rm6bGaxB
お題にツリー構造って明記されてるから閉路は無いのでは
2018/04/06(金) 12:54:56.14ID:gBxcjV03
条件には書いてない
根が1個という条件だけ中途半端に書いてある
はて
2018/04/06(金) 13:12:46.44ID:6ssoNVnM
「〜で与えられるツリー構造」
2018/04/06(金) 13:39:17.95ID:VaxQogp+
条件には書いてない!(書いてある)
目か頭かどちらかあるいは両方おかしい。
頭の方ならこれからエクストリーム言い訳が来るだろうから楽しみにしてるw
2018/04/06(金) 14:45:17.05ID:gBxcjV03
「解無し」という答えに文句言ったくち?
583デフォルトの名無しさん
垢版 |
2018/04/06(金) 16:12:43.87ID:/oIeslo0
>>577以外のやり方以外のやり方考えるの面倒だな。
てか、いきなり最適解が出てしまった感あるな。
他の言語に書き換えるのは簡単だが移植しただけになってなんとなく無意味。
2018/04/06(金) 17:02:31.80ID:gBxcjV03
再帰じゃない解とか
585デフォルトの名無しさん
垢版 |
2018/04/06(金) 17:09:52.76ID:FoSTO+1D
階層構造なのに再帰使わないのは辛いなあ。自分でデータを積む事になるだろうし。しかしそれぐらいしかないか?
2018/04/06(金) 17:12:50.15ID:Vf6CoCVF
そだね
なにかアクロバティックな解法でもあれば面白いんだけど凡才で思いつけん
587デフォルトの名無しさん
垢版 |
2018/04/06(金) 18:06:53.73ID:mKIKE6t9
お題
5以上の素数が与えられたとき1番近い6の倍数を求める
2018/04/06(金) 18:13:50.95ID:4/E3/dCo
5以上の素数しか与えられない?
素数以外も与えられることもある?
2018/04/06(金) 18:15:51.07ID:wUq7JaWt
日本語読めないのか?
2018/04/06(金) 18:17:05.45ID:wUq7JaWt
(n+3)/6*6 かな
2018/04/06(金) 18:18:14.39ID:yx3PdwAt
素数列挙がメンドだから日本語で。
素数を6で割って、ラウンドして1プラスして、6倍する。
であってる?
2018/04/06(金) 18:19:17.00ID:yx3PdwAt
四捨五入の方がいいか?
2018/04/06(金) 19:32:58.29ID:EFVHWowI
>>588
5以上の素数が与えられなかった場合の動作については何も書かれてないので
好きに仕様を決めれば良いんだよ
2018/04/06(金) 19:36:58.77ID:EFVHWowI
エラー表示
動作不定
与えられるまでまつ
など

>>589
仕事だとそういうところでもめたりするのだ
今回は仕事じゃないので好きに決めればいい
2018/04/06(金) 19:41:53.07ID:wUq7JaWt
それ言い出したら、言語によっては実数も文字列も行列も与えられるし、きりがないよ
2018/04/06(金) 19:47:17.56ID:Q5AWbdER
int q587(int p){//pは5以上の素数
return (p % 6==1)? 6*(p/6):6*(p/6+1);
}
2018/04/06(金) 19:51:17.88ID:EFVHWowI
>>595
「今回は仕事じゃないので好きに決めればいい」
2018/04/06(金) 20:02:53.64ID:Vf6CoCVF
>>591>>592
7が与えられたら結果はいくつになるそれ?
2018/04/06(金) 20:08:15.85ID:/U4wFi2E
>>587
n - (-1)^(n%6/5)
2018/04/06(金) 20:13:35.02ID:/U4wFi2E
>>587
こっちの方がいいか。除算は切り捨て
n - 1 + n%6/5*2
2018/04/06(金) 20:34:39.42ID:/osLfhPv
>>587 Ruby
-~n/6*6
2018/04/06(金) 20:46:11.62ID:Vf6CoCVF
n+1 ってのを -~n と短縮してるわけか
面白い
2018/04/06(金) 21:04:40.65ID:zGB1Hjc3
一番近くない答えを出す回答が混ざってるのが面白い
2018/04/06(金) 21:06:03.82ID:EFVHWowI
面白いか?
どっちも
2018/04/06(金) 22:19:03.40ID:Zyva5DHv
お題
整数n(0 <= n < 2^32)を英語で表記する
0 => zero
134 => one hundred thirty four
1000000 => one million
4294967295 => ???
2018/04/06(金) 23:06:37.46ID:st3Hb+gI
その???のところどんな形式でもいいの?
それともtwo to the power of thirty two subtracted by oneじゃないとダメ?
2018/04/06(金) 23:22:09.18ID:rqOyDV9k
four billion なんちゃらだろjk
2018/04/06(金) 23:56:30.88ID:/U4wFi2E
>>605 Ruby

https://ideone.com/F3RT13
2018/04/07(土) 00:21:05.83ID:Bd1xKzd/
>>588
https://ideone.com/d3UrjB
C++。プライム検出をダメコードででっち上げて書いた。正直遅い。
2018/04/07(土) 00:24:29.61ID:Bd1xKzd/
>>598
下がる方考慮してなかったから考慮したコード書いたよ。
2018/04/07(土) 00:55:56.21ID:WL4rZ6s4
鈴木貫太郎
北海道大学 2種類の数字でできてるn桁の数字の個数
https://youtu.be/SHdUszy0qQs

2種類の数字だけでできている、4桁の数字は、いくつあるか?
答え、567

2種類の数字だけでできている、N桁の数字は、いくつあるか?
答え、81(2^(N-1) - 1)

N=5 の時も、求めて
2018/04/07(土) 01:12:51.88ID:cljYAf7A
>>611
普通に 81 * (2^(5 - 1) - 1) = 1215 なのに何を求めるの
10C2 * 5C2 - 9*5 + 10C2 * 10P2 - 9 * 10 = 1215 みたいに場合分けしてもう一度計算しろってことかね
613デフォルトの名無しさん
垢版 |
2018/04/07(土) 01:38:08.29ID:bMqQKRLP
>>587
その問題って元の値が素数かどうかは関係ないのでは?
Perl だとnが正の整数なら int((n+3)/6)*6 の計算で出来てしまうと思うが。
/ の割り算が整数で出るような言語なら整数化も不要。(C言語で int n だった場合等)。
2018/04/07(土) 01:39:34.76ID:WL4rZ6s4
素数は奇数だから、6 で割った余りのうち、1, 5 のみが素数になり得る。
つまり、6N + 1, 6N + 5 (6N ± 1)だけ。
6N + 3 は、3 の倍数になるので、素数にならない

この動画を参照

鈴木貫太郎
整数、素数、京都大学入試問題 数学
https://youtu.be/PCX6sqN9FhA

p, q が共に素数のとき、
p^q + q^p が素数になる、p, q をすべて求めよ

ヒント、どちらか一方は必ず、2 となる。
答え、(2, 3), (3, 2)

ちなみに、答えが合っていても、0点です。
それ以外に解が存在しないという、証明に加点される
2018/04/07(土) 02:02:01.73ID:cljYAf7A
n = p^q + q^p, p <= q とすると
n >= 8 なのでnは奇素数
よって p = 2, q >= 3
q > 3 の時 n = 2^q + q^2 = 2 + 1 = 3 mod 6 で矛盾
q = 3 の時 n = 17 で必要条件を満たしている
よって (p, q) = (2, 3), (3, 2)

でこれをSATソルバーでも使って解けっていうのかね
616デフォルトの名無しさん
垢版 |
2018/04/07(土) 04:51:35.83ID:bMqQKRLP
>>605
Kotlin
https://paiza.io/projects/z6BKEqpdH_DuzQpj6TtxZg

色々細かいことやって英語に近づけたので少し複雑なものになってしまったような気もする。
2018/04/07(土) 14:36:40.48ID:NmviPp4n
ttp://next.rikunabi.com/rnc/img/1820/o/0015904477.jpg
犯人は誰だ?
618577
垢版 |
2018/04/07(土) 23:23:36.77ID:ALsUA4nh
>>577
訂正
https://ideone.com/yYE1Jb

[-1, 0, 1, 2] の出力が
0
└─ 1
│ └─ 2
│ │ └─ 3
となって間違った枝が伸びてました。

文字列を積みながら再帰は気持ち悪いから
フラグのリストとかの方がいいかも。
619611
垢版 |
2018/04/08(日) 12:22:11.48ID:1mmlbc0v
>>611
N桁(4, 5桁)の数字の場合、どうプログラミングする?
ややこしい

誰か、N桁で一般化して、Ruby で書いて
2018/04/08(日) 12:34:02.96ID:wX43tNlZ
算数で止まってるから証明できないけどモンテカルロなら書けるよ。
2018/04/08(日) 12:49:35.30ID:ZTQwWTkx
Xがi個YがN - i個あるときの考えらえれる数字の数は
(10_C_2 - 9) N_C_i
だから
((10_C_2 - 9)/2) Σ{i in 1..N - 2}N_C_i
=(81/2)*(2^N - 2)
=81*(2^(N - 1) - 1)

81*(2^(N - 1) - 1)を計算すればいいだけなんだから算数でしょ
2018/04/08(日) 13:10:11.62ID:wX43tNlZ
https://ideone.com/YyAuGf
C++。というわけで書いた。
算数だとこんな感じになる。
2018/04/08(日) 13:11:04.05ID:wX43tNlZ
桁分割するときに%を&って書いてハマってた。><;
2018/04/08(日) 13:47:39.07ID:wX43tNlZ
とりあえず、書いたら止まるのやめてよ。
625611
垢版 |
2018/04/08(日) 14:23:00.89ID:1mmlbc0v
>>611
N桁(例えば4桁)で、aaaa 〜 bbbb までのすべての順列を作るのは、
どうプログラミングする?

4桁と限定せず、N桁で一般化して、誰かRuby で書いて

aaaa, aaab, aaba, aabb, abaa,
2018/04/08(日) 14:25:17.47ID:wX43tNlZ
無視されたのやめます。
2018/04/08(日) 14:25:26.83ID:k1onKASn
Rubyで宿題でも出てるのけ?
2018/04/08(日) 14:29:19.21ID:wX43tNlZ
>>625の態度が気に入らないので、日本語で書く。
桁数の文字をA分とB分をプッシュバックしてソートして順列回す。
文字が2種なのでオーダー爆発はあまり起きないと思う。
2018/04/08(日) 14:35:50.62ID:wX43tNlZ
というか、競プロこんな解き方してREDになっても全く意味がない。
最上級に上り詰めてかってに市ね。
2018/04/08(日) 14:39:16.28ID:xR9rWW4L
>>625 Ruby
[*0..9].combination(2).flat_map{|(a,b)|(1..n-1).map{|i|
([a]*i+[b]*(n-i)).permutation.uniq.reject{|e|e.first.zero?}.map{|e|e.join.to_i}}
}.flatten
2018/04/08(日) 14:45:24.65ID:wX43tNlZ
コンビネーションいいなー。頭悪いから実装できないし毎回実装したくない。
はぁ・・・。
632611
垢版 |
2018/04/08(日) 15:15:37.38ID:1mmlbc0v
Ruby に、product という順列を作るメソッドがある

[1,2].product([3,4],[5,6])
# => [[1,3,5],[1,3,6],[1,4,5],[1,4,6],[2,3,5],[2,3,6],[2,4,5],[2,4,6]]

これで考えてみる
633611
垢版 |
2018/04/08(日) 15:18:19.59ID:1mmlbc0v
可読性が低い、C++ を読んで解析するのが、面倒

スマソ
2018/04/08(日) 15:32:27.60ID:ZTQwWTkx
>>625 Ruby 2.5.0

def f(n)
return [] if n == 1
(1..9).flat_map{|i|
[10*i] + ([*1..9] - [i]).flat_map{|j| (10**n - 10)/9*i + j}
} + f(n - 1).flat_map{|e| e.digits.uniq.map{|i| 10*e + i}}
end
2018/04/08(日) 15:39:18.26ID:drN9+cfC
ruby限定で、
しかもアルゴリズムを競うわけでもない単なるコード例ならrubyスレでやってくれと強く感じる
2018/04/08(日) 15:48:31.89ID:ZTQwWTkx
訂正
def f(n)
return [] if n == 1
(1..9).flat_map{|i|
([*0..9] - [i]).flat_map{|j| (10**n - 10)/9*i + j}
} + f(n - 1).flat_map{|e| e.digits.uniq.map{|i| 10*e + i}}
end
637611
垢版 |
2018/04/08(日) 15:54:06.97ID:1mmlbc0v
プログラミングは、このスレのためのものだから、
他の言語でも何でも、自由にプログラミングして下さい

言語にこだわらず、やって下さい。
その言語をやってる人が見るはず
2018/04/08(日) 15:59:40.54ID:aVOeIiR5
言語を指定しないでください
宿題等の依頼は遠慮願います
2018/04/08(日) 16:04:05.60ID:b4O4Usd0
だな
640611
垢版 |
2018/04/08(日) 16:17:49.11ID:1mmlbc0v
宿題じゃない。プログラミングのお題

他の言語でも何でも、自由にプログラミングして下さい
2018/04/08(日) 17:05:29.95ID:aVOeIiR5
宿題、学習「等」が目的であればここではなく然るべきところで
2018/04/08(日) 17:47:47.72ID:FgO8HAKn
>>641
その宿題とやらが問題として面白いものであれば、それならそれを解くことは個人的にはありうることでしょうね
2018/04/08(日) 18:45:27.43ID:wX43tNlZ
競争性の放棄とコードも書かないのに他人を煽る。ギルティですね。
2018/04/08(日) 18:54:09.19ID:wX43tNlZ
俺は書いたけど、無視されるわ、あげく必要ないっていわれましたからね。
70行も読めないなんてたかが知れてる。
2018/04/08(日) 19:12:49.68ID:aVOeIiR5
こんな依頼者相手にコードを提供するのがおかしい
2018/04/08(日) 19:14:36.93ID:wX43tNlZ
最初はフラットなので、見分けるの大変なんですよ。
2018/04/08(日) 19:16:13.27ID:wX43tNlZ
>>645のことは考えてないですよ?611とやらに怒ってます。
やったこと無駄でした。ヒント与えなければよかった。
2018/04/08(日) 20:46:20.65ID:sgyAjV8F
お題
ビンゴゲームでリーチ数が最大の盤面をすべて列挙せよ
2018/04/08(日) 21:26:48.16ID:wX43tNlZ
そうですか。頑張ってください。
2018/04/08(日) 21:53:53.31ID:ZTQwWTkx
>>648 Ruby ただしπ/2回転させた解は省略
出力はi行目に穴の空いていないマスの列数(0〜4)を表示

[*1..4].combination(2).flat_map{|i,j|
[*1..4].combination(2).map{|k,l|
a = [4, 0, 1, 3, 2]
a[i], a[j] = a[j], a[i]
a[k], a[l] = a[l], a[k]
next if (1..4).any?{|i| a[i] == 4 - i} || a[2] + a[3] > 4 || a[1] + a[4] > 4
a
}
}.uniq.compact
#=> [[4, 0, 1, 3, 2], [4, 2, 0, 3, 1], [4, 1, 3, 0, 2], [4, 1, 0, 2, 3]]
2018/04/08(日) 22:15:08.50ID:TRlBW4xM
>>641
俺も>>642と同意見かな
出題者は勝手に出すだけ
回答者は勝手に回答するだけ
出題者の意図も回答者の意図もどっちも問わない

ただ、頼まれもしないのに延々糞コード書いて晒すやつは脳の障害とは思う
2018/04/08(日) 22:20:36.69ID:xR9rWW4L
回答者は回答するだけってのはまさにその通り
なんかc++の変なコードあげる人いるじゃん
変なコードは別に見ないからいいんだけど、その上 構ってちゃんなのがちょっとあれなのよね
2018/04/08(日) 22:22:09.19ID:TRlBW4xM
あ、おれが糞コードつってんのもそいつのことねw
といかこのスレで糞コードつったらそれしかないけど
まともにC++やってきた人間からしたら血圧上がるような糞コードなw
2018/04/08(日) 23:18:12.27ID:drN9+cfC
c++ で書いてるヤツなんて俺以外いないよ…と思ったがNGID解除してみるといた

ruby のコードは読みやすいからruby使った回答は歓迎なんだけど、
回答もしたいからあんまり限定して欲しくはないな
(rubyで回答するほど好きではないから)
2018/04/08(日) 23:31:45.71ID:FWiZcz2s
ダラダラ長ったらしく書かれたC++コードも、ぱっと見意味の掴みにくいワンライナーコードも、同じくらいクソだと思うんですが・・・
2018/04/08(日) 23:38:49.63ID:drN9+cfC
J言語好きとして読みにくいからクソというのには党派的に反対する
読みにくさを愛でる人もいる

でもさっきはうっかりしていた
ruby 限定とか C++ 禁止とかあってもいいと思います
2018/04/08(日) 23:53:13.66ID:b4O4Usd0
限定する目的がわからん
特定の言語だと簡単すぎるとか?
658デフォルトの名無しさん
垢版 |
2018/04/08(日) 23:58:04.55
ID:wX43tNlZ みたいなのをシャットアウトする目的なら限定してもいいだろう
2018/04/09(月) 00:06:52.35ID:4voddLA5
>>658
ええな
2018/04/09(月) 00:30:16.34ID:/QZ8FXxd
>>612
>>621
いきなり最後の式が出ると思うんだが
わざわざ知識をつかわなくても
2018/04/09(月) 00:37:01.24ID:/QZ8FXxd
最上位桁の数字は 1〜9 の9通り
最上位桁と異なる数字は 0〜9中で最上位桁以外 9通り
最上位桁以外の2種類の選び方は
N-1個それぞれが2個の数字から1個を選ぶ場合の数-全て最上位桁と同じになる場合の数 = 2^(N-1)-1

よって81*(2^(N-1)-1)通り
2018/04/09(月) 00:42:15.33ID:kgPSL5h+
>>648
C++で書いた。コードは不明。
8分くらいで解いた。あってるかは知らない。
Count:1
Score:9
11110
11110
11110
11110
00000
2018/04/09(月) 00:43:45.37ID:kgPSL5h+
>>658
ちゃんとコード書いてても村八分にされるんですね。
ここは怖いインターネッツですね。
2018/04/09(月) 00:52:16.18ID:rENMvr1T
>>663
やることやってれば他は何してもいいという訳ではないのは、インターネットもリアルも同じ。
勉強できようが仕事ができようが、人から嫌われる言動をしてれば迷惑がられるのは当然。
まして、本人が得意気にできてると思ってるだけで実際は
大したことなければ尚更だろう。
2018/04/09(月) 00:52:41.77ID:kgPSL5h+
https://ideone.com/xQYd3O
バグがあったので直したら値変わった。
2018/04/09(月) 00:56:15.06ID:kgPSL5h+
>>664
ほう。大したことないとおっしゃる?どの口で?
まぁいいけど。さすがにムカツクな。
俺意外に上げてる人間ってそんなに多くないぞ?
アンタはあげたことあるんだろうね。自治気取りだけど。

ふむそういうことなら。そのように対応する。
2018/04/09(月) 01:09:33.57ID:kgPSL5h+
おい出て来いよ。
2018/04/09(月) 01:11:54.34ID:kgPSL5h+
なんか最近ビジネス色強いから裏で何やってるんだろうと思ってたけど。
くだらねーな。
2018/04/09(月) 01:24:20.55ID:kgPSL5h+
5CHで何言ってるか自覚ないみたいだな。
従順な奴隷でも探してろ。ばかやろー。
2018/04/09(月) 06:13:27.90ID:Y3Lep2Gi
言語を限定されてもそんなのに構わず好きな言語で回答してしまえばいいよ
2018/04/09(月) 07:53:04.73ID:3mzXDd2F
野糞落ちてるだけでも不快なのによ
得意げに野糞していく奴の存在とか
2018/04/09(月) 08:04:05.81ID:yXqzhiVB
>>670
そうそう
昔、一途に prolog で解きまくっている人がいて、すごくかっこいい、っておもっていました
2018/04/09(月) 12:31:23.52ID:M/BmQ9Z1
C++ は可読性が低くて、ビジネスロジックに無関係な、儀式部分が多いから、
読む方も、自分の時間を使うから、かなりの損。
書いている人は面白いのだろうけど

Ruby なら、ほぼビジネスロジックに集中できる。
だから多くのアルゴリズム・パズル本は、Rubyで書かれている

Rubyで書いてって頼まれても、言語指定を無視して書けばよいだけ。
他の言語で書いても、必ず見る人はいる
674デフォルトの名無しさん
垢版 |
2018/04/09(月) 12:44:33.93ID:pBiH2JPL
ま、ここはデフォルトでは言語指定なしだから書きたい言語で書けば良い。
2018/04/09(月) 13:13:38.81ID:rSzJcNe3
Pythonで書かれてるが。いつの時代の話だよw
676デフォルトの名無しさん
垢版 |
2018/04/09(月) 14:15:37.60ID:Ptdpw/63
2の倍数:下一桁が偶数
3の倍数:各桁の和が3の倍数
4の倍数:下二桁が4の倍数
5の倍数:下一桁が5の倍数
6の倍数:2の倍数かつ3の倍数

8の倍数:下三桁が8の倍数
9の倍数:各桁の和が9の倍数
10の倍数:下一桁が0
11の倍数:各桁を交互に足し引きした値が11の倍数
12の倍数:3の倍数かつ4の倍数
2018/04/09(月) 15:56:24.14ID:yXqzhiVB
>>676
7 の倍数、11 の倍数、13 の倍数は同一の事実にもとづいて判定できる
つまり 7 * 11 * 13 = 1001
2018/04/09(月) 18:34:30.66ID:arNj8dw4
スレタイ
679デフォルトの名無しさん
垢版 |
2018/04/09(月) 22:25:36.32ID:6uICJjyK
簡単なお題
>>605の漢数字版。
上限は2^32でなくても良い。しかし最低でも億の位までは欲しいところだな。
2018/04/09(月) 23:15:38.09ID:Y3Lep2Gi
エサが与えられてるんだからさっさと食らいつけよ畜生共
2018/04/09(月) 23:45:10.55ID:GweYAzQS
>>673
もっともらしく言ったところでruby厨が好き勝手に振る舞える理由にはならないよ
2018/04/09(月) 23:57:17.62ID:1DnKLeEW
>>679
ローマ記数法やフランス語記数法とか頭おかしくていいお題かも。
2018/04/10(火) 00:10:16.46ID:mR/iFs0H
>>682
それも良いねえ。フランス語は知らんのだが、ちょっと調べたら嘘のようにややこしいな。フランス人はこんなのでよく大丈夫だな。
2018/04/10(火) 00:21:47.03ID:qmeNshHp
>>683
いい数学者輩出してるんだよなぁ…
2018/04/10(火) 02:06:58.01ID:5lWeQ397
>>679
逆変換, 漢 -> 数
https://ideone.com/a8sMTP
686679
垢版 |
2018/04/10(火) 02:17:28.72ID:mR/iFs0H
>>679
自分で作った。 Kotlin。
https://paiza.io/projects/eNXAAROxenLmNFSy5mSRqw?language=kotlin

1000だと「千」だけど10000000だと「一千万」という具合に「一」が入れるのが一般的だったりして、
ほんのちょっと例外があることに改めて気づいた。
687679
垢版 |
2018/04/10(火) 02:22:57.60ID:mR/iFs0H
>>685
おお。いいね。
俺も気が向いたら作ってみよう。
688デフォルトの名無しさん
垢版 |
2018/04/10(火) 21:13:27.90ID:TIeJSw3E
>>673
C++のようなシステム用言語をビジネスアプリに使うのがそもそもの間違い。
作者のビャーネ・ストロヴストルップが意図した使い方じゃないしね。
2018/04/11(水) 01:55:25.98ID:rGUvV2b9
気軽に「こんなソフトありませんか?」Part.175 [無断転載禁止]©2ch.net
https://egg.5ch.net/test/read.cgi/software/1469784906/15

15 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2016/08/02(火) 11:00:10.21 ID:2cA8AwqS0
200個ほどある文書の1行目だけ、一括でアルファベットを小文字に出来るソフトありませんか?
当方スルースキルあるんで、このレスに気づいた方、気長にレス待ってます
2018/04/11(水) 07:07:47.94ID:jfPKheqL
>>689
Ruby で作って、向こうのスレに書き込んだ
691デフォルトの名無しさん
垢版 |
2018/04/11(水) 07:59:50.61ID:nTOtPPqx
お題
立方体の2色の塗り分けの全種類を展開図で示せ
2018/04/11(水) 10:09:29.48ID:jfPKheqL
NetworkX, ZDD
2018/04/11(水) 14:46:07.95ID:nGNQyhwo
お題に合同条件くらい書かないとどの面も区別するつまんない回答が出て来るぞ
2018/04/11(水) 14:48:16.12ID:0UD5Vzkt
合同条件?
なんか日本語がおかしい
2018/04/11(水) 14:50:49.91ID:nGNQyhwo
わからないならいい
2018/04/11(水) 15:07:26.30ID:TZfcO+VR
数学の時間いつもケチつけてたのかな?
「互いに素」「同様に確からしい」etc…

「日本語としておかしい!」「俺が数学できないのはそのせい!」
697デフォルトの名無しさん
垢版 |
2018/04/11(水) 15:20:54.42ID:TvIzhvdC
>>691の問題は俺の解釈では物凄く簡単なのだが、こういうことなのか?

立方体ということは展開すると例えばこうなるよな。


□□□□


で、これに二種類色付けして、例えば


□□□□


とか


■□□□


とかになる。これの全パターンを出すって問題でいいの?

そうすると6面なので6bitを1bitづつ各面に割り当てて出すだけの誰にでもできそうな簡単なお仕事になると思うんだが、そういう問題?
698デフォルトの名無しさん
垢版 |
2018/04/11(水) 15:25:13.66ID:TvIzhvdC
あ、もしや組み立ててひっくり返したりしたら同じになるパターンは省くのか?
2018/04/11(水) 16:03:19.27ID:QsDOKQlt
このスレは質問スレじゃないので出題者の意図は気にせず好きな解釈で回答すればよい
2018/04/11(水) 16:29:15.11ID:kkx2Nyh4
matlabの質問なのですがこの@r=の式はどのように記述したらいいのですか?

r = sin(5θ);
x = r*cos(θ);
y = r*sin(θ);

としてプロットしてもエラーになってしまいました



https://i.imgur.com/yK7edDT.jpg
2018/04/11(水) 17:09:59.63ID:hSvs5cp7
>>700
スレチ

matlabしらないけどこれでいけんじゃね
r = sin(5 * θ)
2018/04/11(水) 17:43:34.08ID:kkx2Nyh4
>>701
どこで聞けばよいでしょうか
2018/04/11(水) 18:04:52.30ID:PSt1mUEK
>>702
google先生かその課題を出した先生にでも聞いてみたら?
2018/04/11(水) 18:16:58.13ID:Z0egFvSN
>>702
検索🔍も出来ない知能じゃ無駄かもしれんけど

MATLABプログラミング 質問箱 その4
http://mevius.5ch.net/test/read.cgi/tech/1346661308/
2018/04/11(水) 19:37:33.05ID:oecHnyiq
>>691 Java
https://ideone.com/DzIEkK
2018/04/11(水) 20:46:33.17ID:oecHnyiq
>>705
あ、バグってるわ…
2018/04/11(水) 21:00:50.79ID:oecHnyiq
>>705 バグ修正
https://ideone.com/l5N7Y8
2018/04/11(水) 21:08:58.17ID:0UD5Vzkt
コンピューターじゃないと出来ない課題の方が良いと思うんだ
特に数学っぽいのは
2018/04/11(水) 21:12:18.35ID:0UD5Vzkt
数学的知識をどこまで使って良いか迷うし
ガシガシに最適化をしたら結果をテーブルで持つ
みたいになったらつまらんし
2018/04/11(水) 21:45:46.47ID:oecHnyiq
>>708
こんなんとか?

プログラミングのお題スレ Part7
https://peace.5ch.net/test/read.cgi/tech/1429195275/41
> 41 :デフォルトの名無しさん:2015/05/01(金) 14:31:24.98 ID:9G1+bMO9
> お題:ちょうどn個(1 < n)の格子点(x座標もy座標も整数の点)を通る円の半径の
> 最小値を求める。円の中心点は格子点でなくてよい。
> 例
> n=2 -> 0.5
> n=5 -> 16.170331
> n=6 -> 2.5
※ n=5 は 5.89256 が正しい


サンプルデータ(最小ではない可能性あり)
https://ideone.com/wVBe61
2018/04/11(水) 21:52:59.57ID:5X4H9iqq
>>710
考えてみる

最小ではない可能性ありが貼られてるってことは
まだ出来た人がいないってことかな?
2018/04/11(水) 22:14:47.69ID:hSvs5cp7
まずnの値によっては最小値が存在しないから問題が破綻してる
結局数値計算するだけの問題だし
2018/04/11(水) 22:16:44.50ID:oecHnyiq
nの値によって最小値が存在しないってどういうことだ?
2018/04/11(水) 22:25:53.20ID:hSvs5cp7
一から実数の定義と上限下限の説明しないとダメなの
2018/04/11(水) 22:27:48.82ID:5X4H9iqq
n=1の時に最小値が存在しないことはすぐわかるが
1<nだから関係ない

n=2の時は簡単にわかる

特定の3個以上の格子点を通る円は高々1個しか存在せず
また、ある点から特定の距離以内の格子点の数は有限なので
存在するなら最小値は存在しそう
2018/04/11(水) 22:37:40.38ID:5X4H9iqq
>>712 >>714
説明よろしく
2018/04/12(木) 00:18:24.92ID:1gf/4w6V
結局>>712はなんか勘違いしてたのけ?
2018/04/12(木) 00:40:22.94ID:ysEoI2/K
>>691
Kotlin
とりあえず >>697 の通りのビットを面に対応させて全部出すだけのプログラム。
https://paiza.io/projects/MN90ETk9Kk3odk-Jlk2DEQ
回すと同一になるパターンを省くのはこれから考える。
2018/04/12(木) 00:58:08.26ID:/+iNh+t9
>>691 C
https://ideone.com/i4fH8G

なんかダメダメなコードになった
しかも8通りで合ってるのか分からん
2018/04/12(木) 01:09:29.57ID:Tk+dtr/S
>>691
https://ideone.com/sl1872
10通りかな

回転処理が自信が持てない
2018/04/12(木) 03:43:27.29ID:T93bDVFD
>>691-695
立方体の展開図は、384 通り。
同型のものを1つとして数えると、11 通りになる

この本に書いてある

超高速グラフ列挙アルゴリズム−〈フカシギの数え方〉が拓く,
組合せ問題への新アプローチ
ERATO 湊離散構造処理系プロジェクト・湊真一、2015

計算時間が何百億年も掛かるのが、数秒で解けた
「おねえさんの問題」で有名な、
湊真一の超高速グラフ列挙アルゴリズム ZDD
2018/04/12(木) 05:28:52.38ID:bmPcyOmC
おねえさんの問題作った人?w
すげえバズったよなアレwwww
723720
垢版 |
2018/04/12(木) 07:11:40.78ID:Tk+dtr/S
>>720
https://ideone.com/4YO0hK
回転処理を修正
べた塗り(全白,全黒)を除外
8通り
2018/04/12(木) 07:53:54.58ID:iYyApZ27
お題
正20面体の3色の塗り分けの全種類を展開図で示せ
725611
垢版 |
2018/04/12(木) 08:56:31.07ID:T93bDVFD
>>611
>2種類の数字だけでできている、N桁の数字は、いくつあるか?

これを馬鹿正直にnested loop すると、N=4, 5 では、4・5階層と、
Nの数によって、階層が異なってくるから難しい

Nが幾つでも、ループの階層が同じになるように、作らなければならない
726611
垢版 |
2018/04/12(木) 10:59:42.57ID:T93bDVFD
>>611
Ruby で作った

DIGITS = [4, 5] # number of digits 桁数
# 答え、567, 1,215

DIGITS.each do |digit|
count = 0
wrapper = Array.new digit - 1
# [*0..9] で、配列にする
[*0..9].combination(2) do |ary|
(digit - 1).times { |i| wrapper[i] = ary }

# 先頭が0 のものと、1つの数字だけを使ったものを排除する
# *wrapper で、外側の[ ] をはずす
count += ary.product(*wrapper)
.reject { |item| item[0] == 0 }
.reject { |item| item.uniq.length == 1 }.length
end
puts count
end
2018/04/12(木) 12:56:22.91ID:nAeVzt+r
>>611の通りに単純な数値計算をすればいいだけ
2018/04/12(木) 13:52:20.61ID:T93bDVFD
数学で解くのと、プログラミングで解くのは、異なる。
理論と実践。机上と現実

両方で解いて、確かめたものだけが、現実でも正しい
2018/04/12(木) 14:01:35.93ID:1gf/4w6V
うん?つまりコンピュータが存在しない時代の数学者はすべて間違えていると?
2018/04/12(木) 14:03:11.18ID:nAeVzt+r
簡単すぎる性質を使わないのはバカだと思う
N=10000の場合は?
2018/04/12(木) 21:33:52.89ID:mVSzUkBa
>>710は要するにN=197が無い
ttps://ideone.com/wVBe61
このリストで初めての欠品がN=197だ

N=197は計算しきれないような余りにもバカでかい円になるのか、そもそも数学的に存在しないのか、円が存在できないのか、分からない
N=197の円が存在できないとすれば、無いものを延々と探し続けることになる

ついでに、例えばN=320ともなると、この円が数学的に本当に存在してるのか、
それとも計算の誤差でOKが出てるのか、分からない
2018/04/12(木) 21:44:36.64ID:1gf/4w6V
数学的にはどんなNの円でも存在する
http://mathworld.wolfram.com/SchinzelCircle.html
ただしこの計算で出てくる円は(一部のNを除き)最小ではない

円周上の格子点は整数で計算出来るから誤差はないし検算も難しいものではない
2018/04/12(木) 21:47:30.14ID:mVSzUkBa
へぇ……
もはや数式まであるのかよ
2018/04/12(木) 21:55:34.08ID:1gf/4w6V
ということで>>712が何を言ってるのかがわからんわけですよ
2018/04/12(木) 22:04:42.99ID:vJMR7aa5
円が存在することと最小値が存在することは全く別だがな
十分に大きいnに対してはその辺微妙だと思うんだけどどう?
2018/04/12(木) 22:10:25.49ID:1gf/4w6V
最小は存在はするだろ。
計算や探索で出た数値が本当に最小かどうかは(俺には)わからんが。
2018/04/12(木) 22:18:36.57ID:iYyApZ27
>>735
>>715
2018/04/12(木) 22:35:20.29ID:iYyApZ27
N個の格子点を通る円は、
x, y方向に1移動してもN個の格子点を通る為
原点を通る円に限定しても一般性を失わない

N≧3とする
原点を通りちょうどN個の格子点を通る半径r未満の円は、原点からr未満の距離にある格子点しか通らない
原点からr未満の距離にある格子点は有限個であり、この中からN個の格子点を選ぶ選び方も当然有限個
特定のN個の格子点を通る円は1個しか存在しない為、原点を通りちょうどN個の格子点を通る半径r未満の円も有限個である

よって、ちょうどN個の格子点を通る(半径rの)円が存在すれば、最小値は存在する
2018/04/12(木) 22:39:01.75ID:vJMR7aa5
おお、わかりやすいな、サンクス
740デフォルトの名無しさん
垢版 |
2018/04/12(木) 22:55:32.88ID:7+VvzBGk
この円の問題は何度も取り上げられるが
毎回うだうだと話が続くだけで何の進展もないみ
アプローチを変えてNを限定するとか
半径を整数にするとかしてみたら
2018/04/12(木) 23:53:08.79ID:1gf/4w6V
円問題、昔書いたコード探してみたがよくわからないことやってるから困る…
2018/04/13(金) 00:58:19.54ID:17c0MCsX
>>738
なにをグダグタ説明してるんだ?

> よって、ちょうどN個の格子点を通る(半径rの)円が存在すれば、最小値は存在する
なんてどうみても自明だろ
2018/04/13(金) 01:06:37.13ID:nIDp//XA
>>742
君はこの問題の格子点が「xもyも有理数の点」に問題が変わったとしても
「最小値が存在するのは自明」とか言っちゃう白痴君かな?
2018/04/13(金) 01:34:00.60ID:17c0MCsX
>>743
バカなの?
> よって、ちょうどN個の格子点を通る(半径rの)円が存在すれば
(ちょうどN個の格子点を通る)より小さな円がなければ半径rの円が最小
より小さな円が存在するなら同様に更に小さな円が存在するかを調べればいいだけ
有理数とか関係ないだろ w
2018/04/13(金) 01:35:49.41ID:prF5m/sZ
なん有理数の点が出てくるんだよw 全く関係ないだろ
2018/04/13(金) 01:38:36.55ID:nIDp//XA
ああ、本当に頭が悪いんだな
今からでも遅くないから解析学の教本くらい読んでおけ
2018/04/13(金) 02:01:41.10ID:prF5m/sZ
なんで格子点の問題を有理点の問題にしようとするん?
2018/04/13(金) 04:56:48.60ID:17c0MCsX
>>746
あっ、逃げた w
2018/04/13(金) 06:14:56.89ID:aQMXC5LV
【問】ある数字 n までの数列ローマ数字(I、II、III、…)にしたとき、
   最大の長さを持つ文字列を探す関数を書け。

例:
n = 5 のとき、{I、II、III、IV、V}、したがって最大は3。
f(5) = 3
2018/04/13(金) 06:32:40.44ID:EOEX1zZI
>>742
証明とは何か
学校で習わなかった?
2018/04/13(金) 06:34:53.76ID:EOEX1zZI
「最小値が存在するかわからん」
て言ってるやつへの説明として
「自明である」

馬鹿ですね
2018/04/13(金) 06:39:20.49ID:UkpF6ptq
>>750
なにを言いたいんだ?
証明なら>>744で充分だろ
2018/04/13(金) 06:42:13.54ID:UkpF6ptq
>>751
> 馬鹿ですね
お前がな w
2018/04/13(金) 07:46:29.65ID:EOEX1zZI
コミュ障ですか?
十分かどうかなんて説明する相手次第なんだよ
ポイントの>>715だけでわからないんだから詳細の>>738が必要だろう

>>744
証明の方針として全くセンスを感じません
回答としては0点ですね
まあじゃあ試しにその方針で証明してみてください
2018/04/13(金) 07:51:07.00ID:EOEX1zZI
類似問題としては
円を楕円、五角形などに変える例なんかが考えられますね

数学的センスがない>>744にわかるかな?
2018/04/13(金) 08:03:23.71ID:UkpF6ptq
センスとか言い出しちゃったよ w
まあ数学的な反論ができないことはわかった
2018/04/13(金) 08:28:27.40ID:tKNxGhVp
全く数学になってない>>744に反論するのは難しくないか?
2018/04/13(金) 08:30:51.82ID:tKNxGhVp
説明にも証明にもなってないし
証明の方針としても全く使えない
2018/04/13(金) 08:32:16.43ID:tKNxGhVp
っていうこと自体理解してない

試しにその方針で証明してみてください
2018/04/13(金) 08:40:12.04ID:UkpF6ptq
はい、逃げた w
2018/04/13(金) 09:03:55.52ID:NllHkTks
ポイントがわからない ===> 数学的知識の欠如
方針がトンチンカン ===> 数学的センスの欠如
わからない人に「自明」 ===> コミュ障

三重苦

数学的反論の対象が無いものを数学的に反論するのは無理ゲー
2018/04/13(金) 11:30:23.16ID:UkpF6ptq
結局数学的反論はできないってことな w
>>744のどこがおかしいか具体的に書いてから言えよ
2018/04/13(金) 11:43:09.54ID:/r/W22v1
解答候補となる円が有限個に絞れることを説明できていない
2018/04/13(金) 11:58:51.45ID:prF5m/sZ
どこに無限の候補があるのん?
765デフォルトの名無しさん
垢版 |
2018/04/13(金) 12:28:44.65ID:jVGeL/Sn
数学によるマウンティングをするスレができたと聞いて高みの見物に来ました
2018/04/13(金) 12:33:48.19ID:UkpF6ptq
>>763
なんで絞る必要があるんだ?
円が無限にあったとしても半径の最小値が存在するかどうかとは関係ない
2018/04/13(金) 12:37:25.51ID:prF5m/sZ
Nが2以上で半径の最小値が存在しない状態ってのがまずわからん。
N=0や1の場合で半径0を円として認めない場合、最小値が存在しないってのはわかるけど。
2018/04/13(金) 12:53:47.67ID:aZorcSvM
最小値が存在しないなんて主張をしてるのは>>712だけ
最小値が存在するという主張の根拠を聞かれてるのだから、素直に存在する証明をすれば良い

>>744は何の証明にも説明にもなってない
「他に小さいのがなければそれが最小値、小さいのが存在するならさらに小さいのを探す」
こんなものは今回の命題とは関係なく、全順序であれば最小値が存在しようがしまいが言えること
2018/04/13(金) 12:55:03.04ID:aZorcSvM
最小値が存在するというポイントを1個も押さえていないので
「ああ、数学が出来ない人だ」という感想が出るだけ
2018/04/13(金) 12:56:57.55ID:UkpF6ptq
>>768
> 全順序であれば最小値が存在しようがしまいが言えること
だからそれで十分だろ
2018/04/13(金) 12:58:12.86ID:UkpF6ptq
>>769
> 最小値が存在するというポイントを1個も押さえていないので
どこからそんな頓珍漢なことを思い付いたんだ? w
2018/04/13(金) 12:59:15.87ID:aZorcSvM
>>770
正の実数に最小値が存在する証明
「他に小さいのがなければそれが最小値、小さいのが存在するならさらに小さいのを探す」

結果に関わらず何にでも言えますねえ
2018/04/13(金) 13:08:03.29ID:prF5m/sZ
これ実数じゃなくて整数の問題だろ
2018/04/13(金) 13:14:40.36ID:/r/W22v1
>>766
それもそうだね、悪かった

ところで>>744のアルゴリズムが有限回で停止することは保証されてるのかな
あ、あくまで保証されてるかどうか知りたいだけなんでね
2018/04/13(金) 15:59:59.85ID:aZorcSvM
N=1, N=2であれば有限回では止まらない
N≧3であれば有限回で止まるのは>>738の通り
2018/04/13(金) 16:02:24.96ID:YbPyzhx1
誰か>>749のお題を解いて、このどうでもいい流れを止めて。
2018/04/13(金) 16:04:43.81ID:aZorcSvM
>>776
宿題?
2018/04/13(金) 16:25:54.51ID:QuE9cEqD
>>749 Squeak/Pharo Smalltalk

| f |
f := [:n | (1 to: n) detectMax: [:m | m printStringRoman size]].
f value: 5 "=> 3 "
2018/04/13(金) 17:07:07.08ID:fM9MxQQG
お題 五目並べ
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14188952404

C言語以外でも可能というか歓迎。
特にrubyなどで、ワンライナー的に(Javaでいうところのストリームを駆使)書くとエロいものとする
2018/04/13(金) 17:23:29.89ID:8A3ka/I4
>>779
サンプルコード出して
2018/04/13(金) 19:37:34.13ID:UkpF6ptq
>>774
無限に繰り返せるとしたら極限値は0になる
(単調減少だから)
しかし 1 < n で半径0はあり得ない
なので必ず有限回で停止する
2018/04/13(金) 19:40:28.93ID:UkpF6ptq
>>772
>>770

>>773
半径は整数とは限らない
2018/04/13(金) 19:51:14.28ID:prF5m/sZ
>>782
半径の二乗は有理数
整数倍して扱えばすべて整数として計算できる…んじゃないのん?
2018/04/13(金) 20:00:29.13ID:OxjSN83k
>>749
https://ideone.com/9avEMe
解が複数ある場合に全部出す
2018/04/13(金) 20:03:00.55ID:UkpF6ptq
>>783
できるかも知れん...
で、それがなにか?
2018/04/13(金) 21:09:21.72ID:VaA+ol0W
おそらく最小値は存在するんだろうけど
「1/2 + 1/3 + 1/4 + …」が収束すると思ってるようなレベルのアホがそれを主張することによって
最低限の数学的素養のあるやつらから総ツッコミされてるかんじだな
2018/04/13(金) 21:11:44.26ID:17c0MCsX
これまた頓珍漢なことを言い出したぞww
788デフォルトの名無しさん
垢版 |
2018/04/13(金) 21:15:38.41ID:+tvQkfv8
数学で論争になるって珍しくないか?
数学って証明されたらそこで議論の余地がなくなるよな。
2018/04/13(金) 21:24:20.06ID:17c0MCsX
>>788
すでに証明されてるのに有理数ガーとか無限の円とか必死になってる奴がいるだけ
議論じゃなくマウントとりたいだけなんだろうな
2018/04/13(金) 21:28:26.35ID:RiDqcW69
>>749 Squeak Smalltalk で複数ある場合ぜんぶ返す版

| f |
f := [:n |
| max ans |
max := 0.
ans :=#().
(1 to: n) do: [:m |
| roman |
roman := m printStringRoman.
roman size = max ifTrue: [ans := ans, {m}].
roman size > max ifTrue: [max := roman size. ans := {m}].
].
ans size = 1 ifTrue: [ans first] ifFalse: [ans asArray]
].
f value: 5. "=> 3 "
f value: 1887. "=> #(888 1388 1788 1838 1878 1883 1887) "
2018/04/13(金) 21:42:23.87ID:EOEX1zZI
>>789
>>744が証明になってない
っていう話だぞ

存在する証明は>>738参照
これが証明

>>781
単調減少の実数列の極限が1になることも100になることもあるわけだが
当然有限回で終わらないこともある
例えばN=2の時は無限回続くことがある
N≧3の場合は>>738により有限回であることがわかるというだけ

数学の基礎がわからない人が数学の専門家に数学に関する意見を言うとはなかなか
2018/04/13(金) 21:45:58.60ID:17c0MCsX
>>791
> 単調減少の実数列の極限が1になることも100になることもあるわけだが
で、それが最小値がないこととなんの関係があるんだ?
2018/04/13(金) 21:48:26.76ID:nIDp//XA
マジで阿呆だな
下に有界かつ協議単調減少だからと言って最小値が存在するとは限らないのだよおバカさん
2018/04/13(金) 21:49:16.12ID:17c0MCsX
>>793
具体例よろしく
2018/04/13(金) 21:50:16.77ID:EOEX1zZI
>>792
関係ないことを理由に最小値が存在すると主張している人がいるので
2018/04/13(金) 21:51:12.93ID:EOEX1zZI
a_n = 1 / n
2018/04/13(金) 21:51:53.12ID:nIDp//XA
は?
f:{x:x∈R∧x>0}→R, f(x) = 1/x を考えれば自明だろ 本気の阿呆かよ
2018/04/13(金) 21:53:20.26ID:EOEX1zZI
協議単調減少?
2018/04/13(金) 21:54:30.00ID:nIDp//XA
狭義単調減少ね。誤変換は許して
2018/04/13(金) 21:57:30.91ID:EOEX1zZI
>>797
ん?
なんで列の話をしてるのにxが実数?
2018/04/13(金) 21:58:43.94ID:g6ntk2/w
あぼーんの連続w
2018/04/13(金) 22:01:36.65ID:nIDp//XA
>>800
族集合の濃度が高々?な集合に関して証明すれば十分なんだから実数関数について言及したところで何も問題ないよね?
むしろ十分正の説明としては申し分ないと思うのだが
2018/04/13(金) 22:03:22.81ID:EOEX1zZI
>>802
落ち着け
2018/04/13(金) 22:07:41.91ID:EOEX1zZI
十分正

族集合とか濃度とかどうでもいい
列の話をしてるんだから素直に列の例を出せばいい
一般化する必要もない
アホに対して一般化しても無意味
2018/04/13(金) 22:09:53.15ID:nIDp//XA
ごめんね、十分性ね
「アホに対して一般化しても無意味」ってのは同意だからこちらがスノビズムな嫌いがあったなら謝るよ
2018/04/13(金) 22:11:33.83ID:EOEX1zZI
「スノビズム」とか言っちゃうところがスノビズム
2018/04/13(金) 22:34:53.35ID:gix7qj2o
可算集合と非可算集合では濃度が違うから証明にならないという主張かも知れん
というかここ数学スレだっけ?
2018/04/13(金) 22:57:38.87ID:fORiWt/O
みな数学好きなんですね、うらやましい…
2018/04/14(土) 08:27:58.74ID:RfMyagEm
>>779
https://ideone.com/f4aEQv
普通に実装してみた
2018/04/14(土) 09:02:56.59ID:03TSbAgN
>>749
@Mathematica

https://ideone.com/uEPG3P
811デフォルトの名無しさん
垢版 |
2018/04/14(土) 21:11:32.49ID:mas7mILb
>>451 J
(#:i.2^10)#"1'9876543210'
2018/04/14(土) 21:30:22.59ID:8vcIM0Ev
>>811
何これ興味ある
813デフォルトの名無しさん
垢版 |
2018/04/14(土) 21:34:41.56ID:Z+3xnQ4k
デザインパターンをインターフェースから説明した良心的なブログ

https://blogs.yahoo.co.jp/kamyu_2010/35417803.html
814デフォルトの名無しさん
垢版 |
2018/04/15(日) 16:50:03.82ID:xmTgJNlw
長方形を田の字型に4つの長方形に分割したら
左上の面積が253
左下の面積が115
右下の面積が155になった
右上の面積はいくつか?
815デフォルトの名無しさん
垢版 |
2018/04/15(日) 16:58:12.07ID:NqrSXbP9
253=23*11
115=23*5
155=31*5
2018/04/15(日) 17:00:37.86ID:NqrSXbP9
お題 半素数を小さいものから200個挙げて
2018/04/15(日) 17:04:46.37ID:bKUHpU4e
素数を200個求める
積を列挙
ソート
2018/04/15(日) 17:19:22.18ID:NqrSXbP9
素数を求めなくてもできるよ
2018/04/15(日) 18:07:04.68ID:Fl02/9ft
数学板でやれ
2018/04/15(日) 18:11:02.11ID:NqrSXbP9
>>814
数学板でやれ
2018/04/15(日) 19:29:19.74ID:CIuag2/D
>>815
なんで整数限定なんだ?
単なる比率の問題だぞ
2018/04/15(日) 20:08:36.50ID:uWituoMu
>>821
整数かどうかに関わらず253*155/115で一意的に答え出るんだからただの算数
2018/04/15(日) 20:12:02.04ID:qw72cACc
>>821
253:x=115:155
x=341

整数で十分だけど?
824デフォルトの名無しさん
垢版 |
2018/04/15(日) 20:16:25.14
算数板でやれ
2018/04/15(日) 20:29:51.65ID:CIuag2/D
>>822-823
比率の問題って書いてあるのに指摘の意味もわかってないのかよ w
2018/04/15(日) 20:32:49.64ID:NqrSXbP9
指摘が適当じゃないからでしょ
2018/04/15(日) 20:35:30.23ID:uWituoMu
>>825
だから答えが一意に決まるんだから素因数分解して自明な解を提示したレスに難癖付けるのはバカだっつってんの
2018/04/15(日) 20:40:17.66ID:CIuag2/D
>>827
たまたま素因数分解できるからいいだけで常に使えるわけじゃない解法示す奴は頭悪いと思われてもしょうがない
しかも単なる算数レベルの問題だしな w
2018/04/15(日) 20:41:46.95ID:vNL79cRV
で、お前らはいつになったらプログラミングをするんだ?
2018/04/15(日) 20:45:57.62ID:uWituoMu
>>828
日本語読める?
「解法を示す」じゃなくて「解を提示した」っつってんだけど
解の一意性は明確なんだから簡単に解を提示すれば
それで十分性を満たしていると同時に必要性も満たしてるんだけど
重箱の隅にもならないクソみたいな指摘してんだから突っ込まれて当然でしょ
2018/04/15(日) 20:54:58.94ID:GeThIANt
>>779 Squeak/Pharo Smalltalk

https://ideone.com/43b7Uk
2018/04/15(日) 21:05:23.77ID:CIuag2/D
>>830
解と言い張るならなら答えだけ書けよ
言い訳にしてもダサすぎるわ w
2018/04/15(日) 21:10:51.18ID:uWituoMu
>>832
初めは「なんで整数限定なんだ?」というアホな主張しておいて論点すり替えないでくれよ
剰えこっちは>>822で答え書いてるんだけど文字読めないの?なんなのこいつ
2018/04/15(日) 21:35:40.74ID:CIuag2/D
>>833
因数分解してどやってたアホがいたからな w
ひょっとしてアンカーも見れないのか?
2018/04/15(日) 21:49:46.05ID:NqrSXbP9
なにやら揉めてますね
さて、次のお題どうぞ
2018/04/15(日) 23:35:46.74ID:sXJBpbWg
>>818
そりゃできるだろうねえ
だから何?

先に素数を求めた方が処理が速そうだと思ったわけだが
求めないで求めめ欲しければ>>816に書きなさい
2018/04/16(月) 00:40:40.93ID:0r0tOoJV
いい加減プログラミングらしいお題出してよ
838デフォルトの名無しさん
垢版 |
2018/04/16(月) 07:54:19.83ID:sVtsCMAa
>>837
プログラミングらしいお題なら、すでに>>779にあるよ
回答はRuby(>>809)とSmalltalk(>>831)しかないけどね

組織の中で働き者は全体の1割しかいないと言われているけど、
このスレでも見事に再現されていてワロタ
2018/04/16(月) 08:39:56.02ID:lrRTONI/
>>836
>>817-818で完結したのでこのお題は終了です
回答ありがとうございました
2018/04/16(月) 08:56:27.76ID:ZFIHRn8x
おう先生によろしくな!
2018/04/16(月) 09:21:55.35ID:F4Ovhl4T
気分転換にどうぞ

お題:与えられた迷路図の通路幅を2倍にした迷路図を作成する

入力例
#.#..
.#..#
.#...
..##.
###..

出力例
##..##....
##..##....
..##....##
..##....##
..##......
..##......
....####..
....####..
######....
######....
2018/04/16(月) 09:22:29.79ID:lrRTONI/
はい、次どうぞ
2018/04/16(月) 09:38:08.21ID:JqHYG+3X
>>841 ruby
$<.read.split.map{|s|[s.gsub!(/./,'\&\&'), s]}*$/
2018/04/16(月) 11:16:53.07ID:1KO8LMUv
お題: あみだくじが与えられる
あみだくじは'|','-',' 'の3つで構成されている
スタート地点が左からn番目、ゴール地点が左からm番目と与えられた時、横棒を追加することでゴールに向かう為の最小の本数を答えよ
なお解が存在しなければ-1と答えよ
横棒の高さを半分ずらして設置や長さ2以上の横棒などは禁止とする

入力例
1 4
| | |-| |
|-| | |-|
| | | | |
|-| |-| |
出力例
1
2018/04/16(月) 11:30:39.95ID:rl+JKxfh
同じ高さの横棒は隣接しないということでいいのかな?
2018/04/16(月) 12:23:47.11ID:ZFIHRn8x
最小の、とか書くから数学のマウント合戦になるのでは?アミダくじを解け、でいいじゃん。出た解答の中で最小で出してるのがあったらその時点でスゴイスゴイ
2018/04/16(月) 12:33:28.31ID:rl+JKxfh
>>846
それおもしろい?
2018/04/16(月) 12:58:29.77ID:qlfABgAK
ニコリのナンバーリンク、スリザーリンクとか、
あみだくじ・電力網・鉄道経路・選挙区割り・正多面体の展開図とか、この本に載ってる

北大の湊真一の、ZDD。
Python, Ruby でも使える

超高速グラフ列挙アルゴリズム−〈フカシギの数え方〉が拓く,
組合せ問題への新アプローチ
ERATO 湊離散構造処理系プロジェクト・湊真一、2015

計算時間が何百億年も掛かるのが、数秒で解けた
「おねえさんの問題」で有名な、
湊真一の超高速グラフ列挙アルゴリズム ZDD
2018/04/16(月) 14:43:52.77ID:VE3/OCqi
>>846
1人頭が悪いのがいただけ
最小って言葉を使えなかったら問題に制約がつきすぎる
2018/04/16(月) 14:45:34.28ID:VE3/OCqi
もちろん>>844は(存在すれば)最小値が存在する
2018/04/16(月) 15:43:24.03ID:4eWg6WR3
なるほど、最小って条件は止めるか
条件を変えるわ
解がN通りある時、それぞれの解の本数をa_i(1≦i≦N)とする
この時、任意のi,j(1≦i,j≦N)に対しa_j-a_i≧0を満たすa_iを出力してくれれば良いよ
>>845 隣接しない
隣接したらあみだくじとして成立しないしね
852デフォルトの名無しさん
垢版 |
2018/04/16(月) 19:17:35.12ID:CKG1x9VY
>>841 J
2 echo 2&#;._2 stdin''
2018/04/16(月) 19:21:25.33ID:T6RcU2kF
>>851
よくわからん日本語だな
2018/04/16(月) 19:23:45.57ID:T6RcU2kF
多分最小を別の表現にしたつもりなんだろうけど
日本語がめちゃくちゃ
無理しなくて良いよ
2018/04/16(月) 19:31:45.75ID:gUfDVwYo
>>852
なにこれなにこれ
2018/04/16(月) 19:45:15.45ID:14bBH5UG
>>853-854
ここ数日、数学の知識全くないくせに噛みついてる無知はお前だろ
>>851は一般的な最小元の定義だろうが
2018/04/16(月) 20:06:21.68ID:w6kJX9+o
「任意のi,j(1≦i,j≦N)に対しa_j-a_i≧0を満たすa_iを出力」

意味がわかりません
2018/04/16(月) 20:08:00.59ID:yQIjKmTg
>>856
「任意の i, j」というのがおかしい、i を先に決定した上での「任意の j 」でいい
2018/04/16(月) 20:09:07.01ID:w6kJX9+o
一応私数学の専門家
2018/04/16(月) 20:15:07.59ID:yQIjKmTg
>>859
分野、ご専攻は何ですか?
2018/04/16(月) 20:17:49.89ID:w6kJX9+o
バレるので言わない
狭い世界なんでね
2018/04/16(月) 20:18:51.48ID:w6kJX9+o
駒場

とだけ言っておく
2018/04/16(月) 20:19:40.83ID:JqHYG+3X
>>862
アロハシャツの先生元気?
2018/04/16(月) 20:21:37.49ID:w6kJX9+o
ここまで
2018/04/16(月) 20:23:32.19ID:w6kJX9+o
回転寿司問題の高速ソルバーを作ったのは私
2018/04/16(月) 20:37:10.86ID:yQIjKmTg
>>859 >>861
一般ピープルが習得するとよい(大げさにいえば世界観が変わるような)数学の分野を教えていただければ嬉しいです
2018/04/16(月) 20:39:42.03ID:w6kJX9+o
集合論
2018/04/16(月) 20:59:44.33ID:gZF8UNgN
群論・環論

ごめん聞いたことあるような言葉を羅列してみただけ
2018/04/16(月) 21:07:23.11ID:8eszbiHC
お題
マイナンバーが一部欠けてしまった
?部分を補完して可能性のあるマイナンバーをすべて列挙せよ

[example 1]
99999999999?
=>
999999999996

[example 2]
??9999999999
=>
069999999999
179999999999
289999999999
399999999999
509999999999
619999999999
729999999999
839999999999
949999999999
2018/04/16(月) 22:11:04.19ID:NpxY1/hQ
摂動論とか難しいけどできたら気持ちいいだろうな
2018/04/16(月) 22:21:24.15ID:p2Ysyc3s
>>869 Ruby 全探索

A = (1..11).map{|i| i + 1 - i / 7 * 6}
%w[
99999999999? ??9999999999
].each{|s|
puts '', s, '=>'
10.**(s.count(??)).times{|i|
d = "%012d".%(i).chars
m = s.gsub(??){d.pop}.reverse.chars.map(&:to_i)
x = A.zip(m[1, 11]).map{|a, b| a * b}.sum % 11
puts m.reverse.join if (x == 1 ? 0 : -x % 11) == m[0]
}
}
#=>
99999999999?
=>
999999999996

??9999999999
=>
509999999999
619999999999
729999999999
839999999999
949999999999
069999999999
179999999999
289999999999
399999999999
2018/04/17(火) 03:09:26.43ID:pX2t5ilp
マイナンバーのチェックディジットを分かり易く解説しているページはないものかと探したらあったのでURL書いとく。
https://qiita.com/kmz_kappa/items/af18ac7b6b8bfe9041b0
2018/04/17(火) 10:02:17.20ID:XkVoPtoV
>>858 マジだわ、算数できない奴に噛み付いて自分がダメージ受けた
やはり数学で無理に語るべきではないな、専攻の情報の範囲だけにしとこ……
2018/04/17(火) 10:33:51.01ID:ePc5Lh3L
>>869 Squeak/Pharo Smalltalk

| check |

check := [:digitsStr |
 | digits checkDigit calcDigit |
 digits := digitsStr asArray collect: #digitValue.
 checkDigit := digits last.
 calcDigit := ((digits * #(6 5 4 3 2 7 6 5 4 3 2 0)) sum \\ 11
  in: [:x | x < 2 ifTrue: [0] ifFalse: [11 - x]]).
 checkDigit = calcDigit
].

#('99999999999?' '??9999999999') collect: [:incmpNum |
 | indices candNums |
 indices := incmpNum asArray collectWithIndex: [:chr :idx | chr == $? ifTrue: [idx] ifFalse: [0]].
 indices := indices reject: #isZero.
 candNums := OrderedCollection new.
 ($0 to: $9) asDigitsToPower: indices size do: [:digs |
  | candNum |
  candNum := incmpNum copy.
  indices with: digs do: [:idx :dig | candNum at: idx put: dig].
  (check value: candNum) ifTrue: [candNums add: candNum]
 ].
 incmpNum -> candNums asStringWithCr
]
2018/04/17(火) 13:45:56.41ID:dXM64r3I
>>865
回転すし問題が気になります><
教えてください!!
2018/04/17(火) 14:23:34.06ID:g5yHmTYu
自演乙。
2018/04/17(火) 16:49:46.20ID:KTfx2aCu
>>875

0296 デフォルトの名無しさん 2017/06/26 21:09:32

前にあったやつ。??

回転寿司にやってきた私は、コンベア上の寿司をすべて食べて帰ることにしている。??
コンベアは毎秒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" > ?
2018/04/17(火) 17:32:19.21ID:dXM64r3I
>>877
ありがとうございます
879デフォルトの名無しさん
垢版 |
2018/04/17(火) 19:05:05.39ID:S4fl8nYd
>>322 J
echo !23x
2018/04/17(火) 19:21:24.18ID:g5yHmTYu
>>879
どうなってんのこれ
2018/04/18(水) 00:46:46.99ID:fMrElfkf
お題
0〜N-1の数字を1つずつ使ったN進数表記でN桁の数のうち、最も多くの素因数を持つ数を求めよ

N=2
→10

N=5
→34210 (10進数で2430=2*3^5*5, 素因数は7個)

N=10
→???
2018/04/18(水) 00:56:38.62ID:JUjvxXNW
全てを探索
しかない気がする

N=14くらいが限度か
2018/04/18(水) 01:23:42.06ID:UfQjex1N
まーた数学の問題か。
まーたマウント取りたいセンセの荒らしか。
うんざり
2018/04/18(水) 03:59:26.48ID:Acg84ZKa
アルゴリズムと数学は切り離せないものだし数学が役立つ場面はもちろん多いんだけど、数学だけで完結しちゃう問題では、プログラミングのお題としては面白味がないよね。
むしろこのスレに的には悪問と言ってもよいと個人的には思う。

素直なプログラミングでは複雑になってしまうところを数学を使うことでスマートに解けるとか、逆に数学を使うことで全く別のアプローチの解法があるとかだと、面白いと思う。
必ずしも速い、安い、上手いが正義じゃなくて、そんな解き方もあるのねとか、それどうなってんの?と不思議に思えるような解法とかも見てみたいし、そんな解法が見られるお題が面白いと思う。
2018/04/18(水) 04:07:00.58ID:Acg84ZKa
追加すると、言語によって異なる記述能力や得手不得手を活かして上手く解いたとか簡潔に書けたとか、逆にわざわざそんな敢えて難しいやり方をするかとか、そういうのも面白いなと思います。
2018/04/18(水) 06:03:49.90ID:iqodOpJQ
数学で完結してんのかこれ
コンピュータ使わない解法思いつかんが
2018/04/18(水) 07:07:15.79ID:qlMtX02l
素因数の個数って何だっけ
互いに素な約数の個数なら、N=5の時33220(=2310=2*3*5*7*11)の方が多いし、素因数分解で出てくる素数の個数ならN=5の時31143(=2048=2^11)の方が多いし
私が文を読めていないだけ?
2018/04/18(水) 07:22:32.10ID:pdl2KQl9
ただ列挙して調べなきゃいけないとすると面白くもなんともない。
いい解を作ろうとすれば、できるかどうかはともかく
数学ひねり回すのだけがメインの仕事になるみたいな。
2018/04/18(水) 07:24:04.47ID:pdl2KQl9
>>887
0から4を全部使うという制約。
2018/04/18(水) 08:01:49.71ID:iqodOpJQ
J ブルートフォース

q =: >./&(+/&|:&(0&<)&q:&(#. (i.@! A. i.)))"0

iPhone の J インタプリタでは N=8 までが限界だった
q 2 3 4 5 6 7 8
1 2 6 7 13 10 16
2018/04/18(水) 08:02:43.21ID:JUjvxXNW
素因数の個数だと2^11は2の1個だけなんだけどなあ
例だと11個と数えたいようだけど
2018/04/18(水) 08:04:10.88ID:iqodOpJQ
9 も大丈夫だった
q 9
12
2018/04/18(水) 08:04:22.36ID:JUjvxXNW
>>888
数学ひねり回してどうにかなる気はしない
2018/04/18(水) 08:15:58.76ID:iqodOpJQ
>>891
問題の着目点に応じて相異なる素因数の数になるか重解を許すか解釈すればいいんじゃないの

そうしないと高校数学に良くある(このスレにも出てるな)
「n! の素因数2の個数を求めよ」の答えが恒等的に1になってしまう。
知らんけど。
2018/04/18(水) 08:33:43.28ID:CiWWe7S5
重解
因数

意味を知らんヤツが問題を作る
2018/04/18(水) 08:39:01.69ID:loM0N11v
重解じゃなくて重根な
2018/04/18(水) 08:40:26.67ID:CiWWe7S5
www
同じだろ
2018/04/18(水) 08:48:02.15ID:iqodOpJQ
いや重解は変換ミス
それに重複を許さない個数でも問題は成立するな、
良く考えると。
2018/04/18(水) 08:53:49.03ID:loM0N11v
>>897
解と根は本来、別の用語だよ
今はごっちゃに使われてるけど
2018/04/18(水) 09:55:28.20ID:8LhMtFC1
>>898
例を出さなかったらそれぞれの解釈が見れて面白かったかも

>>899
それで言い訳になってると思ってんの?
2018/04/18(水) 10:31:06.41ID:SkflZos/
自演乙
2018/04/18(水) 11:13:23.97ID:2HNL8zBg
>>889 Thanks、理解した
全探索しか思いつかなかったorz
903デフォルトの名無しさん
垢版 |
2018/04/18(水) 14:43:49.71ID:mfkhz8pH
>>816 J
200$(#~ 2&=@#@q:)2+i.1000
2018/04/18(水) 15:36:58.27ID:8LhMtFC1
このスレを見ると
世の中のソフトが重くなる理由がよく分かる
2018/04/18(水) 17:14:39.91ID:AXVF0Rxy
>>903
それ1000までの間に半素数が200個存在するってあらかじめ分かってなきゃ使えなくない
2018/04/18(水) 17:19:26.83ID:8LhMtFC1
あらかじめ調べておけばいい
どうせなら半素数自体もしらべてテーブルにしておけば
2018/04/18(水) 18:12:40.76ID:AXVF0Rxy
だから調べてテーブル作るお題やろ
2018/04/18(水) 18:20:10.32ID:8LhMtFC1
コンパイラが究極に進化するとそうなる
今でも純関数&定数指定にすれば
2018/04/18(水) 18:35:30.37ID:MXcoXWvI
究極に進化して、ある数を素因数分解しろとか離散対数求めろと言われたら、
何桁でもテーブルにあって即答ってか?
暗号死ぬわ。
2018/04/18(水) 18:51:51.73ID:8LhMtFC1
当然限度はある
当たり前
2018/04/18(水) 19:18:25.23ID:SkflZos/
君さ、ちょっと黙ってて
912デフォルトの名無しさん
垢版 |
2018/04/18(水) 20:18:15.86ID:mfkhz8pH
>>816 J
>>817のやり方で
/:~~.,*/~p:i.20
913デフォルトの名無しさん
垢版 |
2018/04/18(水) 23:38:59.46ID:BI6oaZDa
>>871
Kotlin
https://paiza.io/projects/BHMBjMpBsKkeWxw_1WxpQw
何も考えずに総当たり。7桁以上は多すぎるのでやらないようにした。
914デフォルトの名無しさん
垢版 |
2018/04/18(水) 23:39:47.19ID:BI6oaZDa
ごめん。アンカ間違えた。>>869だった。
2018/04/18(水) 23:57:26.29ID:+652BqLv
トップバストとアンダーバストがmm単位で与えられるので
JIS L 4006におけるカップ体型区分を出力せよ
なお、与えられた体系が当該規格の数値と一致しない場合は
最も差の少ない体型区分を選べ

-*- input -*-
880 815
999 799
755 480

-*- output -*-
AA
E
H
2018/04/19(木) 00:17:12.74ID:7EnHL2Zb
JISの抜粋はよ
2018/04/19(木) 01:14:32.58ID:AYGORpen
三人目、人間?
2018/04/19(木) 01:50:36.78ID:uvuGKqvu
>>915 Ruby
2018/04/19(木) 01:51:08.23ID:uvuGKqvu
ミス
>>915 Ruby

#!ruby -na
puts ['AA',*?A..?I][(eval($F*?-)/25.0-3).round.clamp(0,9)]
2018/04/19(木) 02:02:41.15ID:FEDLlhkO
Jアニキはよ
2018/04/19(木) 04:01:30.95ID:4mrmpy84
このスレは、素数表を使う問題が多い

一方、プログラミング・コンテストでは、自作ライブラリも持ち込めるから、
素数表・ZDD を持ち込んで、解けるような問題は少ない

数学的な解法がなくて、全探索して見つけるものが多い
2018/04/19(木) 09:28:13.47ID:/i49YDDr
じゃあここで出てる問題をまず最初にNP完全かどうかを判定すればいい
競技プログラミングに適している問題かどうかを証明してから、改めてプログラミングにあたる
2018/04/19(木) 09:46:04.07ID:6rKghp/7
出題者がPと証明してから出すのが筋だろ
2018/04/19(木) 09:51:24.98ID:4mrmpy84
プログラミング・コンテストの良問は、
持ち込みの自作ライブラリでは解けないもので、

素直に全探索すると、計算回数が1億回以上になって、2秒以内に解けないもの

ここで、パズル的に考えて、数学的な法則を使うことで、
枝切り・ショートカットして、計算回数が1千万回以下になるもの
925デフォルトの名無しさん
垢版 |
2018/04/19(木) 10:05:22.86ID:ffBaMipw
>>915 J
f=:{&(25#'AA'';;/'ABCDEFGHI')@<.@-&62.5&(-/)
2018/04/19(木) 12:09:31.59ID:2nanKMvG
>>925
分かりにくいのは毎度の事だが今回はあんまり短くもならないんだな。
2018/04/19(木) 20:55:00.88ID:WIjUPUdP
JアプリみつけたのでJで遊んでる初学者だけど
参考にするコード見つけにくい(少ない検索し難い読みにくい)から
>>925の人の存在は有り難い

見所はインデックスを25で割らずテーブルを25倍にしてるとこか
2018/04/21(土) 20:19:05.79ID:ZknFSnjD
お題:文字列の配列をカンマ区切りで表示せよ
複数の方法を用いること

ruby
https://ideone.com/cKprYN
2018/04/21(土) 21:12:35.96ID:nWGazij5
配列を、って言ってるのに%wでスペース区切りの文字列から作るの?
てかrubyの%wって何のためにあるの?
splitあるのに組み込みので提供するほどのもの?
他言語者からしたらsplitは分かってもらえると思うが%wは分からんと思うぞ?
やっぱ書くだけの書き捨て言語なんかな。
2018/04/21(土) 21:20:16.29ID:20hKSpui
>>928 common lisp

(let ((a '("java" "ruby" "rust")))
  (format t "~{~A~^, ~}~%" a)
  (princ (reduce (lambda ($0 $1) (concatenate 'string $0 ", " $1)) a))
)
; java, ruby, rust
; java, ruby, rust
2018/04/21(土) 22:20:27.52ID:6J3G0l4e
>>929
>てかrubyの%wって何のためにあるの?

まさに今回のような場合に配列リテラルを作るためのものだろ
各要素が所与なのになんでわざわざ繋いだ文字列リテラル書いてsplitしようとするの?
2018/04/21(土) 22:36:51.73ID:QInDazsH
>>928 ruby
puts a[0...-1].inject(''){|r,s| r << s << ',' } + a.last
puts a.inject(''){|r,s| r << s << ',' }.chop
puts a.map{|s| [s, ','] }.join.chop
b = a.join
a[0...-1].inject(0){|r,s| r += s.length + 1; b = b.insert(r-1, ','); r }
puts b
2018/04/21(土) 22:45:40.32ID:QInDazsH
>>929
Perl だと
@week = qw(Sun Mon Tue Wed Thu Fri Sat)
2018/04/21(土) 23:51:06.09ID:Ktcilsrm
>>931
今回のような??
今回の問題文、「文字列の配列をカンマ区切りで表示せよ」ってなってんだが…
スペース区切りの文字列から始めてどうする。
それじゃ%wで配列にするまでもなく正規表現でスペースをカンマに置換すればいいじゃん。
935デフォルトの名無しさん
垢版 |
2018/04/22(日) 02:37:42.05ID:J/MYnpG1
>>928
Kotlin
https://paiza.io/projects/ZW2Hjc9tfnlrMwqvblaKlw
文字列は1行づつ入力から読んで MutableList に add して終わったら Array に変換して文字列の配列にしている。
2018/04/22(日) 02:46:31.80ID:9vFMU6Rd
>>928 javascript

var langs = ['javascript', 'python', 'go']
console.log(langs.join()) //ES5
console.log(langs.reduce((acc, elm) => `${acc},${elm}`)) //ES2015
langs |> ary => ary.join() |> console.log //ESNext
console.log((langs + ',').slice(0, -1)) //ES5
2018/04/22(日) 03:13:36.97ID:9vFMU6Rd
一番かんたんなの忘れてた
console.log(langs.toString())
console.log(langs + '')
console.log(`${langs}`)
2018/04/22(日) 03:19:59.16ID:9vFMU6Rd
console.log(String(langs))
langs |> String |> console.log //ESNext
2018/04/22(日) 06:29:12.88ID:xtwb4rw1
>>928 Squeak Smalltalk

| arr |
arr := #(java rust ruby).
arr asCommaString. "=> 'java, rust, ruby' "
arr asCommaStringAnd. "=> 'java, rust and ruby' "

String streamContents: [:ss |
arr do: [:each | ss << each] separatedBy: [ss << ', ']
]. "=> 'java, rust, ruby' "
2018/04/22(日) 10:27:04.31ID:H/AU6k7y
>>928
join一発でできるようなことをわざわざ問題にするなよ...
2018/04/22(日) 12:09:53.80ID:q7xT1ItO
誰かにコードを教えてもらう為に「お題」と言ってるだけじゃね?
2018/04/22(日) 13:43:01.03ID:RVJCTQ5T
不快に思うなら取り組まなきゃいいだけ
2018/04/22(日) 13:54:40.34ID:teaX0R9Y
サムダウンボタンがあったら容赦なく押していたよ
2018/04/22(日) 13:57:18.11ID:6NfC/koQ
数学センセが嫉妬かみっともない
開口の広いお題が繁盛すんのは当たり前
2018/04/22(日) 14:03:07.52ID:vUs8xFXM
餌ならなんでも構わない卑しい豚だからでは?
2018/04/22(日) 15:12:26.16ID:6BdKES38
そろそろ次スレの予感
947デフォルトの名無しさん
垢版 |
2018/04/22(日) 15:37:13.02ID:J/MYnpG1
>>841
Kotlin
https://paiza.io/projects/IMnM2t1z4XvL1y3JtdIScg
948928
垢版 |
2018/04/22(日) 15:38:01.72ID:tE7JnHSh
蛇足で無粋でしょうけど寸評をもってお礼に代えさせて下さい

寸評:
>>930 素早くreduce拾って下さったのと、コードのリズム感が目に優しくてすこ
formatたる謎の戦法も興味深い
>>932 chop戦略を出して下さって感謝。bを使ったほうはフフッときた
>>935 Kotlinのコードいつも楽しく拝見してます
「先頭別で、二個目からカンマくっつけ戦法」出してくれて感謝
>>936 joinでカンマついちゃうのが他言語から見たら興味深い
>>939 いつも楽しく拝見してます、相変わらずギョッとさせられる
じつは当初、andつきのほうをお題にしようかとも迷いましたが
不要な複雑さを持ち込んでしまうと危惧して止めたんですがさすがのSmalltalk

総評:
joinでの解決一個だけで回答されるのが一番つまらないので
それを暗に防ぐために複数の方法っていう指定をした
二番目三番目の方法となると、見てて楽しい、言語ごとの工夫が見えてくる
おまえらありがとう
949デフォルトの名無しさん
垢版 |
2018/04/22(日) 15:42:18.97ID:J/MYnpG1
そういや昨日本屋に行ったら「C言語による標準アルゴリズム事典」が売られてて、うわー懐かしいまだ売ってたのかこれ
と思ってよく見たら今年出たばかりの第2版だった。

[改訂新版]C言語による標準アルゴリズム事典 Software Technology
http://amzn.asia/bjcCLfp

この本はある意味お題になりそうな問題の宝庫ではないかと思う。
2018/04/22(日) 15:52:17.03ID:LFntnsZQ
まだJニキの回答が来てない…
2018/04/22(日) 15:57:34.72ID:bjDlbJPk
>>949
おう!
pascal 版を見たことがある、と思ってたんですが、気のせいだったのかな?
2018/04/22(日) 17:34:57.39ID:xCJicIF5
>>939
その文字列化メソッドの充実っぷりはすごい
953デフォルトの名無しさん
垢版 |
2018/04/22(日) 18:31:51.83ID:J/MYnpG1
>>951
それはおそらくこれだな。著者は同じ奥村さんだ。

Software Technology 12 コンピュータアルゴリズム事典
http://amzn.asia/b82A7jP

こちらは Pascal なので再販されそうな感じがしないね。
2018/04/22(日) 19:36:01.52ID:YjWQK7FP
[[['[] ]]] { {] ]][ '[][][] [][] [][][]  [] '[] []
2018/04/22(日) 19:59:42.16ID:bjDlbJPk
>>953
thx!
956デフォルトの名無しさん
垢版 |
2018/04/22(日) 21:54:24.98ID:DtOQlBfz
お題

再帰関数を使ってC++で次の問題の会を出すプログラム書いたんですけど、なんかミスばっかでダメなので、だれかどういうプログラム書けばいいのか教えてもらえませんか?

九つの椅子が正方形に並んでおり、はじめに数字の書いた札を持った何人かが座っているとする


○○5
○9○
12○

さらに他にも何人か数字の書いた札を持った人がいて、その人たちが空いてる席に順番に座って行くとする
全員座った後、それぞれの点数を数えるとする、ただし点数は前後左右の人が持ってる札の数字を足し算する


○○5
○9○
12○
で 3さん→4さん→7さん とすわり
○75
493
12○
となった、9の点数は7+4+3+2

この時、それぞれが自分の点数を最大になるように座ったら最終的にはどういう配置になるでしょう?ただし
・それぞれは座る順番を知っている
・その次に座る人達がどこに座るかまで考慮に入れて考える
・自分以外の点数は気にしない
・誰もいないところは0
・次の人が何箇所か座る候補があり絞れない時は常に予想図の最小値をとって考えるとする、つまり極端にリスクを恐れる
2018/04/22(日) 22:21:48.98ID:l7RA/Oa5
>>702
宿題は自分で解くから価値があるんだよ
2018/04/22(日) 22:38:26.14ID:7GS5N7oQ
自分より後の人のならび順、番号、人数はわかっている?

全員が天才で、その事を自分は知っている?
2018/04/22(日) 22:39:06.13ID:bjDlbJPk
>>957
このスレでそんな発言に意味があるのかな?
お題として面白ければ回答がつくだろうし糞だったら回答はつかないし、少なくともそれが宿題かどうかは関係ない
2018/04/22(日) 22:47:33.55ID:7GS5N7oQ
みんなが宿題を「お題」としてあげはじめたら
糞「お題」率が上がる

糞「お題」ばかりだとおれはこのスレを見なくなるだろう
2018/04/22(日) 22:56:47.60ID:l7RA/Oa5
>>959
宿題を書く奴は問題の解き方を理解できていないので、
ここに書かれる問いは「不完全な」問題になる。

お題として不適切なんだから、スレ違い
2018/04/22(日) 22:59:00.47ID:bjDlbJPk
>>960
宿題問題がすべて糞お題とは限らないだろう?
問題が宿題かどうかは問題ではなくて、問題が糞お題じゃなくて良問かどうかだろう?
2018/04/22(日) 23:01:16.13ID:bjDlbJPk
>>961
確かに宿題お題を出そうとする人間は、その問題が良問かどうかの判断すらできないから、必然的に「不完全な」出題になる傾向にある、というのはいえるかもしれないね
2018/04/22(日) 23:09:15.49ID:7GS5N7oQ
>>962
率の話

女は会社を辞める率が高いとか
黒人は犯罪率が高いとか
2018/04/22(日) 23:13:50.93ID:h9VBvdWZ
何のために宿題スレから分離したんだよ
2018/04/22(日) 23:19:32.66ID:bjDlbJPk
>>964
実は、出題者は(それが一部にせよ)教育的意図を抱いて問題を作成しているのだから、宿題問題には良問題が少ないとはいいきれない、と考えている
宿題問題でもそれが良問であれば、このスレで取り上げられてもいい、と思っている、まあ、ここんところは私見だが
で、ついた回答の多寡でこのスレの意志がある程度あらわされるんじゃないか、あからさまな宿題問題だったらこのスレでは回答はつかないからね

だから >>957 のようなことを書く人の考えていることがわからない、というか、>>957 は何も考えずに言葉のオートマタ(自動機械)的にレスを書いているんだね
そりゃなにも考えていないんだから、「考えていることがわからない」のも道理だと思いました
2018/04/22(日) 23:30:42.42ID:9Np5N8Zp
ふーん、でムーミン谷はどこにあるの?
2018/04/22(日) 23:31:41.45ID:7M0SJ8xj
>>966
お前の方こそ>>957がレスしてる元の流れを読まずにレスしてるオートマタでないか?
2018/04/23(月) 00:36:44.58ID:TheGSrgB
>>966
出題スレで「教えて下さい」「これ解いて下さい」等という感じの

「本人が問題の肝を理解していない」

ものに関しては須く「宿題は自分でやれ」と回答するのが出題スレだと思うが。
宿題なのか自作アプリで詰まってるのか知らんけど
出題スレで質問が許容されると他の人も懸念してる通り。
2018/04/23(月) 01:01:35.25ID:zSvvNM2R
問題が不完全だと思ったら好きに解釈して条件を決めて答えるのがこのスレ
宿題スレじゃないので出題者の意図・期待はどうでもいいからうっちゃって
面白そうだと思えば回答するのみ
2018/04/23(月) 01:41:00.51ID:Lxhtz3Yj
>>968
流されずに良く読んでるな
注意深いw
2018/04/23(月) 01:57:48.83ID:vGDXyrLu
>>969

>出題スレで質問が許容される
と糞お題が増える」
という懸念は、
このスレの性質上必然的に淘汰されるので、一時的に勃興したとしても、自然になくなるのでは?
必要のない縛りはない方がいい

>>971
>>968 は感心するほど注意深いね…
2018/04/23(月) 06:31:57.22ID:lnjW6wzS
「必要のない縛り」とは思ってない

「お題」スレであり質問スレではない
スレチを許容してたらスレの質が下がるのは明らか
2018/04/23(月) 06:33:05.46ID:lnjW6wzS
宿題は宿題スレがあるのでそちらへ。
2018/04/23(月) 09:49:33.46ID:7KuSA8wR
スレチが許されるなら数学の話も許されるはずだね
ましてや出題に関連した数学ならスレチとも言えないはずだが
2018/04/23(月) 10:42:43.85ID:n8Ml8Rp3
このスレで宿題が許容されたら宿題スレの存在意義が無くなるんでないか?
実質、スレタイの違う宿題スレが二つあるようなものなのでは?
2018/04/23(月) 11:00:07.86ID:7mKpSOdS
宿題にも良問があるかもと思う奴が自分で宿題スレを覗いて良問を待ってればいいだけの話で、このスレでは宿題は一切禁止でいいと思う。
2018/04/23(月) 13:39:48.59ID:jMm7sVs3
漏れは、数学的な問題や、宿題は解かない

プログラムの問題しか解かない
2018/04/23(月) 14:26:32.44ID:jMm7sVs3
>>956
すべての空席に、自分が座ったとしてループする

自分の前後左右が埋まるまで、ループする。
ただし、最終の人まで

次の人から、最後の人まで、ループする。
全通りを調べて、各人の次の人が、何箇所か座る候補があるときは、
最小値を、各人が選んだ、座席の値として使う
2018/04/24(火) 00:03:07.86ID:GlvNukAo
>>928 Perl
$ cat 10_928.pl
@s = ('java','ruby','rust');
$" = ',';
print "@s\n";

$ perl 10_928.pl
java,ruby,rust

簡単すぎる気が…
なんかオレ、出題意図を誤解してる?
2018/04/24(火) 00:17:11.44ID:RoXKv00p
あってんじゃねーの
joinを使うとおもしくないとか言ってるヴァカだし
無視していいんじゃね

出題意図を誤解できないように厳密に明文化する能力がないアフォだろ
それかわざと誤解するような引っかけ問題作ってるキティガイだ
2018/04/24(火) 00:21:58.25ID:GlvNukAo
まぁまぁ。
複数の方法と書いてあるし、
配列としてindexアクセスしてprintsするとか、
他の意図があるかと最初オモタ
2018/04/24(火) 00:29:59.28ID:RoXKv00p
>>948を見てみろ、
評論家気取りで
>joinでの解決一個だけで回答されるのが一番つまらない
とか言ってるぞ

だから>>980、お前はこのヴァカのなかでは最高級につまんねー人間だよ
どれだけヴァカがヴァカなことをするかほくそえんでるクソ野郎の出題だよ

出題意図は「joinだけで書いたヴァカをヴァカにすること」、それ以外は読み取れない
相当な悪意があると気付かねーの?
2018/04/24(火) 01:23:08.86ID:GlvNukAo
>>982
まぁまぁ、その経緯は知らなかったけど、そんなに腹立てないで。
本気になるべきもっと大事なことは他にある。

本音を言うと >>980 よりもっと短いゴルフっぽいコード書いて遊ぼうかと一瞬考たけど、
小学校の演習にもないような文字列リストのカンマ区切り印字
そこまで考える値打ちのかったのでやめといた。
2018/04/24(火) 01:33:15.52ID:GlvNukAo
実は、>>980 を書いた意図は、

>>928 は 別に頭を使ってプログラムロジックを書かなくても、
printがリストを印字する区切り文字設定の変更で出来ることであり、
プログラミングのお題としての意義がそもそも乏しい
みたな そんなつもりだったし テヘペロ
2018/04/24(火) 14:50:43.11ID:1HH7nATC
joinだけだとつまらんなら出題時に禁止しとけばいいだけだし、確かに性格悪いな
2018/04/24(火) 17:14:39.22ID:73+jN4z4
「○○禁止」は多言語で回答を出し合う場では忌み嫌われるから逆に避けたのでは?

「各要素列挙の間隙に何か処理を挟む」とか「最初(あるいは最後)の要素だけ例外扱いで列挙」とかにして
なおかつ、joinでは対処できないお題にすべきだった
2018/04/24(火) 18:17:50.56ID:GZnIDV7t
>>928 Ruby
puts a.to_s.tr(' "[]','')
puts a*','
2018/04/24(火) 18:39:57.08ID:b5LehDYo
お題:与えられた文字列を逆順にして出力する関数を定義しなさい。ただし、関数の呼び出しに十回に一回は失敗し、失敗した場合は文字列をランダムにシャッフルするようにしなさい。
2018/04/24(火) 18:42:05.36ID:b5LehDYo
>>989
訂正
十回に一回は失敗し ×
十回呼び出したら必ず一回だけ失敗し ○
2018/04/24(火) 18:57:32.71ID:Z38nK4yz
>>989 Ruby
#!ruby -nl
puts $.%10>0?$_.reverse: $_.chars.shuffle*''
2018/04/24(火) 20:20:47.08ID:tVrbZG5O
>>988
下の奴面白いな
2018/04/24(火) 20:45:31.97ID:ZY7R7Sru
次スレ
プログラミングのお題スレ Part11
https://mevius.5ch.net/test/read.cgi/tech/1524570314/
2018/04/24(火) 20:47:00.89ID:ZY7R7Sru
httpsでアクセスできるサイトはhttpからhttpsに変えちゃったけどええよな?
2018/04/24(火) 20:47:56.37ID:WimzHme9
変わって いいとも
2018/04/24(火) 20:58:59.68ID:Ukt80uX+
>>928 は素直に「各言語の特異な機能、面白機能を使って書け」で良かったような
Smalltalk のは雑学的な意味でちょっと面白かった
997デフォルトの名無しさん
垢版 |
2018/04/24(火) 21:19:31.99ID:uZzZxl43
>>989-990 Common Lisp
https://ideone.com/b0FSMR
2018/04/24(火) 22:08:49.37ID:WimzHme9
>>997
これは面白いね
2018/04/24(火) 22:09:20.74ID:WimzHme9
>>997
これは面白いね
2018/04/24(火) 22:10:08.04ID:WimzHme9
ごめん、ダブった

次スレ
プログラミングのお題スレ Part11
https://mevius.5ch.net/test/read.cgi/tech/1524570314/
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 113日 10時間 55分 4秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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