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

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