X



プログラミングのお題スレ Part10
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん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/

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

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

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

加工後(例2):
https://i.imgur.com/pkLBsWi.png
0004デフォルトの名無しさん2018/01/01(月) 14:39:59.78ID:U26F8/ie
>>2
丁度それ俺も作ろうと思っていたところだが、丸とか点とか括弧とかどうしようかと思って、丁度いい文字ある?
(とりあえず考慮せずに横を縦にするだけのを作ろうとは思うが)
0010デフォルトの名無しさん2018/01/02(火) 09:36:50.18ID:8EboTxzh
>>9
おお!凄い。そうやるとあのフレーム内に画像で出せるのか。知らなかった。
0011デフォルトの名無しさん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
これも技巧的な方法を求む。
0012デフォルトの名無しさん2018/01/04(木) 09:10:58.18ID:PjOI7aHa
うがー、曲線制御難しい。
https://ideone.com/F4QHpF
細かいところが近似しない。ダメだこりゃ。
ちょっとどんな曲線か一回プロットした方がイイなこれ。
細かい係数のつけかたがよくわからん。
0014デフォルトの名無しさん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
0019デフォルトの名無しさん2018/01/05(金) 11:55:15.13ID:cHsd4Bik
近似式発明したんだろうけど、よくできたなぁ。
俺はさっぱりだったよ。
0020デフォルトの名無しさん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))
あとは愚直に調整しただけ
0021デフォルトの名無しさん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))
0022デフォルトの名無しさん2018/01/05(金) 17:36:54.10ID:XwioZimh
定義が等比数列を丸めたものなんだから、等比数列で近似するのが妥当ということか
002311'2018/01/07(日) 12:51:35.88ID:ItKItkim
f(n+24)=10*f(n)
及び
g(10*m)=24+g(m) 但し m>0
を満たす様に修正(多分そんなに難しくない筈)。
0025デフォルトの名無しさん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
0033デフォルトの名無しさん2018/01/13(土) 00:20:54.58ID:ZTdbWh7g
. ←鹿の糞
0037デフォルトの名無しさん2018/01/14(日) 14:04:24.59ID:yhrEjmBP
前のやつだが、答え、もしくは決定版といえるコードは出てきてないとおもうんだが・・・


自然数Nに対して、平面上の円でその円周上の整数点がちょうどN個となる円の最小半径を求めよ。
0041デフォルトの名無しさん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]
0042デフォルトの名無しさん2018/01/14(日) 20:06:11.72
追記ですが >>1-10000000000000000 とかの処理過程でバカデカいメモリを使うことがないようにしてほしいです。(スレの趣旨に反するけどnode.jsで実装できるものがいいです)
0043デフォルトの名無しさん2018/01/14(日) 20:30:18.16ID:OECcG/Oa
>スレの趣旨に反するけどnode.jsで

あっ・・・
0044デフォルトの名無しさん2018/01/14(日) 20:43:19.38
node.jsにもある関数やデータ構造だけ使っていれば言語は何でも大丈夫です
0052デフォルトの名無しさん2018/01/15(月) 12:00:51.10ID:Vl/A/sOK
マんマん
0054デフォルトの名無しさん2018/01/15(月) 12:36:57.99ID:H/ZiF0K3
要するにめんどくさいから誰もやらんってことやな
んで、適当な言い訳で自分を正当化とな
ま、そんなもんだろうと思っとたわ
誰かが喜んで書いてくれると期待した俺がバカでしたよっと
0055デフォルトの名無しさん2018/01/15(月) 12:49:45.27ID:Vl/A/sOK
ああ。何れにしても君が馬鹿であることには代わりがない。合掌。
0057デフォルトの名無しさん2018/01/15(月) 13:02:35.28ID:vArPpzem
こんな簡単なことすら自分で書けず。剰えスレタイとテンプレも読めないとは
すがすがしいほどに頭が悪いな
0061デフォルトの名無しさん2018/01/15(月) 13:35:06.48ID:u3cYdd8C
頭の中ではコードできてるけど、態度が気に入らないので書く気はない。
ちなみに、方針としては、レンジだけ持ってればいいんだから、ペアで頭と尻尾保管した配列作ればいいだろ。
0062デフォルトの名無しさん2018/01/15(月) 13:36:47.80ID:H/ZiF0K3
そんな小学生みたいなこと言ってないで貼ってくれよ
コインもあるんだしよぉ
0065デフォルトの名無しさん2018/01/15(月) 14:50:02.99ID:kurVIvkx
>>37
これの整数点をできるだけ早く求めるのをやってみる。

