[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/23 04:50 / Filesize : 284 KB / Number-of Response : 1021
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sageteoff [2015/10/07(水) 20:19:06.64 ID:c4LYwtKo.net]
プログラミングのお題スレです。

前スレ
プログラミングのお題スレ Part7
peace.2ch.net/test/read.cgi/tech/1429195275/

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
ideone.com/
codepad.org/
compileonline.com/
rextester.com/runcode
runnable.com/
code.hackerearth.com/
melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。

331 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 03:24:10.39 ID:p8lHTaCd.net]
レッツリトライ。アルゴリズムを見直した。

332 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 04:56:48.77 ID:p8lHTaCd.net]
さらに見直し。速度低減をなくした。
結果的に10倍ぐらい早くなった。かな?

333 名前:デフォルトの名無しさん [2016/02/29(月) 05:17:02.90 ID:I3HQeNlK.net]
素数列挙ではダメで囲いサーチだろ。

334 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 05:36:03.42 ID:p8lHTaCd.net]
画像生成するので目で確かめようと思ってます。
ただ、それが何番かはわかりません・・・。Orz

335 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 06:39:18.63 ID:wRRlOVxG.net]
コマネチ!

336 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 18:22:11.19 ID:p8lHTaCd.net]
うぅ。13時間回して1.9億カウント10日かかりますわ。
ソース公開するからやめていい?

337 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 18:24:23.39 ID:p8lHTaCd.net]
並列化してもうまくいって二日か・・・。

338 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 19:36:07.25 ID:p8lHTaCd.net]
26bitで再計算。こっちは2時間半で終わる予定。もーヤダー。
最新PCでも10日とか、俺ってタコ。

339 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 21:54:34.42 ID:gY4tu7UX.net]
試しに28bitで計算させてみたけど1つも見つからなかったよ。

プログラムのバグじゃ無きゃ良いけど。



340 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 21:59:36.65 ID:gY4tu7UX.net]
コードはこんな感じ
35行目のNに対し、2N bits空間の素数について調べる。
https://ideone.com/C2FulF

341 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 22:24:57.60 ID:p8lHTaCd.net]
生成物:www.dotup.org/uploda/www.dotup.org760416.png
そーす:www.dotup.org/uploda/www.dotup.org760433.zip
やーっと終わった。26ビット計算。
縁に黒いのあるのは境界線系のバグの可能性が高いので精査よろしく。
燃え尽きたぜ。

>>332-333
先越された・・・。Orz

342 名前:デフォルトの名無しさん mailto:sage [2016/03/01(火) 04:48:06.87 ID:/oGISoD7.net]
>>334
中心に緑の点を打ってくれんかのう‥

343 名前:デフォルトの名無しさん mailto:sage [2016/03/01(火) 07:17:18.80 ID:iONc0Loh.net]
無いってことは規則的に循環でもしてるのか?
お前らリーマン予想解いたんか?

344 名前:332 mailto:sage [2016/03/01(火) 09:07:57.31 ID:fxkt5PE4.net]
>>334
なんだか無駄な処理が多いように見える
素数性判定を1個1個するよりエラトステネスの篩を使うとかしようぜ。

# 32bitで見つからんかった

345 名前:332 mailto:sage [2016/03/01(火) 22:38:46.95 ID:fxkt5PE4.net]
36bitで見つからんかった。
もう辞めるわ。

346 名前:デフォルトの名無しさん mailto:sage [2016/03/02(水) 06:33:06.17 ID:2mV+3fZd.net]
>>338
お疲れ様です。
出題者ですが、自分も無いんじゃないかなで
答えはわかりませんm(_ _)m

347 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 15:01:26.06 ID:6dBXddTu.net]
お題:以下の式の□に+または-を入れて成立する式をすべて求める。
1□2□3□4□5□6□7□8□9=1

348 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 18:29:47.32 ID:t9z0z44u.net]
>>340 Bash
ideone.com/qzonZ1

349 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 19:58:32.83 ID:SkSUFtdJ.net]
お題:リストを重複の多い順に並び替える
重複個数が同じ場合はリストに登場するのが早い順とする

"Hello world" -> "lllooHe wrd"

[3,1,4,1,5,9,2,6,5,3,5,8,9,7,9,3,2,3,8,4,6]
-> [3,3,3,3,5,5,5,9,9,9,1,1,4,4,2,2,6,6,8,8,7]



