プログラミングのお題スレ Part10
■ このスレッドは過去ログ倉庫に格納されています
お題
次の文章を縦書きに表示されるよう加工し出力してください
加工前:
謹賀新年 謹んで初春の お慶びを 申し上げます
加工後(例1):
申お謹謹
し慶ん賀
上びで新
げを初年
ま 春
す の
加工後(例2):
https://i.imgur.com/pkLBsWi.png >>2
丁度それ俺も作ろうと思っていたところだが、丸とか点とか括弧とかどうしようかと思って、丁度いい文字ある?
(とりあえず考慮せずに横を縦にするだけのを作ろうとは思うが) >>9
おお!凄い。そうやるとあのフレーム内に画像で出せるのか。知らなかった。 お題:
標準数の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
これも技巧的な方法を求む。 うがー、曲線制御難しい。
https://ideone.com/F4QHpF
細かいところが近似しない。ダメだこりゃ。
ちょっとどんな曲線か一回プロットした方がイイなこれ。
細かい係数のつけかたがよくわからん。 >>2
https://ideone.com/0kh4kb
C++。イデオンでは動かないや。
等幅フォントで見てね。 >>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 >>14
これマジ?できちゃったの?加速式がよくわからん。
すげー。 >>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 >>11 Ruby 逆関数
g = ->n{(10.4*Math.log(n/10.0)).round}
https://ideone.com/5S1Z0c 近似式発明したんだろうけど、よくできたなぁ。
俺はさっぱりだったよ。 a_(n+1) ≒ a_n^ε (ε > 0) だkら
a_n ≒ a_0 ^ (n * ε)
n について解けば
n ≒ log(a_n)/(ε * log(a_0))
あとは愚直に調整しただけ 訂正
a_(n+1) ≒ a_n^ε (ε > 0) だから
a_n ≒ a_0 * C ^ (n * ε) (C, > 0)
n ≒ log(a_n/a_0)/(ε * log(C)) 定義が等比数列を丸めたものなんだから、等比数列で近似するのが妥当ということか f(n+24)=10*f(n)
及び
g(10*m)=24+g(m) 但し m>0
を満たす様に修正(多分そんなに難しくない筈)。 >>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 gは殆ど修正する必要なかったわ
g = ->m{(24*Math.log10(m)).round - 24} でおk
https://ideone.com/bHYGiS >>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 お題:「.」でランダムな形状のウンコのAAを生成せよ。 お題: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までとする 前のやつだが、答え、もしくは決定版といえるコードは出てきてないとおもうんだが・・・
自然数Nに対して、平面上の円でその円周上の整数点がちょうどN個となる円の最小半径を求めよ。 お題: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] 追記ですが >>1-10000000000000000 とかの処理過程でバカデカいメモリを使うことがないようにしてほしいです。(スレの趣旨に反するけどnode.jsで実装できるものがいいです) >スレの趣旨に反するけどnode.jsで
あっ・・・ node.jsにもある関数やデータ構造だけ使っていれば言語は何でも大丈夫です 要するにめんどくさいから誰もやらんってことやな
んで、適当な言い訳で自分を正当化とな
ま、そんなもんだろうと思っとたわ
誰かが喜んで書いてくれると期待した俺がバカでしたよっと ああ。何れにしても君が馬鹿であることには代わりがない。合掌。 こんな簡単なことすら自分で書けず。剰えスレタイとテンプレも読めないとは
すがすがしいほどに頭が悪いな んじゃ、node.jsで実装できるものってのは無しで 簡単なんでしょ?頼むよ
どこもテンプレに反してないしよぉ 頭の中ではコードできてるけど、態度が気に入らないので書く気はない。
ちなみに、方針としては、レンジだけ持ってればいいんだから、ペアで頭と尻尾保管した配列作ればいいだろ。 そんな小学生みたいなこと言ってないで貼ってくれよ
コインもあるんだしよぉ >>62
コーディングもできないのに野望を抱くのが愚か。 ちなみに書き忘れてたけど0.004Btcね
コインはたくさんあるし >>37
これの整数点をできるだけ早く求めるのをやってみる。
( ax + b )^2 + ( ay + c )^2 = R >>41 >>64
https://ideone.com/xxe0k4
C++。これくれてやるからカエレ。ちなみにライセンスはGP v3な。
デバッグはじぶんでやれや。 >>69
いらねーから、二度とくんな。
ライセンスは守るように。 ライセンスとかめんどくせえしおまえのソースコードなんか誰も使わねえよ
無駄な労力乙
おめーらがムカつくから意地でもコード書かせたかっただけな笑
ザッマw こんなん俺でも書けるわボケ
めんどくせえからここに放り込んでみたが失敗した ライセンスが無いのは最も厳しいライセンス
あらゆる許可が与えられていないからパクったら駄目だぞ ま、俺はKotlin学習中だから、丁度良いのでゆっくり作ってるよ。忘れた頃に出来るであろう。 >>79
JSはタイプレスだからテンプレート使ってもばち当たらない気がする。 このパターンもあったか
ちんくるだと >>n-[レス数超過] パターン は何も表示しない以外はちゃんと動作するな >>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 >>85
へぇ。なるほどわからん。
でも、円も楕円の内ってことなら無いって可能性もあるのか?とか。
楕円暗号は辞書と併用するとわけわからんな。
爆発です。 >>41
やっとできた。Kotlin。
https://paiza.io/projects/4yVCO5JcqQwIn4QLt63uuQ
なんだかすごく長くなってしまったよ。きっとよくわかる人が作ると物凄く短くなるんだろうなあ・・・。 宿題スレの変態に文句あるならスレ落せって言ってるのにかきこむから落ちない。
じぶんでも保守しといて自演扱いだから矛盾してる。
ちなみに俺はQzの人じゃないよ。
前に解答書いたらQzの人扱いされた。 >>41>>42 Perl5
https://ideone.com/WY0Jb6
※perlのfor ... はiteratorに最適されるので
>>1-10000000000000000 などが指定されてもメモリ消費は少ない >>91は早とちりした
>>41の要件
・リストに変換
・重複は許さない
・結果のリストは昇順
を満たしていないや
テヘペロ >>289494
[99999]
貼るのならせめて仕様どおりの実装かどうか最小限のチェックをしてから貼れや
最初の回答なら多少違ってても中間報告っぽくして誤魔化したりしつつ他人のアイデア盗んだり出来るけど二番煎じではそれは無理。 オレがおっちょこちょいで確認不足だった。
>>41>>42 Perl5
https://ideone.com/LDJrW8 >>96
貼ってから気がついたけどSTDINのテストデータでは問題を起こさないが
7行目が
$a[1] = $a[0] unless $a[1];
だと$a[1]=0のときに誤動作の元だな…
$a[1] //= $a[0];
にすべきでした。 >>98
アンカーの先頭と終端のペアを持つってアルゴリズムさ、
>>66と同じっぽいのでGPLv3に引っかかってないか? ■ このスレッドは過去ログ倉庫に格納されています