( ax + b )^2 + ( ay + c )^2 = R
0071デフォルトの名無しさん2018/01/15(月) 16:09:27.25ID:H/ZiF0K3
ライセンスとかめんどくせえしおまえのソースコードなんか誰も使わねえよ
無駄な労力乙
おめーらがムカつくから意地でもコード書かせたかっただけな笑
ザッマw
0073デフォルトの名無しさん2018/01/15(月) 16:16:18.48
こんなん俺でも書けるわボケ
めんどくせえからここに放り込んでみたが失敗した
0077デフォルトの名無しさん2018/01/15(月) 16:42:42.44ID:bHHfeTSI
ライセンスが無いのは最も厳しいライセンス
あらゆる許可が与えられていないからパクったら駄目だぞ
0080デフォルトの名無しさん2018/01/15(月) 17:50:27.29ID:PFTeeq7k
ま、俺はKotlin学習中だから、丁度良いのでゆっくり作ってるよ。忘れた頃に出来るであろう。
0084デフォルトの名無しさん2018/01/15(月) 18:27:38.89
このパターンもあったか
ちんくるだと >>n-[レス数超過] パターン は何も表示しない以外はちゃんと動作するな
0085デフォルトの名無しさん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
0086デフォルトの名無しさん2018/01/15(月) 21:12:20.18ID:u3cYdd8C
>>85
へぇ。なるほどわからん。
でも、円も楕円の内ってことなら無いって可能性もあるのか?とか。
楕円暗号は辞書と併用するとわけわからんな。

爆発です。
0087デフォルトの名無しさん2018/01/16(火) 02:44:51.59ID:hWpj+IiO
>>41
やっとできた。Kotlin。
https://paiza.io/projects/4yVCO5JcqQwIn4QLt63uuQ
なんだかすごく長くなってしまったよ。きっとよくわかる人が作ると物凄く短くなるんだろうなあ・・・。
0090デフォルトの名無しさん2018/01/17(水) 16:53:26.57ID:qYzFevXN
宿題スレの変態に文句あるならスレ落せって言ってるのにかきこむから落ちない。
じぶんでも保守しといて自演扱いだから矛盾してる。
ちなみに俺はQzの人じゃないよ。
前に解答書いたらQzの人扱いされた。
0092今北産業2018/01/21(日) 18:37:01.12ID:XQq46tQk
>>91は早とちりした

>>41の要件
・リストに変換
・重複は許さない
・結果のリストは昇順
を満たしていないや
テヘペロ
0095デフォルトの名無しさん2018/01/22(月) 05:52:35.20ID:YeXv1dis
>>289494
[99999]

貼るのならせめて仕様どおりの実装かどうか最小限のチェックをしてから貼れや
最初の回答なら多少違ってても中間報告っぽくして誤魔化したりしつつ他人のアイデア盗んだり出来るけど二番煎じではそれは無理。
0097今北産業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];
にすべきでした。
0099デフォルトの名無しさん2018/01/25(木) 19:38:18.47ID:+OI4mbzo
>>98
アンカーの先頭と終端のペアを持つってアルゴリズムさ、
>>66と同じっぽいのでGPLv3に引っかかってないか?
0100愛知人!id:ignore2018/01/25(木) 20:21:47.54ID:oIA0WROS
そうなん?俺はそんなの読んでないけどな。
■ このスレッドは過去ログ倉庫に格納されています

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