350 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 20:40:38.92 ID:rLQVucBG.net]
>>340 Rust 今日来る1.7を待ちながら
https://play.rust-lang.org/?gist=121b9b2dc7ff0dbdacdb&version=stable

351 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 21:43:53.21 ID:GzhlChId.net]
>>342
C++
ideone.com/VFxH37

352 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 22:03:26.12 ID:LBKN89dL.net]
>>342
Python3
https://ideone.com/Icn8Vj

353 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 23:17:39.49 ID:fGqRJK5H.net]
>>342
haskell
import Data.List (sortBy)
main = do
 putStrLn $ s "Hello World"
 print $ s [3,1,4,1,5,9,2,6,5,3,5,8,9,7,9,3,2,3,8,4,6]

s xs=concat.sortBy(\x y -> compare (length y) (length x))$gs xs
gs :: Eq a => [a] -> [[a]]
gs[]=[]
gs (x:xs)=(x:a) : gs b
 where (a,b)=(filter(== x)xs,filter(/= x)xs)

354 名前:デフォルトの名無しさん [2016/03/04(金) 15:28:38.54 ID:7Zl+7QrX.net]
お題:
配列Bを配列Aの規則順に従って整列。Aに含まれ無い物は最後尾にアルファベット順に整列。

例:
配列A ary_a=["d","b","e","f","a","c"]
配列B ary_b=["a","b","c","h","m"]
結果:["b","a","c","h","m"]

言語:
rubyかpython

355 名前:デフォルトの名無しさん mailto:sage [2016/03/04(金) 15:49:17.83 ID:DX3xeB7o.net]
>>347
楽すぎない?

356 名前:346 [2016/03/04(金) 16:33:45.39 ID:7Zl+7QrX.net]
このままだったら適当でもそんなに時間がかからないから自分でもできるんですが、
配列の数が多い場合だとどんなやり方があるのと思いまして。

じゃあちょっと増やしてこのぐらいで。
答えはわかりません。

お題:
配列Bを配列Aの規則順に従って整列。Aに含まれ無い物は最後尾にアルファベット順に整列。

例:
長いのでこちら
ideone.com/xnetIb

結果:?

言語:
rubyかpython

357 名前:デフォルトの名無しさん mailto:sage [2016/03/04(金) 18:38:25.99 ID:pEnisYEU.net]
お前の業務?

358 名前:デフォルトの名無しさん mailto:sage [2016/03/04(金) 18:46:32.50 ID:9GjrgxFP.net]
>>349
ideone.com/LlnUM2

359 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 19:06:23.29 ID:CXefnPD8.net]
>>342 J
f =: 3 : 0
a =. (\: +/"1 =/~ y) { y
b =. ~. a
(/:~ b i. a) { b
)

f 'Hello world'
lllooHe wrd

f 3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6
3 3 3 3 5 5 5 9 9 9 1 1 4 4 2 2 6 6 8 8 7



360 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 00:31:45.05 ID:WEeJcjtE.net]
>>340
haskell
main = mapM(putStrLn) [p x|x<- sequence $ [1]:[[x,-x]|x<-[2..9]],1==sum x]

p=concat.map(\x ->if x>1 then "+"++show x else show x)

361 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 15:24:05.92 ID:/EFFTfcH.net]
>>342 C
>>344 を参考に
ideone.com/7vKXrk

362 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 10:29:38.19 ID:+tQLURZK.net]
>>351
ありがとうございます。自分で作ったのに比べると格段にすっきりしてます。
each_with_indexもto_hもgroup_byも初めて知りました。勉強になります。

363 名前:デフォルトの名無しさん mailto:sage [2016/03/11(金) 08:14:24.51 ID:fvdAjVDF.net]
あら、新規来ないと思ったら移動してたか。

>>335
ある程度起動してから気づいたから遅かった。

>>337
別の目的で作ったコードなので、これ用というわけじゃなかったのです。
追記型がほしかったので作りました。

364 名前:デフォルトの名無しさん mailto:sage [2016/03/11(金) 08:17:33.24 ID:fvdAjVDF.net]
>>340
ideone.com/H6yZDw
C++。作ってあったコードをいじっただけなので変なコードになってます。
多分あってると思います。

