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

■ このスレッドは過去ログ倉庫に格納されています
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(月) 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
アルゴリズムはフリーだよな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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