365 名前:デフォルトの名無しさん mailto:sage [2016/03/11(金) 08:49:31.19 ID:fvdAjVDF.net]
>>347,348
ideone.com/VaNTzl
C++。デバッグはほとんどしてない。手を抜いたから遅いよ。

366 名前:デフォルトの名無しさん mailto:sage [2016/03/11(金) 09:16:36.16 ID:fvdAjVDF.net]
>>342
ideone.com/fpJYFp
C++。最近、あんまり効率考慮したコードが書けてないな〜。

367 名前:デフォルトの名無しさん mailto:sage [2016/03/11(金) 23:07:01.52 ID:4PxK/ADg.net]
変数A1, A2, A3, A4, A5 に整数が入っているとして、
全部同じか、そうでないかを判定したいのですが、
もっとも効率よい方法教えて下さい。
if(A1==A2&&A2==A3&&A3==A4&&A4==A5){
 ...
}else{
 ...
}
みたいなのしか思いつきません。

368 名前:デフォルトの名無しさん mailto:sage [2016/03/11(金) 23:55:40.35 ID:fvdAjVDF.net]
それ以外だとSIMD使うとかになりそうな・・・。

369 名前:デフォルトの名無しさん [2016/03/14(月) 11:38:06.21 ID:7hslT/Gl.net]
お題:平和な動物園を作ろう
www.hisenkei.net/~tohru/LaTeX/Poster/whatisQAPa4.pdf



370 名前:デフォルトの名無しさん mailto:sage [2016/03/14(月) 12:34:29.93 ID:DTR/fUtN.net]
宿題じゃね?

371 名前:デフォルトの名無しさん mailto:sage [2016/03/14(月) 13:20:59.04 ID:W5wCaIkX.net]
NP困難問題とか総当りするぞ

372 名前:デフォルトの名無しさん mailto:sage [2016/03/14(月) 19:24:58.74 ID:MNFRtT1Y.net]
>>362
相性度の大小が逆じゃない?相性が悪いほど相性度の数値が大きくならないと‥

373 名前:デフォルトの名無しさん mailto:sage [2016/03/14(月) 22:37:30.95 ID:DTR/fUtN.net]
よーしぱぱ、ねくすとぱーみゅてーしょんつかっちゃうぞー。

374 名前:デフォルトの名無しさん mailto:sage [2016/03/14(月) 23:24:37.10 ID:DTR/fUtN.net]
>>362
ideone.com/YXrksL
C++。かき捨て。デバッグ一切してないのでバグってたら御免。
だって、スカイレークのリリースで11秒かかるんだもん。

375 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 00:17:53.91 ID:a7Xs+q4N.net]
不満度2160であってるんかね

376 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 00:31:47.47 ID:a7Xs+q4N.net]
>>367
Calc内のstd::vector<DType> Angryとstd::vector<DType> Lengthが毎回作られてるから遅いんじゃね?

377 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 00:40:17.12 ID:6w3U5gAP.net]
std::arrayを使ってはどうか

378 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 01:13:48.78 ID:PW1OJjjf.net]
>>368
知らんよ。適当に書き捨てただけだし。

>>370
リリースで消えてる事をただ願うだけ。2重ループ何回も起動してるから遅いもんだと・・・。

>>370
カスタマイズはご自分で。
特にこだわりはないから、MITライセンスでどうぞ。

379 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 01:14:38.03 ID:mfi8kYDa.net]
>>368
俺も(2160,[6,9,3,8,7,4,1,5,10,2])になった。



380 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 01:19:02.65 ID:PW1OJjjf.net]
あ、バグってら。たぶん。
2重ループの中ループの初期値間違ってるかも。
今、ひらめいた。
多分不満度結果の半分くらいだと思う。
まぁいいや。

381 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 01:23:09.89 ID:a7Xs+q4N.net]
ideone.com/Jb9lqV
何も考えずにstd::vector<DType> Angryとstd::vector<DType> Lengthを外に出しただけで1.74s

382 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 01:24:01.73 ID:PW1OJjjf.net]
ideone.com/aZUgRP
こうかもしれん。
静的変数にしたら超絶早くなった。

383 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 01:25:15.50 ID:PW1OJjjf.net]
あいたたた・・・・。
まぁ、宿題を真面目にやる気はないんで、適当にごまかしてください。

384 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 05:12:24.47 ID:/v9qNF/y.net]
arrayにしたらかえって遅くなった

ideone.com/mHquNO

385 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 07:06:29.01 ID:PW1OJjjf.net]
>>377
>>375は微妙にコード最適化してるからねぇ。
リザルト変わってるし。
一応それとしては早くなってるんじゃないかと。

386 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 11:48:35.59 ID:j8iobkYx.net]
>>362 Squeak/Pharo Smalltalk

| N animals cages ans |

N := 10.

animals := #(
 (0 2 6 4 6 2 4 4 2 4) (2 0 4 2 2 2 2 2 2 6)
 (6 4 0 2 6 8 8 6 4 8) (4 2 2 0 4 2 6 6 2 6)
 (6 2 6 4 0 2 4 4 2 4) (2 2 8 2 2 0 6 6 6 8)
 (4 2 8 6 4 6 0 6 6 4) (4 2 8 6 4 6 6 0 6 6)
 (2 2 4 2 2 6 6 6 0 6) (4 6 8 6 4 8 4 6 6 0)).

cages := #(
 (0 3 4 5 8 10 9 6 2 4) (3 0 4 4 7 9 9 8 5 9)
 (4 4 0 2 4 7 5 4 4 8) (5 4 2 0 3 5 5 5 5 9)
 (8 7 4 3 0 3 5 6 8 12) (10 9 7 5 3 0 4 7 10 14)
 (9 9 5 5 5 4 0 3 8 11) (6 8 4 5 6 7 3 0 5 8)
 (2 5 4 5 8 10 8 5 0 4) (4 9 8 9 12 14 11 8 4 0)).

ans := Set new -> Float infinity.

(1 to: N) permutationsDo: [:perm |
 | sum |
 sum := 0.
 1 to: N do: [:i |
  1 to: N do: [:j |
   sum := ((animals at: (perm at: i)) at: (perm at: j)) * ((cages at: i) at: j) + sum]].
 ans value = sum ifTrue: [ans key add: perm copy].
 ans value > sum ifTrue: [ans := (Set with: perm copy) -> sum]].

^ans "=> a Set(#(6 9 3 8 7 4 5 1 10 2) #(6 9 3 8 7 4 1 5 10 2))->2160 "

387 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 13:31:34.17 ID:NZyRjPzO.net]
>>377
VSでプロファイラ取ってみたらCalcとstd::next_permutationの2つで全体の半分位
時間食ってんな
特に単純ループのCalcが全体の1/3ほど食ってる
std::next_permutationは仕方ないとしてCalcはどこか改善できんかな
配列の配列の要素取ってるから出来るだけ連続したキャッシュに乗る単なる配列の方がいいのかも
連続してないクラスの配列の配列取るもんだから、こういう単純なループがインライン展開されてないのも
原因の一つかと

388 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 15:44:17.23 ID:NZyRjPzO.net]
×インライン展開
○ループのアンロール

389 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 17:59:47.71 ID:PW1OJjjf.net]
ねくすとぱーみゅてーしょん切って動的計画法に切り替えるとかがベターかもしれん。
アッチはメモリめちゃくちゃ食うけど、早い。
しかし、俺は動的計画法を理解してないのだ・・・。Orz



390 名前:デフォルトの名無しさん [2016/03/16(水) 18:03:36.31 ID:VFJu78ei.net]
>>362
なんか計算が微妙に合わないなと思ったら
ニシキヘビとカバの相性度が対象になってないわ

あー時間を無駄にした

391 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 18:37:37.89 ID:PW1OJjjf.net]
>>362の資料いくつか間違いがあるっぽい。
不満度も重複に計算してるし、なんか仕様表として欠陥がある。

392 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 08:30:05.20 ID:e/Ot8AcY.net]
お題:ダーツのダブルアウトの組み合わせ

問題の前にダーツのルール(501ゲーム)を簡単に説明。

1〜20のマス目があって、それぞれにダブル(最外周の細い領域)と
トリプル(中間の細い領域)があり、ダブル、トリプルは得点が2倍、3倍になります。
中心の2重円は最内の円がダブルブル(50点)、その外側の円がブル(25点)。
持ち点501点から1ターン(1ラウンド)3投ずつプレイして当たった得点を減算していき、
最後残り点数がちょうど0になれば勝ち。
ただし、最後はダブルに当ててフィニッシュする必要があります(ダブルアウトという)。
例:最後5点残っていた場合は、5点は直接狙えず、1点を当ててから2点のダブル(計5点)、
あるいは3点を当てて1点のダブル(計5点)のように最後がダブルになるようにフィニッシュします。



393 名前:考動画 https://www.youtube.com/watch?v=GfC17dQntFA
この動画の下のスコアで、残り点数が少なくなってくると左側にT20 T18 D16のような表示が
出てきますが、これは次の3投で上がれる組み合わせの一例を示しています。
この動画だと1:45あたりで残り146点のフィニッシュの組み合わせ例として出ていますね。
(数字の頭のDはダブル Tはトリプル 20x3 + 18x3 + 16x2 = 146)

問題:
1.残り点数を与えられた場合に、1ラウンド3投でフィニッシュできる全ての
組み合わせを求めてください。
例:残り4の場合は[D2][2 D1][D1 D1][1 1 D1]の4通り
例として残り10の場合を求めてみてください。

2.1ラウンド3投以内のフィニッシュで最も組み合わせの多い残り点数を求めてください。

解答例:http://ideone.com/LWu1WM (C言語 合ってるかちょっと自信ない)
[]
[ここ壊れてます]

394 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 09:03:48.16 ID:e/Ot8AcY.net]
>>385
外した場合を考えてませんでした。

残り10をD5でフィニッシュする場合、1投目でフィニッシュと、1投目はずして(0点)
2投目でフィニッシュ、同じく1,2投目はずして3投目でフィニッシュがありますが、
これは全て[D5]に含むこととします。(外した分は無視)

外した分も考慮して組み合わせを考えてみても面白いかもしれません。
(上の例だと[D5][0 D5][0 0 D5]に分かれることになります)

395 名前:デフォルトの名無しさん mailto:sage [2016/03/23(水) 03:54:21.46 ID:SSV1rQef.net]
お題:配列やリストの累積和を求める
90 10 54 3 6 22 77 78 75 16 -> 90 100 154 157 163 185 262 340 415 431

396 名前:デフォルトの名無しさん mailto:sage [2016/03/23(水) 04:48:29.17 ID:dWvJC0mF.net]
>>387
ideone.com/mik4Ne
C++。適当に書いた。結構短くかけたと思う。

397 名前:デフォルトの名無しさん mailto:sage [2016/03/23(水) 16:03:47.29 ID:NkT0dmTC.net]
>>387
haskell
map sum.tile.inits

398 名前:デフォルトの名無しさん mailto:sage [2016/03/23(水) 19:13:26.12 ID:l5rfZdo+.net]
>>387
C++
ideone.com/xtXdpi

399 名前:デフォルトの名無しさん mailto:sage [2016/03/23(水) 20:01:16.70 ID:1UFsClL1.net]
>>387 F#
Seq.scan (+) 0



400 名前:デフォルトの名無しさん mailto:sage [2016/03/23(水) 20:59:24.58 ID:NkT0dmTC.net]
scanいいなーと思って探してみたらhaskellにもあった
しかも標準ライブラリだった。

scanl1(+)

401 名前:デフォルトの名無しさん mailto:sage [2016/03/23(水) 21:07:05.34 ID:NkT0dmTC.net]
標準ライブラリじゃなくて、Preludeでした、すみません。

402 名前:デフォルトの名無しさん mailto:sage [2016/03/23(水) 21:24:19.74 ID:jwiGmJgq.net]
>>387 Python3
itertools.accumulate(L)
もはや標準ライブラリの紹介、ジェネレーターを返すので煮るなり焼くなりして使う

403 名前:デフォルトの名無しさん mailto:sage [2016/03/24(木) 13:07:49.70 ID:5hctbNOo.net]
>>387
C
ideone.com/QBhptw

404 名前:デフォルトの名無しさん mailto:sage [2016/03/24(木) 14:14:51.89 ID:BKOgASSO.net]
>>387
C++
ideone.com/98mJmC

長くなり過ぎワロタ

405 名前:デフォルトの名無しさん mailto:sage [2016/03/25(金) 23:54:10.03 ID:aGSq1f0l.net]
>>387
PowerShell
もっと短くできなかったものかなあ

function Accumulate() {
$t = @(); $args | % {$t += $t[-1] + $_}; $t
}

406 名前:デフォルトの名無しさん mailto:sage [2016/03/26(土) 00:50:33.88 ID:/XUmDgkC.net]
>>342
PowerShell

function SortGroupByCount($o) {
 $o.GetEnumerator() | group | sort Count -d | select Group | %{ Write-Host -n "$($_.Group) " }
}

> SortGroupByCount "Hello world"
l l l o o H e w r d
> SortGroupByCount 3,1,4,1,5,9,2,6,5,3,5,8,9,7,9,3,2,3,8,4,6
3 3 3 3 5 5 5 9 9 9 1 1 4 4 2 2 6 6 8 8 7

407 名前:デフォルトの名無しさん mailto:sage [2016/03/26(土) 00:57:47.15 ID:/XUmDgkC.net]
>>398
よく見たらselect Groupいらんかった

function SortGroupByCount($o) {
 $o.GetEnumerator() | group | sort Count -d | %{ Write-Host -n "$($_.Group) " }
}

408 名前:デフォルトの名無しさん mailto:sage [2016/03/26(土) 06:52:33.07 ID:lsHN8L8S.net]
@Mathematica

In[1] := x = {90, 10, 54, 3, 6, 22, 77, 78, 75, 16};
In[2] := x//
     Accumulate
Out[2] = {90, 100, 154, 157, 163, 185, 262, 340, 415, 431}

409 名前:デフォルトの名無しさん mailto:sage [2016/03/27(日) 01:17:51.47 ID:7ndxGIoM.net]
>>387 Io
f := method(a,
s := 0
a map(v, s = s + v)
)



410 名前:デフォルトの名無しさん mailto:sage [2016/03/28(月) 00:26:57.54 ID:K457tFb7.net]
>>387
Ruby
a=%w(90 10 54 3 6 22 77 78 75 16).map(&:to_i)
a.inject(0){|acc,e|acc+=e;p acc}

411 名前:デフォルトの名無しさん mailto:sage [2016/03/28(月) 13:28:14.63 ID:ObwLfSdF.net]
>>387 Squeak/Pharo Smalltalk

| fn |
fn := [:arr | arr inject: #() into: [:a :x | a, {x + (a at: a size ifAbsent: 0)}]].

fn value: #(90 10 54 3 6 22 77 78 75 16)
"=> #(90 100 154 157 163 185 262 340 415 431) "

412 名前:デフォルトの名無しさん mailto:sage [2016/03/28(月) 13:51:42.42 ID:ObwLfSdF.net]
>>342 Squeak/Pharo Smalltalk

| fn |
fn := [:seq |
 | rule |
 rule := [:a :b |
  a key > b key or: [
   a key = b key and: [(seq indexOf: a value) < (seq indexOf: b value)]]].
 seq class streamContents: [:ss |
  (seq asBag sortedCounts sort: rule) do: [:kv |
   kv key timesRepeat: [ss nextPut: kv value]]]
].

fn value: 'Hello world'.
"=> 'lllooHe wrd' "

fn value: #(3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6).
"=> #(3 3 3 3 5 5 5 9 9 9 1 1 4 4 2 2 6 6 8 8 7) "

413 名前:デフォルトの名無しさん mailto:sage [2016/03/29(火) 23:25:45.53 ID:UAhYeBNf.net]
sage>>402
>a.inject(0){|acc,e|acc+=e;p acc}
これって
a.inject(0){|acc,e|p acc+e}
でいいんじゃないの

414 名前:デフォルトの名無しさん mailto:sage [2016/03/30(水) 02:01:04.35 ID:00BHzwP5.net]
>>342
Rubyで。
a=[3,1,4,1,5,9,2,6,5,3,5,8,9,7,9,3,2,3,8,4,6]
a=a.inject({}){|acc,e|
acc[e]||=0
acc[e]+=1
acc
}
p a
.to_a
.sort_by
.with_index{|s,i| [s[1], i] }
.reverse
.map{|e|e[0].to_s*e[1]}
.join

415 名前:デフォルトの名無しさん mailto:sage [2016/03/30(水) 05:39:51.79 ID:ij4V+9+M.net]
>>>342 Python3

def f(L):
 return sorted(L, key=lambda x: (-L.count(x), L.index(x)))

print("".join(f("Hello world")))

416 名前:デフォルトの名無しさん mailto:sage [2016/03/30(水) 08:05:32.53 ID:ZA7ECi0z.net]
ideone.com/AjZqQq
どうでもいいんだけど、追記型素数検出器を書き直した。
爆速になった。イデオンで動かす感じで27ビット2.4秒。
要するにエラトステネスの篩なんだけど、思ったより早かったなぁ。
肝心の追記はまだ試してない・・・。Orz

417 名前:デフォルトの名無しさん mailto:sage [2016/03/30(水) 09:35:35.02 ID:ZA7ECi0z.net]
www.dotup.org/uploda/www.dotup.org798848.zip
ウラム螺旋に移植した。一応小さい解像度では試してるがデカいのは知らん。
素数列挙は超早くなったが、画像生成がまだ重ひ。
暇な人むけ。

418 名前:デフォルトの名無しさん mailto:sage [2016/04/01(金) 00:36:24.19 ID:oZji/N9B.net]
>>406
実行結果が
"333399955588662244117"
になってしまいます

419 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 21:56:44.86 ID:w9r+G2YN.net]
お題:nで始まる最小の素数を求める
n=4 -> 41
n=777 -> 77711
n=403 -> 40343



420 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 22:48:25.37 ID:mfUNWB3k.net]
>>411 Java
ideone.com/vV7Vs9

421 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 21:02:49.40 ID:V1X87Hw6.net]
>>411 C
ideone.com/OtX2Wc

422 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 21:05:24.30 ID:ZlseDTbh.net]
フリーセルソルバー
問題によっては1秒内で終るものもあれば3分かかったり
評価関数色々用意したがすべて1秒以内にできるようにしたいが...

423 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 01:55:40.63 ID:HGCmMFVS.net]
>>411
ideone.com/eqFkbn
C++。コードの半分は以前のものを流用した。
なんかランタイムエラーになってるけど、よくわからん。
答えはあってると思う。

424 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 02:00:45.11 ID:HGCmMFVS.net]
>>414
フリーセル自作しないといけないのでめんどくさい。
フリーセルってここ数年やってないなー。

425 名前:デフォルトの名無しさん mailto:sage [2016/04/08(金) 13:12:03.72 ID:opSE2XAx.net]
>>411
Rubyで。

require 'prime'
def func1 n
nStr = n.to_s
nLen = nStr.length
Prime::instance.each{|e|
return e if e.to_s[0, nLen] == nStr
}
end

p func1 4
p func1 777
p func1 403

426 名前:デフォルトの名無しさん mailto:sage [2016/04/08(金) 20:22:10.75 ID:JfY7ulrA.net]
>>415
20 32 51 あたりの結果がおかしいんじゃないかな?
20 -> 2003になるところが2011になってる。

427 名前:デフォルトの名無しさん mailto:sage [2016/04/08(金) 20:59:33.30 ID:OyooKXkj.net]
>>411 Io
isPrime := method(n,
if(n < 2, return(false))
if(n < 4, return(true))
if(n % 2 == 0, return(true))
for(i, 3, n sqrt, 2, if(n % i == 0,return(false)))
true
)

f := method(n,
a := 1
loop(
for(i, n * a + 1, n * a + a - 1, 2,
if(isPrime(i), return(i))
)
a = a * 10
)
)

Io> list(1,777,403)map(v,f(v))
==> list(11, 77711, 40343)

428 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 00:47:11.89 ID:8UqsZWln.net]
>>418
あーそれバグですな。失礼。
ゼロ埋めは試してないのでそういう結果になってます。
思いつきもしませんでした。ごめんなさい。
どう書けばいいかちょっと妙案が思いつかないので保留。

429 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 23:01:46.01 ID:UGeAL8lU.net]
お題:各桁の数字が奇数、偶数、奇数、偶数...のように
最上位の桁から奇数と偶数が交互並ぶ自然数を考える。
小さい方からn番目のこのような数を求める
n=1 -> 1
n=10 -> 18
n=1000 -> ?



430 名前:デフォルトの名無しさん mailto:sage [2016/04/10(日) 00:12:29.27 ID:0xtkUQ3n.net]
>>421 Java
ideone.com/V6gNa4

431 名前:デフォルトの名無しさん mailto:sage [2016/04/10(日) 03:27:38.19 ID:GVWrhGxP.net]
>>411
>>418
ideone.com/oAQHTp
C++。半ば暇なのとか色々まざってぶち切れ気味に書き直した結果。
なおったかな?
手を抜いて新規構造考えたまではよかったが結局古い道を選ばざるを得なかった。
ゼロパティングなんてふつう考えないがこういうケースもあるんだな。勉強になった。
以上。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<284KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef