[表示 : 全て 最新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/

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

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++。半ば暇なのとか色々まざってぶち切れ気味に書き直した結果。
なおったかな?
手を抜いて新規構造考えたまではよかったが結局古い道を選ばざるを得なかった。
ゼロパティングなんてふつう考えないがこういうケースもあるんだな。勉強になった。
以上。

432 名前:デフォルトの名無しさん mailto:sage [2016/04/10(日) 04:31:37.37 ID:GVWrhGxP.net]
>>421
ideone.com/W3pgTU
C++。なんかつじつまが合わないので>>422をの結果を参考にさせてもらった。
どうにも盛大に勘違いしてたようだ。
しかし、先頭が必ず奇数であるとは書いてないので混乱した。

433 名前:デフォルトの名無しさん mailto:sage [2016/04/10(日) 11:04:10.71 ID:yfpRB3fX.net]
>>421
@Mathematica

ideone.com/JtmqOO

434 名前:デフォルトの名無しさん mailto:sage [2016/04/10(日) 22:30:50.62 ID:SKXiL2tD.net]
>>421
F#
ideone.com/AKL4fU

お題スレ参加は半年ぶりくらい。。。
さらにF#の勉強開始して1ヶ月程度なので、ちょっとアレな感じかもしれませんが・・・

435 名前:425 mailto:sage [2016/04/10(日) 23:49:40.35 ID:SKXiL2tD.net]
>>421
F#
ideone.com/2pgKqN

たびたびスマン・・・ちょっとブラッシュアップしました
見た目がちょっとキレイになった



436 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 19:11:43.16 ID:U9aEtrvs.net]
>>411 Squeak/Pharo Smalltalk

| primeStartsWith |
primeStartsWith := [:n |
 | exp min max ans |
 exp := 0.
 [ min := n * (10 raisedTo: exp).
  max := n+1 * (10 raisedTo: exp).
  ans := (Integer primesUpTo: max) detect: [:prime | prime >= min] ifNone: nil.
  exp := exp + 1.
  ans notNil.
 ] whileFalse.
 ans
].

primeStartsWith value: 4. "=> 41 "
primeStartsWith value: 777. "=> 77711 "
primeStartsWith value: 403. "=> 40343 "

437 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 19:31:44.71 ID:U9aEtrvs.net]
>>421 Squeak/Pharo Smalltalk

ideone.com/hCH8lT

438 名前:デフォルトの名無しさん [2016/04/12(火) 06:07:51.10 ID:IvlGS ]
[ここ壊れてます]

439 名前:XDX.net mailto: たまにage []
[ここ壊れてます]

440 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 23:39:53.84 ID:xdVnQQp5.net]
>>387
F# 勉強中

ideone.com/h9oJuH

ローカル環境だとList使って実装して動いたんだけど
ideoneだと動かなくて、調べたらideoneのF#のバージョンが低いのかもしれない
Arrayを使って書き直したら動いた

441 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 23:56:54.81 ID:49N/1I8V.net]
>>421 Io
f := method(n,
a := list
while(n > 0,
n = n - 1
a = a prepend(n % 5)
n = (n / 5) floor
)
a map(i, v, v * 2 + (i + 1) % 2) join asNumber
)

442 名前:デフォルトの名無しさん mailto:sage [2016/04/14(木) 22:38:40.17 ID:hWzlQv+3.net]
お題:効率は無視してコードをできるだけ単純にしたバブルソート

443 名前:デフォルトの名無しさん mailto:sage [2016/04/14(木) 23:39:12.31 ID:rplj63Da.net]
>>4
F# 勉強中

ideone.com/UtnUWJ

プログラム自体はちゃんと動いてるっぽいが、
コードがF#的になんかいろいろと間違えてるような気がする・・・

444 名前:デフォルトの名無しさん [2016/04/15(金) 02:29:59.73 ID:7tix3D6p.net]
>>433
Ruby

def mysort a
(a.length - 1).times{|i|
if a[i] > a[i + 1]
a[i], a[i + 1] = a[i + 1], a[i]
mysort a
end
}
a
end

a = (1..10).map{rand(10000)}
p a

p mysort a

445 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 05:28:13.90 ID:UEolzSKG.net]
>>433
ideone.com/Xjvay4
C++。残念なコードになった。こんなコード書きたくなーい。Orz



446 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 21:30:03.75 ID:uCMMU+7S.net]
>>433 F#
let rec sort = function
| ([] | [_]) as x -> x
| l::rs ->
let r::rs = sort rs
if l < r then l::sort(r::rs) else r::sort(l::rs)

let r = System.Random()
let xs = List.init 10 <| fun _ -> r.Next 10
printfn "%A = sort %A" xs <| sort xs

447 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 01:41:35.90 ID:8gZGJMh1.net]
>>433

F# 勉強中

ideone.com/mHKjpZ

勉強中ゆえ(?)、>>437のコードとか正直よく分からん・・・
とりあえず、自分の理解できる範囲で書いてみたら
殆ど手続き型と変わらん作りになってしまったw

448 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 21:13:38.41 ID:uCxyrvwI.net]
>>436
選択ソート?

449 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 23:39:51.82 ID:LiAu7R50.net]
>>439
え?バブルソートでしょ。ちょっと調べてくる。

450 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 23:43:07.03 ID:LiAu7R50.net]
https://ja.wikipedia.org/wiki/%E3%83%90%E3%83%96%E3%83%AB%E3%82%BD%E3%83%BC%E3%83%88
これの疑似コードのちょっと悪い感じ?
シンプルにするためにオーダー悪くなってる。

451 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 23:47:56.31 ID:LiAu7R50.net]
おっとー、交換条件がおかしいか。
そんなの些細な違いよ!

452 名前:デフォルトの名無しさん mailto:sage [2016/04/16(土) 23:56:43.13 ID:8gZGJMh1.net]
>>37
F# 勉強中

ideone.com/Q1ZFMv

2進⇔10進変換の復習ができてよかった

453 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 20:39:22.16 ID:cB2Ml+fZ.net]
>>433
@Mathematica

ideone.com/hKhw79

454 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 20:55:49.84 ID:cB2Ml+fZ.net]
調べたらこんなのもあった。

@Mathematica
「パターンと規則を使ってバブルソートアルゴリズムを実装する」
https://reference.wolfram.com/language/example/ImplementTheBubbleSortAlgorithmWithPatternsAndRules.html

455 名前:デフォルトの名無しさん [2016/04/17(日) 21:55:03.28 ID:8hbCthlc.net]
>>440
隣同士の要素を比較・交換するのがバブルソートだと思うけど



456 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 22:19:43.05 ID:chPSqpJT.net]
>>411
F# 勉強中

ideone.com/3e3eOt

素数判定はWikipediaの同名項目に書かれてるCソースの丸パクリです・・・
あと、最初に挑戦したときは>>418と全く同じ症状だったので断念・・・
なんだか、イマイチな感じなので後でコッソリとリファクタリングするかもです

457 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 22:30:35.60 ID:DiLcHZEv.net]
4×4の15パズルの、解ける盤面を作るのに、
空いているマスに、ランダムに100回ほど移動して、
盤面を作っている本を読んだが、

ランダムに盤面を作って、それが解ける問題かどうか、簡単に判別できる方法はないの?

3×3の盤面で、ランダムに盤面を作って、解ける問題かどうかを判別して。
上は解ける。下は解けない

0,1,2
3,4,5
6,7,空

0,1,2
3,4,5
7,6,空

458 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 01:55:07.16 ID:v1FL9ptr.net]
>>448
c++で適当に書いた。ideone.com/eJKGw8
以下を参照したが実装が少し違うのであってるかわからん
homepage2.nifty.com/TOMOMI/text/14-15.pdf

459 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/04/18(月) 14:39:50.41 ID:6ER+VIie.net]
15パズルの偶奇性
www.geocities.jp/m_hiroi/puzzle/parity.html

460 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 15:49:05.97 ID:vrHU0PJO.net]
1と4と空白を所定に合わせて
あとは偶奇性

461 名前: ◆QZaw55cn4c mailto:sage [2016/04/18(月) 19:33:23.43 ID:h2Yzyofc.net]
>>441
いや,オーダーはやはりΟ(n^2)で変わらない.
どんなコードを想定していたの?

462 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 20:53:46.45 ID:zW4NHiQV.net]
>>452
デバッグなしで書くと。
for(i=0;i<size-1;i++){
for(j=i+1;j<size;j++){
if(a[i]<a[j]) swap(&a[i],&a[j]);
}}
こういうコードを初心者のころどうも発明(バグ製造)したらしくてずーっと使ってるんだけど、それの簡略版。
forの間にIssorted相当を仕込めばオーダ不安定ソートになる。
俺は長い間これをバブルソートだと思っていた。Orz

463 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 20:57:27.48 ID:zW4NHiQV.net]
バブルソートからどうやってコムソート創造したんだよ。
と長い間思っていたが、ベースから間違っていた。Orz

464 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 21:02:36.79 ID:zW4NHiQV.net]
オーダーっていうか、実行効率だな。些細なことだけど。

465 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 22:43:04.02 ID:h2Yzyofc.net]
>>455
そうそう,オーダー表現は n!, n^2(n^c), nlogn, 1 などで表現する.定数倍は無視するんだ, 正確な定義は知らないがたぶん極限が収束するかどうかで見るんだろう.
>>453 もΟ(n^2)



466 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 23:45:25.46 ID:zW4NHiQV.net]
>>456
なるほどわからん。
まぁ、そういう勘違いを積み重ねるだけの人生だった。Orz
いや、死んでないけどさ。

467 名前:デフォルトの名無しさん mailto:sage [2016/04/19(火) 00:24:10.72 ID:5fHK1dXS.net]
>>456
n>cのときg(n)<d*f(n)が成り立つようなc,dが存在すれば関数g(n)=O(f(n))って感じじゃね
イメージ的に

468 名前:デフォルトの名無しさん mailto:sage [2016/04/19(火) 01:07:43.67 ID:ZMwgfCfL.net]
数学で会話できる人かっこいいなー。

469 名前:デフォルトの名無しさん mailto:sage [2016/04/19(火) 17:18:01.67 ID:93zFzB0Z.net]
>>458
かっこいいー
もしかして大学出ですか?

470 名前:デフォルトの名無しさん mailto:sage [2016/04/19(火) 23:30:31.84 ID:iVQa/t2n.net]
>>342
F# 勉強中

ideone.com/TfJghl

なんかSQLいじってる気分になった

471 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 16:20:19.87 ID:bv/Q/2uG.net]
>>433 Squeak/Pharo Smalltalk

| simpleBubble |

simpleBubble := [:arr |
 | stream |
 stream := arr readStream.
 arr size - 1 timesRepeat: [
  arr size - 1 timesRepeat: [
   stream next > stream peek ifTrue: [
    arr swap: stream position with: stream position + 1]].
  stream reset
 ].
 arr
].

simpleBubble value: (1 to: 10) asArray shuffled "=> #(1 2 3 4 5 6 7 8 9 10) "

472 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 20:06:02.61 ID:ARUL8qdV.net]
>>433 c
https://ideone.com/NRFb3z

473 名前:デフォルトの名無しさん mailto:sage [2016/04/20(水) 22:18:59.00 ID:+sWW+qMV.net]
>>433 Io
f := method(a,
 i := 0
 while(i < a size,
  if(a at(i) > a at(i + 1),
   a swapIndices(i, i + 1)
   i = 0
  ,
   i = i + 1
  )
 )  
 a
)

474 名前:デフォルトの名無しさん mailto:sage [2016/04/21(木) 13:03:18.17 ID:5MDUs+Ed.net]
>>433 Squeak Smalltalk (PositionableStream>#lastが無いのでPharoではNG。為念)
>>464 等を参考にループを >>462 よりシンプルにした版。

| simplerBubble |

simplerBubble := [:arr |
 | stream |
 stream := arr readStream position: 1.
 [stream atEnd] whileFalse: [
  stream last > stream next ifTrue: [
   arr swap: stream position - 1 with: stream position.
   stream position: 1
  ]
 ].
 arr
].

simplerBubble value: (1 to: 10) asArray shuffled "=> #(1 2 3 4 5 6 7 8 9 10) "

475 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 01:46:03.15 ID:3vhuTo00.net]
>>433 Rust
https://ideone.com/gOLw6K



476 名前:デフォルトの名無しさん [2016/04/30(土) 21:02:40.94 ID:f9UktSYx.net]
お題:170の階乗の先頭10桁を求める

477 名前:デフォルトの名無しさん [2016/04/30(土) 21:05:19.27 ID:f9UktSYx.net]
お題:170の階乗の先頭10桁を求める

478 名前:デフォルトの名無しさん [2016/04/30(土) 22:13:46.81 ID:ih9K+Dlj.net]
>>467
Rubyで
p (1..170).inject(&:*).to_s[0,10]

# 実行結果
# "7257415615"
# [Finished in 0.1s]

479 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 23:37:54.35 ID:DWppbW2i.net]
>>467
F# 勉強中

ideone.com/8Mcpmd

少しはF#分かってきたような、そうでもないような・・・

480 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 00:25:30.55 ID:3nNxkvii.net]
>>468
FBasic
'170!
Dim i As Integer
Dim ii As Double
Dim f As Double
f= 1.0
For i= 2 To 170
ii = CDbl(i)
f = f * ii
Next
Print f
Sleep
End

7.257415615307994e+306

481 名前:デフォルトの名無しさん [2016/05/01(日) 01:30:49.70 ID:PVJV1HwV.net]
>>467 Io
Io> a:=1;for(i,1,170,a=a*i);(a/(10**(a log10 floor-9)) )floor asString(10,0)
==> 7257415615

482 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 05:22:39.61 ID:k8Y2io+T.net]
>>467 Python3
関数を定義したり制御構文を使ったりライブラリをimportしたりするのは負けた気がするので捻った

>>> str((lambda f, n: f(f, n))((lambda g, m: m * g(g, m-1) if m > 0 else 1), 170))[:10]
'7257415615'

483 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 07:00:07.79 ID:Jp0j1ueK.net]
>>467 Squeak/Pharo Smalltalk

170 factorial asString first: 10 "=> '7257415615' "

484 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 09:24:40.00 ID:i1tpwyoc.net]
>>467
@Mathematica

170 // Factorial // ToString // StringTake[#, 10] &

485 名前:デフォルトの名無しさん [2016/05/01(日) 09:37:49.41 ID:tKi6j9CT.net]
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません




486 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 14:28:23.75 ID:XECCJNE2.net]
>>467 F#
printfn "%s" <| (Seq.reduce (*) {1I..170I}).ToString().[..9]

487 名前:デフォルトの名無しさん [2016/05/01(日) 21:02:15.79 ID:PVJV1HwV.net]
>>467 R
> substr(sprintf("%f",prod(1:170)),1,10)
[1] "7257415615"

488 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 07:53:08.55 ID:JrdSjVB4.net]
お題: n!の上位桁が10^x-1になる最小のnを求める (xは正の整数)


x=1: n=96 (9916779348...)
x=2: n=96 (9916779348...)
x=3: n=261 (9996811196...)
x=4: n=17411 (9999777368...)
x=5: n=583104?

489 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 11:11:18.30 ID:ybUtGNCd.net]
>>479 Squeak/Pharo Smalltalk

| fn |
fn := [:x |
 | factFloat factStr n nines |
 n := 0.
 factFloat := 1.0.
 nines := String new: x withAll: $9.
 [ n := n + 1.
  factFloat := factFloat * n.
  factFloat := factFloat / (10 raisedTo: factFloat log asInteger).
  factStr := factFloat asString copyWithout: $. .
  factStr first = $0 ifTrue: [factStr := factStr allButFirst].
  factStr size >= x and: [(factStr first: x) = nines]
 ] whileFalse.
 {#x->x. #n->n. factStr truncateWithElipsisTo: 13}
].

fn value: 1. "=> {#x->1 . #n->97 . '9916779348...'} "
fn value: 2. "=> {#x->2 . #n->97 . '9916779348...'}"
fn value: 3. "=> {#x->3 . #n->262 . '9996811196...'} "
fn value: 4. "=> {#x->4 . #n->17411 . '9999777368...'} "
fn value: 5. "=> {#x->5 . #n->583104 . '9999906872...'} "
fn value: 6. "=> {#x->6 . #n->2064173 . '9999993058...'} "

490 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 08:45:55.56 ID:GSs/8kUx.net]
>>479
@Mathematica

ideone.com/4LfZ8E

491 名前:デフォルトの名無しさん [2016/05/04(水) 21:22:23.48 ID:WvfFbq7M.net]
>>479 Io
f := method(x,
 d := 10 ** (x - 1)
 q := 10 ** x - 1
 a := 1
 n := 0
 while(q != (a * d) floor,
  n = n + 1
  a = a * n
  a = a / 10 ** a log10 floor
 )
 n
)

Io> f(1)
==> 96
Io> f(3)
==> 261
Io> f(5)
==> 583104

492 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 22:35:23.32 ID:qgnKpMBO.net]
//┏┳┳┳┳┓
//┣╋╋╋╋┫
//┣╋╋╋╋┫
//┣╋╋╋╋┫
//┣╋╋╋╋┫
//┗┻┻┻┻┛
//上記の6X6の通路を左上から右下へ到達する時に
//同じ場所を通らずにたどり着くルートは何通りあるか?

嫌儲のプログラミングスレで盛り上がってるこの問題どうすかね

493 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 22:37:44.31 ID:h5NbJg5S.net]
おねえさん・・・

494 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 00:59:50.49 ID:muAMBl7W.net]
>>483
以前、お題スレ Part6の984 の問題で作ったものをそのまま流用。
左上から部屋番号1,2,3,...36(右下)として、部屋同士の接続を定義。
言語C++: ideone.com/1Nj1eU
5x5なら1秒以内で終わるのですが、6x6はideoneではタイムオーバーでした。
計算するときはn=6にして計算して下さい。自分のところでは計算に70秒程度。
正直合ってるかどうかわかりません。

結果:
6x6:
全1262816通り
最短距離10(252通り)
最長距離34(10180通り)

ちなみに・・・
2x2:全2通り
最短距離2(2通り)
最長距離2(2通り)
3x3:全12通り
最短距離4(6通り)
最長距離8(2通り)
4x4:全184通り
最短距離6(20通り)
最長距離14(32通り)
5x5:全8512通り
最短距離8(70通り)
最長距離24(104通り)

495 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 01:32:14.77 ID:muAMBl7W.net]
>>483
元のスレ見にいったら、問題にもう1行あったよ
//ただし、同じ交差点は何度通ってもいい
これあるなら>>485は取り消しします



496 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 02:48:54.24 ID:PH/e0da8.net]
>>479
F# 勉強中

ideone.com/vWueIT
※ただし、UInt64(Max 10進数で19桁)で計算してるので誤差が生じはじめると・・・

ideone上だとx=5が限界、以下ローカルでの実行結果
x=1: n=96 (9916779348...)
x=2: n=96 (9916779348...)
x=3: n=261 (9996811196...)
x=4: n=17411 (9999777368...)
x=5: n=583104 (9999906872...)
x=6: n=2064173 (9999993058...)

ちなみに、x=5がローカル(i7-3537U)で30秒くらいかかるのにideoneだと6秒未満だし
やっぱ性能いいのねぇ・・・
あと、階乗の手抜きっぽい計算はPAIZAの彼女を作るゲームの水着ゲット問題で研究しますたw

497 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 15:33:45.25 ID:SQKTrz0M.net]
>>486
それは発展版の方でですね

最初は482で次問が交差点を何度もです
ちなみに交差点を何度もではかなり気をつけないとCではスタックオーバーみたいですね

498 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 17:16:35.94 ID:PH/e0da8.net]
>>483
F# 勉強中

ideone.com/31G3C2

ideoneでは残念ながら制限時間超過・・・
ローカル(i7-3537U 8GB mem)では1,262,816通り、実行時間およそ42秒

末尾再起にするため、やむを得ずmutableを使ったのだが、もっとうまいやり方はあるのだろうか・・・・

499 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 18:24:52.73 ID:ZdWJcfSQ.net]
>>488

482発展版? by c++ n=6まで
ideone.com/J22mpj

手元で時間がかかったがn=7も確認

500 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 07:33:20.07 ID:+i3ap6tD.net]
>>490

489は、非発展版でした。
発展版はn=5が限界だった。あのビデオ通りの動きだな
ideone.com/J22mpj 上書き

n=3の経路見てみてあっているような感じ。
それ以上のnは確認ができてない。

数列辞典で引ける程度でたので、これかな
https://oeis.org/A013990

501 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 23:52:58.29 ID:qCADCCRG.net]
>>467
ideone.com/P7XHHt
C++。スレが専ブラの画面外に行ってたのでチェックしてなかった。
C++で作った割には誤差が出なくてよかった。たぶん。
>>469つかって検算させてもらった。thx.

502 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 00:03:58.77 ID:r8xFef3w.net]
>>483はC++やってる人がいるのでパス。
それ以上のコードはかけなさそう。Orz

503 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 00:04:20.89 ID:r8xFef3w.net]
あ、日付かわった。

504 名前:デフォルトの名無しさん [2016/05/08(日) 21:11:37.01 ID:WelKIVWp.net]
お題:1から16までの連続した自然数をA,Bの二つのグループに分ける。
Aの要素の総和とBの要素の総和が等しく、Aの要素の2乗の総和と
Bの要素の2乗の総和も等しく、さらにAの要素の3乗の総和と
Bの要素の3乗の総和も等しくする。

505 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 23:07:10.56 ID:3m2Dr+7v.net]
{2,3,5,8,9,12,14,15}

{1,4,6,7,10,11,13,16}
だけ?



506 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 23:23:03.64 ID:3m2Dr+7v.net]
あ、共通部分があってもいいんだな

A=B={1,2,...,16}とか

まだありそう

507 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 23:38:34.59 ID:r8xFef3w.net]
5秒では終わらんなー。まぁ暇だからやってみようかなぁ・・・。

508 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 00:30:22.73 ID:pUXvKib1.net]
>>495
ideone.com/gzHjPK
C++。一応こういうコードを書いてみた。ろくにデバッグできなかったのでバグってる可能性が高い。
コンビネーションほしー。16!とかほぼ無理なので、絶望した。

509 名前:デフォルトの名無しさん [2016/05/09(月) 01:03:48.60 ID:yYTJyO7B.net]
Haskellならマイクロ秒のオーダーで計算できますよ?
未だにC++に固執するのは宗教ですか?

510 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 01:22:53.38 ID:pUXvKib1.net]
特に宗教じゃないけど、ほかの言語を覚える気にならないだけ。
真面目にゲーム作るときに使おうと思って覚えたのが動機だから、ゲーム基準なの。
constexprがもうちょっと高機能になったらいいなーと思ってる。

511 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 01:25:19.28 ID:pUXvKib1.net]
>>500
というか、煽ってないでコードだしてよ。
ハスケール読めないけど。

512 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 03:01:39.37 ID:2YrVj7rY.net]
>>497
グループ分けだから共通は無しじゃないの

513 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 15:09:43.81 ID:9C2z/2Vf.net]
>>495
ideone.com/kcTdlh

16だけだと寂しかったので、答えが多数出てくる24も追加してみた。
1は必ずAグループに入るようにしている。
(A,Bを特定した時、全く逆の組み合わせも存在するが、今回は表示してない)

514 名前:デフォルトの名無しさん [2016/05/09(月) 20:05:26.31 ID:t+bzhO52.net]
>>495 Io
for(i, 1, 2 ** 15,
 a := list
 for(j, 1, 16,a push(if(i at(j - 1) == 1, j, -j)))
 if(a map(**3) sum == 0, a println)
)

実行結果
list(-1, 2, 3, -4, 5, -6, -7, 8, 9, -10, -11, 12, -13, 14, 15, -16)

正の数をひとつのグループ、負の数をもうひとつのグループというこで

515 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 00:08:20.11 ID:E+X0dc0Z.net]
>>495
ideone.com/3boCML
C++。重複なし版。相変わらず16!は解決してない。
>>504 これ早いなー。すごいなー。Orz



516 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 19:41:46.28 ID:2fCl6+HU.net]
31の場合は何通り?

517 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 20:56:18.35 ID:0+ZmZvza.net]
40通り

518 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 21:01:50.08 ID:TdrM46fl.net]
>>495
@Mathematica

ideone.com/TPGKEh

519 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 02:23:15.24 ID:zcj8oTfj.net]
>>495 Java
ideone.com/J6hgFy

520 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 05:59:04.20 ID:71pkMQnc.net]
>>510
爆速だね。Core i7 4Gで
n=40で3646
n=47で173351
n=48で291482
個見つかった。所要時間1分くらいか

521 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:27:01.99 ID:zcj8oTfj.net]
listupがメモ化とかで速くできそうな気がするけど頭が動いちょらん

522 名前:デフォルトの名無しさん mailto:sage [2016/05/12(木) 19:27:31.92 ID:fkcp4aHY.net]
>>495 Squeak/Pharo Smalltalk

| elems sets |
sets := Set new.
elems := (1 to: 16) asArray.
(1 to: elems size - 1) do: [:n |
 elems combinations: n atATimeDo: [:comb |
  | rest |
  rest := elems difference: comb.
  ((1 to: 3) allSatisfy: [:pow | (comb raisedTo: pow) sum = (rest raisedTo: pow) sum])
   ifTrue: [sets add: {comb copy. rest} asSet]
 ]
].
^sets "=> a Set(a Set(#(2 3 5 8 9 12 14 15) #(1 4 6 7 10 11 13 16))) "

523 名前:デフォルトの名無しさん mailto:sage [2016/05/13(金) 20:53:50.90 ID:6rd1u1gc.net]
>>495
@Mathematica, リファクタリング後

ideone.com/QFce6S

524 名前:デフォルトの名無しさん mailto:sage [2016/05/14(土) 16:09:50.16 ID:LEy4i3xG.net]
>>495
スレ汚しスマソ

@Mathematica, さらにリファクタリング

ideone.com/gvxa8t

testGroup の条件を書き換えて、枝刈り。
計算時間が半分に。

525 名前:デフォルトの名無しさん mailto:sage [2016/05/22(日) 16:51:30.35 ID:QTcku1ZG.net]
昔ダイナムで雪降ってたのでゴム長で行って
朝一大ヤマト1/498で一発入ったら艦長が
『戦闘配置につけ!』って出たのを思い出した。
2連で終わったけど。



526 名前:デフォルトの名無しさん mailto:sage [2016/05/22(日) 16:52:01.87 ID:UXQjq3mC.net]
どこの誤爆だw

527 名前:デフォルトの名無しさん mailto:sage [2016/05/22(日) 16:59:37.57 ID:ZCteEarO.net]
そういや昔のパチンコ雑誌はZ80のアセンブラの解析記事とか載ってたなw

528 名前:デフォルトの名無しさん mailto:sage [2016/05/25(水) 05:32:56.17 ID:4GANdY7B.net]
>>483
@Mathematica

ideone.com/4FZXRG

529 名前:デフォルトの名無しさん [2016/05/27(金) 20:18:44.31 ID:2AExo9Gt.net]
お題:n角形を隣接行列で表す

530 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 04:06:02.91 ID:t8+ZEFcK.net]
>>520
ideone.com/GcMBSl
C++。こういうこと?かしらかしらごぞんじかしら。

531 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 12:17:02.17 ID:MAzFniKU.net]
全然違うし何でそういう発想になったかわからん

532 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 16:19:17.65 ID:XDR4NRkL.net]
おれはこれ以外に解釈できない

533 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 18:12:21.03 ID:t8+ZEFcK.net]
>>522
線引いてみればわかるけど、N角形になるよ。
問題文が端的過ぎる。

534 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 18:15:28.59 ID:t8+ZEFcK.net]
出題者でてきてー。

535 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 01:35:58.98 ID:l7Z0+24R.net]
マジで出題者どこ行った。解こうにも解けないじゃないか。
ダメならダメでいいから出てこい。



536 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 20:35:38.46 ID:4RXp3JbO.net]
>>520 J
f=:(_1&|. +. 1&|.) @ = @ i.

f 4
0 1 0 1
1 0 1 0
0 1 0 1
1 0 1 0

537 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/06/04(土) 22:13:22.70 ID:9azu721e.net]
お題:C/C++とWindowsに限定。レジストリ全体を記憶し、
変更があれば変更点を表示する。
Windows 2000で動作しなければならない。
GUIは必要ない。Enterキーを押したタイミングで差分を表示する。
報酬3000円。銀行振込、WebMoney、ビットキャッシュ、Amazonギフト券の中から選べる。
ただし、メールで連絡が取れること。

538 名前:デフォルトの名無しさん mailto:age [2016/06/04(土) 22:13:38.13 ID:9azu721e.net]
あげ

539 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 00:23:56.68 ID:bEHxSIM9.net]
DB全体のスナップショット機能と同じやん

540 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 07:15:50.35 ID:VJ6TUrY4.net]
ブラック企業かよw

541 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 08:41:23.90 ID:6BPcdog/.net]
Windows7以上?ではレジストリにアクセス権が設定できるんですが?

542 名前:デフォルトの名無しさん [2016/06/14(火) 17:21:21.81 ID:ylR65uF/.net]
N個の具材を3つ選んでハンバーガーにトッピングすることが出来ます。
合計285通りの組み合わせが出来ます。
必要な具材の最低個数と最高個数を求めてください。

543 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 19:38:38.50 ID:Eohj2elN.net]
286個では

544 名前:532 [2016/06/14(火) 20:27:38.82 ID:Wnl/zMEq.net]
いいえ285であってるはずです
「マクドナルド 裏メニュー」の285通りから問題を作りました

545 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 21:21:13.32 ID:F0Va16Jg.net]
この出題じゃその例にはならないぞ



546 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 23:44:42.75 ID:43s0H04y.net]
>>533
ちょっと言ってる意味が解らないですね。
オーダーしてくる確率が決まってるならまだしも、イーブンに注文してくるなら最高値と最低値は一緒になるのでは?
初見でそう思った。

C++にコンビネーションを・・・。Orz

547 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 23:46:00.30 ID:sBc8t+V7.net]
ハンバーガーにも種類があるのはググって分かったけど、それでも何を解答させんとしているのかはよくわからないね

ideone.com/etvHKm

548 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 19:43:08.29 ID:ZJPgf/2E.net]
>>535
表に1個有るんだろ。
計286通り。

549 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 01:19:32.87 ID:BV3PG4b+.net]
お題: 2つの異なる字幕ファイルをマージする
映画の字幕ファイルが2つ(日本語版と英語版)あります
また、2つのファイルはそれぞれ別の人が同じ映画から作成しました
ファイルのフォーマットは以下のように決まっています

[ フォーマット ]
発声開始時間 --> 発声終了時間
台詞1

発声開始時間 --> 発声終了時間
台詞2



550 名前:[ フォーマット例 ]
00:02:11,706 --> 00:02:13,196
banana.

00:02:14,509 --> 00:02:17,842
apple.

1つのファイルには台詞が1000以上あります
作成者が異なるのでぞれぞれのファイルの台詞の時間はバラバラに記録されています
近しい時間帯の台詞が出来るだけ綺麗に連なるように2つのファイルをマージしてください
[]
[ここ壊れてます]

551 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 01:27:48.70 ID:ifKGTnOo.net]
データをフォーマット通り読んでってソートするお仕事?

552 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 01:33:13.09 ID:BV3PG4b+.net]
>>541
作者が異なるので記録する台詞も個人差(詳細だったり大雑把だったり)があります
ソートしたらダメでした…(´・ω・`)

553 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 01:37:53.46 ID:ifKGTnOo.net]
データがなさ過ぎてなんとも言い難いなぁ。一抜け。

554 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 01:55:05.38 ID:ifKGTnOo.net]
まぁ、ぼやっと思う感じでは、
1、ファイルAソート。時間で。
2、ファイルBソート。時間で。
3、両方を別バッファに取り込み。
4、一本化バッファ作成。
5、バッファA[i]の時間とバッファB[j]の時間を比較。
6、小さいほうを一本化バッファの後ろに追加。
7、追加したほうのインデックサをインクリメント。追加しなかった方はそのまま。
8、5にループ。
9、余ってるほうを全部突っ込む。
end。
って感じに思えるが。メンドクセー。

555 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 02:35:16.23 ID:xbYmT3r1.net]
>>542
ソートしてダメならプログラムでやる意味ないじゃん
よくわからんお題だな



556 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 08:12:11.46 ID:a+kSsv7i.net]
>>540
二つのファイルをマージするとどんなメリットがあるの?

557 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 13:48:43.10 ID:kOUAeqMS.net]
とりあえずそのファイルをどこかに置いて見れるようにしとけよ。話はそれからだ。

558 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 14:42:47.48 ID:VC0ezbuZ.net]
>>540
発生開始時刻と発生終了時刻の相加平均値でソートしてはどうでしょうか?

559 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 21:40:42.79 ID:JU4eR3PY.net]
レス遅れてすまんが、お題としてはイマイチだったかな
ttp://www.opensubtitles.org/ja/subtitleserve/sub/5904174
ttp://www.opensubtitles.org/ja/subtitleserve/sub/6525137
>>546
英語の練習がしやすい

560 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 02:19:12.68 ID:sVTYBpM+.net]
タダの準備不足。
人を動かす材料が足りない。

561 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 23:31:32.20 ID:OPqpBspr.net]
そうか。すまんかった

562 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 23:49:35.70 ID:frOOdHyw.net]
入力だけじゃなく出力も提示しないとわからんよ

563 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 21:08:39.04 ID:KvQk5E4z.net]
>>540
JAVA ソース
ttp://ideone.com/vxIcvL

jarなど
ttp://www1.axfc.net/u/3686951.zip

564 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 11:21:22.75 ID:ALuHk1mL.net]
レスがつかないのでいいのか悪いのかさっぱりわからん
無責任なやつだな

565 名前:デフォルトの名無しさん [2016/07/21(木) 20:01:41.38 ID:rb76Qzme.net]
お題:
いくつかの非負整数を区切り記号を略して書き並べてあります。
区切り記号の挿入箇所の組み合わせは全部で



566 名前:何通りありますか? []
[ここ壊れてます]

567 名前:デフォルトの名無しさん [2016/07/21(木) 20:05:24.57 ID:rb76Qzme.net]
>>555
あれ、例が抜けてた↓

"150301" -> 18
"150031" -> 16
"015000" -> 8
"2432902008176640000" -> ?

568 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 23:07:45.64 ID:8Nf0PhCE.net]
>>555-556
C++
あってるかどうかは知らん
ideone.com/F28LZS

569 名前:デフォルトの名無しさん [2016/07/22(金) 12:57:04.31 ID:M/7Z6G3a.net]
>>556
↓のような分割かと思ったが・・・

0,15000
01,5000
015,000
0150,00
01500,0
0,1,5000
0,15,000
0,150,00
0,1500,0
0,1,5,000
0,1,50,00
0,1,500,0
0,15,0,00


570 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 15:32:49.00 ID:JXjdchXx.net]
>>555
C言語 ideone.com/rIkKvv
例からすると区切り無しも含むのですかね

571 名前:デフォルトの名無しさん mailto:sage [2016/07/24(日) 06:35:51.96 ID:el9EgK1j.net]
>>555
Haskell
ideone.com/PsZ9vn

572 名前:デフォルトの名無しさん [2016/07/24(日) 23:19:04.90 ID:IHR53C+P.net]
久しぶりにこのスレ開いたけど
何か過疎ってね?

573 名前:デフォルトの名無しさん mailto:sage [2016/07/24(日) 23:34:50.13 ID:253cC3eo.net]
俺は最近はyukicoderとかpaizaとかでお題解いてるよ

574 名前:デフォルトの名無しさん mailto:sage [2016/07/25(月) 03:46:54.86 ID:0UVAPYM3.net]
「プログラマ脳を鍛える数学パズル」
2016、技術書部門の大賞、受賞作

図書館では、予約している人が10人ぐらいいて、
とても読めそうにないので、今日、買ってきた

Ruby, JS などで書いてある

575 名前:デフォルトの名無しさん mailto:sage [2016/07/28(木) 11:19:50.57 ID:XvUIxyvW.net]
>>555
ideone.com/r93ULh
ideone.com/PrKxyj
C++。数字が合わんがな。何か間違えてるかなぁ。
ルールの把握があいまいなのであってるか知らん。
もしかしたら、stringstreamでやってるwhileでカウントすればいいかもしれん。
それと対象ナンバーが64ビット超えたらたぶん動かない。
まぁいいや。せっかく作ったのでそれだけ認めてくれ。



576 名前:デフォルトの名無しさん mailto:sage [2016/07/28(木) 20:19:22.73 ID:IfzkZoT6.net]
>>564
150301だったら

1,5,0,3,0,1
1,5,0,30,1
1,5,0,301
1,50,3,0,1
1,50,30,1
1,50,301
1,503,0,1
1,5030,1
1,50301
15,0,3,0,1
15,0,30,1
15,0,301
150,3,0,1
150,30,1
150,301
1503,0,1
15030,1
150301

の18通りだと思うけど

577 名前:デフォルトの名無しさん mailto:sage [2016/07/29(金) 03:27:05.93 ID:11+SH8DV.net]
>>555
>>565
ideone.com/JHsovR
ideone.com/gz38Ko
C++。いじってみたけど、数字が合わず。何が間違ってるのかもわからない。
ルールを把握できないって、ぼけてきてるのかなぁ・・・。Orz
最近、思考してないし。

578 名前:デフォルトの名無しさん [2016/08/01(月) 04:25:27.15 ID:4Q/skcnH.net]
>>555
Pythonの勉強がてらやってみました
codepad.org/vszENnrW

>>566
最も愚直な方法は考えられる分け方を全て列挙し、その中から認められない分け方を除外して数えればいい
1,5,03,01の03と01のように二桁以上で先頭が0であるような分け方は認められないと思われる

579 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 02:02:12.74 ID:YLg91Q2/.net]
>>555
>>567
ideone.com/8TbvLG
C++。やっと数字があった。
皆さま、愚かなワタクシメをお許しください。ラーメン。Orz

580 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 22:49:29.00 ID:K0guDqg3.net]
>>555
>>567
ideone.com/ftx1M2
C++でさっくりと。
>>557にあるファイルからの入力受け取る方法いいすね

581 名前:デフォルトの名無しさん [2016/08/09(火) 11:14:00.48 ID:92/o3tci.net]
>>569
checkの返り値はboolなのにそのまま足しちゃうの?

582 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 03:08:08.02 ID:inQKn798.net]
>>570
bool型はtrue=1,false=0なので次のコードは同じ
if(flag)ans++;
ans+=flag;

583 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 07:54:16.90 ID:rXBd1I+h.net]
>>571
ん?

584 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 11:18:58.21 ID:eCSVoJoG.net]
三流のROM専だけど、trueはnot0と思ってたし、trueを数値として扱うのは違和感すごいの。

585 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 11:21:37.91 ID:eCSVoJoG.net]
少し訂正
boolを数値として使うのは違和感



586 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 12:30:53.29 ID:Gdje5e7d.net]
言語による。Cなら普通におk

587 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 12:35:35.23 ID:j6o9ee9V.net]
普通でもおkでもねえよw

588 名前:デフォルトの名無しさん [2016/08/10(水) 19:34:37.97 ID:87OBHkNz.net]
c++のbool型のtrueは1
if文のtrueがnon0であることとbool型の定義は別ってことを理解していれば使っていいんじゃないの?
ideone.com/s3uiYC

589 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 20:05:43.36 ID:6wlopmtf.net]
じゃあ\0とNULLを混同して使っても(実際こんな人わんさといるけど)何も問題ないな

590 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 20:20:05.28 ID:R4BTC7dG.net]
つか0(0x30)とNULL(0x00=\0)を混同だろ、お前まで間違えても何ら問題ない

591 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 20:22:43.02 ID:5BOEqgkW.net]
Pythonのboolはintのサブクラスで数値演算に混ざっても警告やエラーなし
互換性捨てたPython3でもそのままでintから独立させる気配がない

592 名前:デフォルトの名無しさん [2016/08/10(水) 20:29:02.04 ID:sHDHYt88.net]
偽ではないものが真です。言語によって偽の定義が異なる。

593 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 20:48:14.92 ID:qB+vEzvD.net]
if(韓国人の言うこと==true)
return false;
else if(中国人の言うこと==true)
return false;
else
return true;

594 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 20:48:26.57 ID:O/fexyuH.net]
>>576
C に bool はない,だから普通にOKだ,C99 はしらんが

595 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 21:08:56.81 ID:6wlopmtf.net]
>>579
言ってるそばから混同してる奴が出て来たけど、
\0とNULLはまったく意味が違う。



596 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 21:12:11.66 ID:6wlopmtf.net]
>>583
型としてboolはなくても真偽の概念はある。

597 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 21:23:29.03 ID:6bflnq0j.net]
boolをintにキャストして使うとお前らが怒ることはわかった
じゃあなんのためにキャスト出来るようになってるん?数値として扱うべきでないならキャストを禁止すべきだ

598 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 21:56:03.25 ID:6wlopmtf.net]
>>586
別に目的があってキャストできるようにしてるわけじゃない。
単にif文等を機械語に翻訳する時に都合がいいからfalseを0にしてるだけ。

599 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 22:17:30.88 ID:aUoQ61q7.net]
ブール値が無い、C89でも、実質的なブール値という概念がある。
真偽値を返す、比較演算 if(a == b)

これを、if(int型)などと書くのは、MISRA-Cなどではコーディング規則違反

偽は0だが、真は0以外で、1とは限らないかも

\0 は、NUL文字。文字列の最後に使う、番兵。
NULL は、無効なポインタで、0とは限らないかも

600 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 22:33:17.47 ID:20SNjYRS.net]
C++なら問題ないよ
検索すりゃ分かるけどbool->intは0/1になることが言語仕様で決まってる

601 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 22:48:50.81 ID:6wlopmtf.net]
>>589
だからそういう「問題」じゃないってばw
そういう話ならNULLと\0も混同しても問題ないことになるよ。

602 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 23:10:16.36 ID:aUoQ61q7.net]
まあ、0, 1 とか暗号みたいな数値は、使わない方がいい

false, \0, NULL, 全ビット0 など、意図がわかるようにすべき

603 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 00:10:30.93 ID:yzOHsc1F.net]
「私」は「言語」として考えたらboolをboolとして使いたいし、intとしては無しだと思ってます。
でも「プログラミング」としては有りだと思ってます。
宜しければ、bool論争をここで終結としませんか?

604 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 09:47:35.13 ID:EgW5aVb5.net]
return (韓国人の言うこと)?false:!中国人の言うこと;

605 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 10:23:51.85 ID:TQheNK/m.net]
>>586
べつにキャストする必要はない



606 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 18:35:49.99 ID:5aKqGy8m.net]
くだらないことで争ってんな
正しく動きゃいいんだよ、んなもん

607 名前:デフォルトの名無しさん mailto:sage [2016/08/12(金) 12:46:03.49 ID:W0ObG9Gv.net]
これだから型安全でない言語は糞なんだよ

608 名前:デフォルトの名無しさん mailto:sage [2016/08/14(日) 11:38:09.80 ID:uRifR0NT.net]
YukiCoderたのしー。
3問目を解説見ながら解いた。
幅優先探索は苦手だ。Orz

609 名前:デフォルトの名無しさん mailto:sage [2016/08/14(日) 19:57:07.32 ID:HA8B0Krx.net]
縦H横Wのマスの中に現れるa→b→cの順に辿れる道は全部で何通りあるか出力しなさい。
存在しない場合は-1と出力しなさい。
移動は縦横のみできる。斜めに移動はできない。
H==W、3<=(H,W)<=1000とする

問題例
--c-
cab-
cbac

答え 4
--c-|----|--c-|----
-ab-|----|--b-|-a--
----|cba-|--a-|cb--

610 名前:デフォルトの名無しさん mailto:sage [2016/08/14(日) 20:29:36.17 ID:itqO338w.net]
>>598
問題例に不備があるじゃないか。

611 名前:デフォルトの名無しさん mailto:sage [2016/08/14(日) 21:16:51.46 ID:HA8B0Krx.net]
訂正


問題例
--c-
cab-
cbac
----

答え 4
--c-|----|--c-|----
-ab-|----|--b-|-a--
----|cba-|--a-|cb--
----|----|----|----

612 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 01:18:23.97 ID:ATOVcA82.net]
全てのbの上下左右にあるaの数*cの数を足せば良いんだな。

613 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 05:08:48.91 ID:VvgCdVoy.net]
>>598
>>600
ideone.com/AW6YTZ
C++。Yukiだとサンプルしか通らなそうなコード。
まぁ、これが俺の地だしなぁ。
俺は俺にガッカリだよ。Orz

614 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 05:19:59.98 ID:VvgCdVoy.net]
>>598
>>600
ideone.com/oUQbfM
C++。>>601メソッド??
ちょっとすっきりした。

615 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 13:40:01.81 ID:YWGtPoG/.net]
お題

ズッカーマン数(Wikipediaより)
ズッカーマン数(-すう、Zuckerman number)は自然数で、各桁の数字の総乗が元の数の約数
であるような数である。例えば315は各桁の数字の積が 3×1×5=15 であり、15は



616 名前:315の約数で
あるので315はズッカーマン数である。

ズッカーマン数を最初から100個求めよ。
[]
[ここ壊れてます]

617 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 13:49:14.49 ID:/RUSPZDT.net]
梅干し食べて...

なんか力技でやるしかなさそうな感じだな

618 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 14:10:04.63 ID:VvgCdVoy.net]
>>604
ideone.com/t6xXhj
C++。あってるかな?

619 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 20:11:53.65 ID:NvOrOVSG.net]
こんな感じでいいのか?
ideone.com/NJ6rGr

620 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 20:38:01.87 ID:/9WWz1kS.net]
なぜいいと思った

621 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 21:21:48.34 ID:cQHsobNS.net]
C
ideone.com/peczRr

622 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 01:56:24.06 ID:fBfaZTKr.net]
>>604 F#勉強中@半年

https://paiza.io/projects/Zt_Tw1LaKtiB93Fi6dWkJQ

Wikipediaに書いてある数字との照らし合わせはしました
あと、paiza.ioのを貼るのは初めてなのでうまく貼れてるかどうか・・・
ちなみに、F#は主にyukicoderで鍛えてます、少しは分かってきたかも

623 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 02:08:11.71 ID:q0PyZcrj.net]
>>598 >>601のやり方で C言語
ideone.com/wkEP9Z

>>604 C言語
ideone.com/Pxskoy

624 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 14:43:03.45 ID:9WgV32AQ.net]
>>604
@Mathematica

ideone.com/tq9juG

625 名前:デフォルトの名無しさん mailto:sage [2016/08/17(水) 08:55:07.31 ID:5k4XIPv4.net]
>>604 Squeak Smalltalk

| Zuckerman |

Zuckerman := Generator on: [:g |
 1 to: Float infinity do: [:n |
  (n isDivisibleBy: ((n asString asArray collect: #digitValue) reduce: #*))
   ifTrue: [g yield: n]
 ]
].

Zuckerman next: 100



626 名前:デフォルトの名無しさん [2016/08/20(土) 20:32:51.59 ID:vgYTWLvl.net]
>>604
Rubyで。
class Zuckerman
# @param [Int] num チェック対象数値
# @return [Bool] true:入力値がズッカーマン数, false:ズッカーマン数でない
def self.zuckerman num
w = num.to_s
.split(//)
.map {|e|e.to_i}
.reduce(:*)
w == 0 ? false : num % w == 0
end

def self.func1
cnt = 0
(1..Float::INFINITY).map { |e|
(cnt += 1; p e) if self.zuckerman e
break if cnt >= 100
}
end
end

Zuckerman.func1

627 名前:デフォルトの名無しさん mailto:sage [2016/08/21(日) 01:56:15.80 ID:bS7dpt9A.net]
プログラミングのお題で言語間のコード量競うってか
いかに数学的アルゴリズムを考えるスレか?

628 名前:デフォルトの名無しさん mailto:sage [2016/08/21(日) 04:07:51.39 ID://fxd30H.net]
競プロの故郷じゃよ。なんて。
俺算数で解いてるんだぞ・・・。Orz

629 名前:デフォルトの名無しさん mailto:sage [2016/08/21(日) 07:18:31.83 ID:DtQd7MF/.net]
問題を解く早さ、

計算時間の速さ、

コードの短さ、

コードの美しさ、

色々あるね。

630 名前:デフォルトの名無しさん [2016/08/22(月) 00:07:09.67 ID:x59Y2UAa.net]
お題
フィボナッチ数列の先頭に近い数字の合計が、入力値になるように求める。
入力値の例--->出力
1 ---> 1
2 ---> 1,1
3 ---> 1,2
4 ---> 1,3
5 ---> 1,1,3
6 ---> 1,2,3
7 ---> 1,1,2,3
8 ---> 1,2,5

631 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 00:37:32.44 ID:RW2M/REU.net]
30人の生徒がいるクラスで、同じ誕生日の子がいる、確立を求めて

1年を365日とする

632 名前:デフォルトの名無しさん [2016/08/22(月) 00:49:12.07 ID:3wW8ItwJ.net]
>>619

「確立」は求められないけれど,「確率」なら求められる…というのはさておき,

同じクラスで誕生日が同じ子がいる確率の問題は,
森口繁一『応用数学夜話』
に解説があるのだが,その本が本の山の中に
埋もれていて,いま探し出せないのが残念。

633 名前:618 mailto:sage [2016/08/22(月) 01:14:27.85 ID:RW2M/REU.net]
1 - 全員が異なる誕生日である確率

で求めて

634 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 01:18:50.34 ID:38ySFfYc.net]
ideone.com/54J6iS
C++。数列に1を含んでいるので、例のようにやろうとすると全部1で分解しようとする。かも。
例がちょっと懇意なので、俺にはこれが限界やったわ。

635 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 01:27:31.25 ID:38ySFfYc.net]
>>622 -> >>618
安価忘れた。



636 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 01:53:51.46 ID:38ySFfYc.net]
>>619
>>621
ideone.com/BPf9XW
C++。確率の問題なんてだーいきらい。あってるか知らんけど大体こんな感じか?

637 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 02:06:45.94 ID:P8rthkb+.net]
>>621を出された時点で理論的確率を求めて欲しいのは明らかだけど、それだとプログラムを組む意味がない
要するにスレチ

638 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 02:15:23.57 ID:38ySFfYc.net]
>>625
算数でそれは無理なので、俺には無理だー。
( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \

639 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 02:31:12.36 ID:ze8O1aG1.net]
>>625
いやいや、簡単な数式で表現できても人力で数値解を求めるのは
大変なんだから、それってまさに計算機の出番ではあるよ。

お題として楽しいかどうかは別にしてw

640 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 03:39:29.64 ID:PiS6AnEW.net]
>>619 Java
https://ideone.com/Qmn3oZ

641 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 03:55:16.97 ID:38ySFfYc.net]
あ、勘違いしてた。>>624の結果逆だ・・・。Orz

642 名前:デフォルトの名無しさん [2016/08/22(月) 10:05:22.23 ID:6SPK9Sy9.net]
お題
やじろべえの左右の腕に交互に重りを吊るしていく
ただし、左右の重りの重量差が10gを超えたらバランスを崩してしまう
重りの重量が順に与えられるので最後までバランスを保ったままかどうか判定せよ

643 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 10:32:46.57 ID:38ySFfYc.net]
>>630
右と左を引き算してABS取ればいいのはわかるんだけど、重りのサンプル無いかい?

644 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 18:46:34.40 ID:FFKbVhI+.net]
>>618 Common Lisp
https://ideone.com/A0NXTP

64個でタイムアウト
遅すぎるよねこれ
もっと速く解ける気がするけど分からなかった

645 名前:デフォルトの名無しさん [2016/08/22(月) 19:23:14.70 ID:3wW8ItwJ.net]
>>619

森口繁一『応用数学夜話』(ようやく見付けました)によると、この問題は、von Misesとのことです。
結果だけ書くと、k人からなるクラスで誕生日がだれひとりとして同じにならない確率は
(1/n^2):*(n!/(n-k)!)
で、kはひとクラスjの人数、nは場合の数で、閏年を考えなければ
n=365となります。
この本によると、この確率が0.5を超えるのは
k=23
の時だそうです、つまり24人以上のクラスからなる学校では、
誕生日の重なるクラスが多くなるということになります。



646 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 22:39:24.73 ID:RW2M/REU.net]
24人で、0.5を超えるのか。不思議な感覚だな

漏れの感覚では、24人で、0.15ぐらい

647 名前:デフォルトの名無しさん [2016/08/23(火) 00:06:33.47 ID:nbfEIr8Y.net]
>>618
DP?

C言語
https://paiza.io/projects/NpNLBMGoxV-tDcmm4CycBQ
https://out.paiza.io/projects/NpNLBMGoxV-tDcmm4CycBQ/output.txt

648 名前:デフォルトの名無しさん [2016/08/23(火) 00:26:56.57 ID:nbfEIr8Y.net]
>>635
出力整形した

https://paiza.io/projects/rXzmboNl1gbBZflK_j8BrA
https://out.paiza.io/projects/rXzmboNl1gbBZflK_j8BrA/output.txt

649 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 05:09:43.19 ID:1XZ2ZUlZ.net]
ideone.com/RLDrpn
ベンチマークしようとしたら、先に出力エラーになった。

650 名前:デフォルトの名無しさん [2016/08/23(火) 13:54:31.44 ID:nbfEIr8Y.net]
>>637
5,6,7は>>618の結果と違うようだけど

651 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 14:03:36.67 ID:nbfEIr8Y.net]
そうかフィボナッチ数列はすぐ大きくなるから項数はそんなに大きくならないからgreedyでもいいのか
オーダーのことは未だよく分からないけど
たぶんDPよりgreedyのほうがいいのかな?
>>637がgreedyで求めてたので何となくそう思いました

652 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 14:13:51.47 ID:nbfEIr8Y.net]
>>639
あ、greedyだから題意を完全に満たさない結果になってるのか
やはりメモ化探索か
brute forceはキツそうだし

653 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 14:21:20.64 ID:1XZ2ZUlZ.net]
>>638
ちょっとよくわからないけど、バグかなぁ。>>635とかできてるしなぁ。
俺が悪かった。忘れてくれ。

654 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 14:47:31.03 ID:nbfEIr8Y.net]
自分の解答>>635>>636は題意を満たしてに可能性があるかも
先頭に近い数字という条件を
構成数が最も多くなるうち最初に見つかったものという勝手解釈したが
そうじゃなく辞書順的に小さい数を含むほうを選択する必要あるなら構成数が最大になるとは限らないかも
俺も自分の解答>>635>>636を取り下げます

655 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 14:52:37.15 ID:nbfEIr8Y.net]
>>642
となると、今のところbrute forceしかアイデアない



656 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 15:46:43.07 ID:8juwdgVG.net]
>>618
C++で貪欲法
フィボナッチ数を小さなフィボナッチ数に分解するところはもっといいやり方があると思う
https://paiza.io/projects/4gT7Vzo3rwr-d2V0q_vK3w

657 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 16:13:11.72 ID:1XZ2ZUlZ.net]
>>644
おぉ、すごいな。上手い。

658 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 16:59:17.93 ID:nbfEIr8Y.net]
>>642のさらに考察してDPで問題なさそうだと思って>>636のを辞書順に選択するように変えてみたけど結果変わらなかった
https://paiza.io/projects/E3IiR1BZVilAaTnBITTY-w
https://out.paiza.io/projects/E3IiR1BZVilAaTnBITTY-w/output.txt

>>636とのdiff取った、同じと出た
https://paiza.io/projects/R-vSh83dQSqE0kq0WGagTA

659 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 17:06:57.99 ID:Z+VJIz/8.net]
>>618 Squeak Smalltalk

| fn |
fn := [:N |
 | fibonacciUpTo elems ans |
 fibonacciUpTo := [:m |
  Array streamContents: [:ss |
   | a b |
   ss nextPut: (a := b := 1).
   [(a := b flag: (b := a + b)) < m] whileTrue: [ss nextPut: a]
  ]
 ].

 ans := nil.
 elems := fibonacciUpTo value: N.
 [:exit |
  elems size to: 1 by: -1 do: [:m |
   elems combinations: m atATimeDo: [:comb |
    comb sum = N ifTrue: [ans := comb. exit value]
   ]
  ]
 ] valueWithExit.
 ans
].

^(1 to: 10), {100. 1000} collect: [:N | N -> (fn value: N)]

"=> {1->#(1) . 2->#(1 1) . 3->#(1 2) . 4->#(1 1 2) . 5->#(1 1 3) . 6->#(1 2 3) .
7->#(1 1 2 3) . 8->#(1 2 5) . 9->#(1 1 2 5) . 10->#(1 1 3 5) . 100->#(1 2 3 5 13 21 55) .
1000->#(1 1 3 8 21 34 89 233 610)} "

660 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 17:07:07.82 ID:nbfEIr8Y.net]
>>644
何これめっちゃすごいな・・・
フィボナッチ数列に関する定理があるのか

661 名前:デフォルトの名無しさん [2016/08/23(火) 22:31:24.67 ID:xhPJKCKw.net]
>>618
Rubyで。
https://ideone.com/3XA5Qw

662 名前:デフォルトの名無しさん [2016/08/24(水) 00:02:28.52 ID:hGPUmbYi.net]
良問まとめありますか?

663 名前:デフォルトの名無しさん mailto:sage [2016/08/24(水) 00:04:45.93 ID:IQL/zjWi.net]
競プロなんてどうでしょう

664 名前:デフォルトの名無しさん mailto:sage [2016/08/24(水) 06:31:48.04 ID:emWUYHC0.net]
>>618 C言語
ideone.com/3s4puY
>>619 C言語
ideone.com/n6mblc
>>630 C言語
ideone.com/bPehld

665 名前:デフォルトの名無しさん mailto:sage [2016/08/24(水) 12:37:09.73 ID:IQL/zjWi.net]
>>652
N =< f(0) + f(1) + ... +f(k) となるkを見つけたときにf(k-1)が>>618の題意を満たすフィボナッチの数の1つで再帰的にN := N - f(k-1)で貪欲法的に求められるのか
理屈が全然分からん
数学は奥が深すぎ



666 名前:デフォルトの名無しさん mailto:sage [2016/08/24(水) 15:34:01.41 ID:DjG9ToKL.net]
f(0)+f(1)+...+f(k)=f(k+2)-1だから
N>=f(k+1)&&N<f(k+2)を満たすkを探してf(k-1)を選びN-f(k-1)を次のNとして再帰と言い換えたほうがわかりやすい

条件を満たす場合をちょっと式変形すると2f(k)>N-f(k-1)>=f(k)で
フィボナッチ数列の今てきとーに考えたガバ不等式だと2f(k)>=f(k+1)>=f(k)で考えたら再帰の途中で
N-f(kー1)>=f(k+1) && N-f(k-1)<f(k+2)
みたいなkが存在しててもおかしくなさそうだけど大丈夫なのかー

667 名前:デフォルトの名無しさん mailto:sage [2016/08/24(水) 16:45:04.33 ID:38RcxOvs.net]
>>653 N:=N-f(k)やんか!ならf(k+1)>N-f(k)>=f(k-1)になるから帰納法で展開可能なことはすぐに証明出来そうだね
おそらく>>652はフィボナッチ数の大きい方から順に、自然数をフィボナッチ部分列で展開できるギリギリの大きさのフィボナッチ数を選んでる

668 名前:デフォルトの名無しさん [2016/08/24(水) 17:22:27.06 ID:hGPUmbYi.net]
そもそも理解があやしいから確認したいが・・・
フィボナッチ数列でなるべく小さいNをとって、集合{f(1), ・・・,f(N)}で
その部分の和をある数と一致させるって話?

669 名前:デフォルトの名無しさん [2016/08/24(水) 17:30:24.68 ID:hGPUmbYi.net]
>>656とすると、Nの下限は>>652のように総和を計算すればすぐ求まるな。
しかし、任意の数はフィボナッチ数列の部分集合の和で表現できるかとか、
上でf(N)を引き算した数がN-1以下の部分集合の和で表現できるとかは簡単か?

670 名前:651 mailto:sage [2016/08/24(水) 20:06:38.41 ID:emWUYHC0.net]
>>655の言うように展開できるぎりぎりの数を順に選んでます。

とりあえず、f(0)+f(1)+...+f(n)=sum(n) とした場合、
1〜sum(n)の整数はf(0)〜f(n)の部分和で表すことができる
例)フィボナッチ数列の最初の6つ[0,1,1,2,3,5]を使えば1〜12までの数を表せる
というのを前提に、与えられた数がsum(n)より大きくsum(n+1)以内なら
必ずf(n+1)が含まれるということを、残りの数が0になるまで再帰的に計算しています。

最初の前提は、数列を一辺とした正方形をつなげていくというあの形から
直感的になんとなく。1〜sum(n)がf(0)〜f(n)の数列の組み合わせで表せるなら
sum(n)>=f(n+1)(n>=1の場合)
なので1〜sum(n+1)もf(0)〜f(n+1)の数列の組み合わせで表せるということに
なるんじゃないのかなぁと。正直全く自信ないです。

自分が書いたコードは、求めたフィボナッチ数列を配列に保存していたけど
その必要全くなかったですね。 ideone.com/oUIvN8

671 名前:デフォルトの名無しさん mailto:sage [2016/08/24(水) 20:50:39.06 ID:Gt3DCYIG.net]
>>618
@Mathematica

ideone.com/jtWvsW

672 名前:デフォルトの名無しさん mailto:sage [2016/08/25(木) 19:55:54.39 ID:1lQyPTY4.net]
>>657
>上でf(N)を引き算した数がN-1以下の部分集合の和で表現できるとかは簡単か?
f(0)=0,f(1)=1,f(2)=1,f(3)=2,...のようにインデックスを決めておく。
命題:k>=1のときf(k+2) > N >=f(k+1)を満たす任意の自然数Nは{f(0),...,f(k)}の部分集合の和で表せる。
k=1のとき自明
k>=1で成立を仮定しk+1で命題が成り立つことを示す。
書き下すとf(f+3)>N>=f(k+2)を{f(0),...,f(k+1)}の部分列の和で表せればおk。
そこで部分列の一番大きなf(k+1)で全体を引き算すると
f(k+3)-f(k+1)>N-f(k+1)>=f(k+2)-f(k+1) ⇔ f(k+2) >N-f(k+1) >=f(k)
となり仮定よりN-f(k+1)は{f(0),...,f(k+1)}の部分列の和で表せる。
以上から帰納法で命題は正しい。
簡単すぎwwww

673 名前:デフォルトの名無しさん mailto:sage [2016/08/25(木) 19:59:23.41 ID:1lQyPTY4.net]
>>660
>となり仮定よりN-f(k+1)は{f(0),...,f(k+1)}の部分列の和で表せる。
×N-f(k+1)は{f(0),...,f(k+1)}
〇N-f(k+1)は{f(0),...,f(k)}

674 名前:デフォルトの名無しさん [2016/08/26(金) 00:23:54.59 ID:iNPRC5gr.net]
速度が向

675 名前:上したのかどうか計るためのベースとして簡単なベンチマークテスト作った。
適当にウェイトいれて、機種・コンパイラの偏りをなくすようにしてみた。
http://ideone.com/KceBs4


ここ参考にした。
http://www001.upp.so-net.ne.jp/y_yutaka/labo/math_algo/calcbench.html
[]
[ここ壊れてます]



676 名前:661 [2016/08/26(金) 00:28:49.61 ID:iNPRC5gr.net]
ちょい疑問がシフト演算は早いという定説はあるとおもうが。
実際、計測比較してみると足し算、引き算よりも遅い。
オーバーフローが原因で遅くなってる気はするが・・・

677 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 00:34:55.42 ID:46yZwIqt.net]
>>663
コンパイラが最適化しちゃうからじゃね?

678 名前:デフォルトの名無しさん [2016/08/26(金) 00:47:03.70 ID:iNPRC5gr.net]
最適化対策として、計算結果を引き継ぐことで、ループ無視は防止できてるはず・・・

679 名前:デフォルトの名無しさん [2016/08/26(金) 01:07:03.15 ID:iNPRC5gr.net]
計算途中で、内部でオーバーフローか型変換が起こって遅くなってると予測してみて、
整数値で扱えない範囲にならないように、足し算のところビットORで代替してみたけど同速度だった。
単純にシフト演算が遅いだけっぽい。

680 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 01:29:53.53 ID:rbtqc2qT.net]
gccのo3でコンパイルしてみたけど確かにShiftが一番遅かった
どうしてこうなるかはアセンブリみれば一瞬でわかるよ

681 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 01:53:05.11 ID:rbtqc2qT.net]
shiftも早くなるようにおまじないかけといたよ
ideone.com/t1qv2O

682 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 01:54:53.90 ID:rbtqc2qT.net]
すまんローカルだと早くなってたんだが
Shift 421.0ms → 101.0ms

683 名前:デフォルトの名無しさん [2016/08/26(金) 01:56:20.02 ID:iNPRC5gr.net]
アセンブラはわからないけど。
内部で型変換がおってる説が間違いとすると、計算回数だろな・・・
シフト測定はシフト+足し算をしてて、足し算測定のほうは足し算一つだけ。
足し算測定のほうを、足し算1つ上乗せして公平にしてみる。

684 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 02:01:15.45 ID:CVrNr9ea.net]
clang 3.7のCで動かしたらこんなんなったんだがどういうことだ?
ideone.com/5Cjgpy

ちゃんと動いてないのか最適化でばっさりなのか

685 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 02:02:55.47 ID:CVrNr9ea.net]
clangの方が普通に最適化が効いて、gccの方が効いてないだけか?



686 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 04:26:31.05 ID:Mbltetpr.net]
gcc6.2.0使ってコンパイルしたらAVX2命令使いまくりで激速になった

687 名前:デフォルトの名無しさん [2016/08/26(金) 22:19:12.01 ID:iNPRC5gr.net]
良いベンチマーク考案中。
実際の問題を解いたプログラム / 基準ベンチマーク 
の時間比がほぼ一定が良い。機種、コンパイラによらず。

688 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 01:33:01.65 ID:UE0kbjNO.net]
>>662
最適化対策のための出力っていうのが良く分からん
あと、各々の命令の重さの係数(weight)はどうやって決めてるの?

689 名前:デフォルトの名無しさん [2016/08/27(土) 01:40:19.24 ID:7nFiTNgH.net]
必要の計算は無視される最適化に対応。、
意味はないけど最後まで計算を引き継いで出力する。各計算を和でつなぐ。

690 名前:デフォルトの名無しさん [2016/08/27(土) 01:42:17.34 ID:7nFiTNgH.net]
必要のない計算は・・・

691 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 02:40:42.60 ID:UE0kbjNO.net]
なるほど、そういうことか。
シフト命令が遅いのは変数kでシフトしてるからじゃないかな。
kビットシフトするのではなく1ビットシフトをk回繰り返した方が早くなるかも?

692 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 11:38:15.27 ID:2qjvRKJV.net]
つづきは個人のブログかチラシの裏でやれ

693 名前:デフォルトの名無しさん [2016/08/27(土) 12:50:08.51 ID:8oHlLwTt.net]
お題: 数字が書かれたn枚の紙切れが袋に入っています。
この袋から紙切れを取り出し、数字を見て袋に戻すということをx回行います。
x回の紙切れの数字の和がmになる確率を返す関数fを定義してください。

(let ((k '(1 3 5)) (m 10) (x 4)) ; n = 3, m = 10, k = {1, 3, 5}, x = 4
(f k m x))
=> 16/81

(let ((k '(1 3 5)) (m 9) (x 4)) ; n = 3, m = 9, k = {1, 3, 5}, x = 4
(f k m x))
=> 0/81

(let ((k '(1 2 3 4 5)) (m 15) (x 5)) ; n = 5, m = 15, k = {1, 2, 3, 4, 5}, x = 5
(f k m x))
=> ?

694 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 14:21:38.42 ID:/lPBBpET.net]
同じ数字の紙は何枚あってもいいの?
全部違う数字?
入っている数字はmより小さいの?

695 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 14:28:53.21 ID:/lPBBpET.net]
ああ、ごめん。忘れてw



696 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 14:54:16.82 ID:9mBmz7KO.net]
>>680
ideone.com/6XEpQt
C++。モンテカルロ。サンプル数少なすぎて収束してない。
確立はよくわからん。

697 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 15:28:29.92 ID:9mBmz7KO.net]
>>683 をちょびっと整形した。
ideone.com/l9zgpe

698 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 16:50:12.54 ID:FbbA5YyG.net]
>>680 Java
ideone.com/6BEAKE

699 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 18:38:18.89 ID:F1nYMYS3.net]
>>680 C(C99)
ideone.com/IRsTjt

700 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 23:43:10.10 ID:8oHlLwTt.net]
>>630 Emacs Lisp

(defun g (l s i)
(if (null l)
t
(let ((x (funcall (nth (% i 2) '(+ -)) s (car l))))
(when (<= (abs x) 10.0)
(g (cdr l) x (1+ i))))))

(defun f (l)
(g l 0 0))
f

(f '(2 4 2 4 2 4 2 4 2 4 0))
t

(f '(2 4 2 4 2 4 2 4 2 4.1 0))
nil

(f '(2 4 1 10 10 1 4 2 0))
nil

(f '(3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3))
t

701 名前:デフォルトの名無しさん mailto:sage [2016/08/28(日) 21:20:07.72 ID:9IFYhCBA.net]
あなたはN円分の商品を1個購入することになりました。
おサイフの中には1,5,10,50,100,500円玉がそれぞれ1000枚あります。
価値の高い硬貨を優先に支払いに回すときに、それぞれの支払いに使う硬貨の枚数を求めよ
出力はカンマ区切りで左から1,5,10,50,100,500円の順に枚数を出力しなさい

例題
N=1111

出力
1,0,1,0,1,2

1円が1枚、10円が1枚、100円が1枚、500円が2枚なのでこうなります

702 名前:デフォルトの名無しさん mailto:sage [2016/08/28(日) 21:22:27.37 ID:gdb/jxff.net]
ちょっと財布を想像して吹いたw

703 名前:デフォルトの名無しさん mailto:sage [2016/08/28(日) 21:26:10.45 ID:CCZyZi8n.net]
>>688
それ1000枚の条件いるの?

704 名前:デフォルトの名無しさん [2016/08/28(日) 22:06:25.06 ID:sxo5kh14.net]
>>688
Rubyで。
https://ideone.com/fRleLH

705 名前:デフォルトの名無しさん mailto:sage [2016/08/28(日) 22:43:07.98 ID:FpzTx2tv.net]
>>688 Emacs Lisp

(require 'cl-lib)

(setq purse (sort (append (make-list 1000 1) (make-list 1000 5) (make-list 1000 10) (make-list 1000 50) (make-list 1000 100) (make-list 1000 500)) #'>))

(defun f (N purse payment)
(assert (and (integerp N) (> N 0)))
(if (null purse)
""
(let ((x (car purse)))
(cond
((> x N) (f N (cl-remove-if #'(lambda (c) (= c x)) purse) payment))
((< x N) (f (- N x) (cdr purse) (cons x payment)))
((= x N) (cl-reduce #'(lambda (a b) (concat a "," b)) (mapcar #'(lambda (c) (number-to-string (count c (cons x payment)))) '(1 5 10 50 100 500))))))))

(f 1111 purse '())
"1,0,1,0,1,2"

(let ((max-lisp-eval-depth most-positive-fixnum)
(max-specpdl-size most-positive-fixnum))
(f 500500 purse '()))
"0,0,0,0,5,1000"

(let ((max-lisp-eval-depth most-positive-fixnum)
(max-specpdl-size most-positive-fixnum))
(f 666001 purse '()))
""



706 名前:デフォルトの名無しさん mailto:sage [2016/08/29(月) 00:10:36.80 ID:G+hsDqDY.net]
>>688
C++で

707 名前:
http://ideone.com/p4dwIW
>>690
まあ本質的な意味はないけど一応1000枚の条件で答えは変わるぐらい
N=500500
0,0,0,0,5,1000
[]
[ここ壊れてます]

708 名前:デフォルトの名無しさん [2016/08/29(月) 10:41:31.05 ID:6rwIECPC.net]
まえにあった問題の解法が不明。
nに対して、2次元平面の円で、その円周上の整数点がちょうどn個となる円の最小半径を求める問題。

709 名前:デフォルトの名無しさん mailto:sage [2016/08/29(月) 16:45:06.30 ID:fFx5B9de.net]
>>694
問題関係のレスと自分が書いたコード見直したが、何やってるのかわけわからんくなってたから困るww

710 名前:デフォルトの名無しさん [2016/08/30(火) 01:05:58.62 ID:0bBTSjL7.net]
整数 a(0)、・・・、a(n)が与えられた時、
すべてのi に対して、 a(i) + c ≡ 0 (mod m)が成り立つような
m、c >1を求める問題。

711 名前:デフォルトの名無しさん mailto:sage [2016/08/30(火) 01:20:54.99 ID:XiF8vPmR.net]
はい。

712 名前:デフォルトの名無しさん mailto:sage [2016/08/30(火) 03:54:00.29 ID:ccTd05WG.net]
>>694
前スレからもってきたけど円の中心点の情報は書いてくれよ、めちゃくちゃ重要だろ

41 :デフォルトの名無しさん:2015/05/01(金) 14:31:24.98 ID:9G1+bMO9.net
お題:ちょうどn個(1 < n)の格子点(x座標もy座標も整数の点)を通る円の半径の
最小値を求める。円の中心点は格子点でなくてよい。

n=2 -> 0.5
n=5 -> 16.170331
n=6 -> 2.5

713 名前:デフォルトの名無しさん mailto:sage [2016/08/30(火) 07:35:24.70 ID:o3zijpP7.net]
>>680 Common Lisp
ideone.com/yyVA7g
>>688 C++11
ideone.com/rNuPAy

714 名前:デフォルトの名無しさん mailto:sage [2016/08/30(火) 11:00:38.72 ID:bKDKxVCe.net]
>>698
そのn=5は間違えてるから訂正しとく
N=5 (1/6,1/6) R=5.892557 R^2=625/18

715 名前:デフォルトの名無しさん [2016/08/30(火) 11:59:20.10 ID:0bBTSjL7.net]
>>698

個数4N個のときは最小半径と整数点を簡単に求める方法見つかった。 個数4、8、12、16、20、24・・・・のとき。

4で割って1余る素数を最初に求めておく。 5、13、17、29、37、41・・・・・

Nを適当に積に分解して、N = a(1) * ・・・ *a(i) 、a(1) >= a(2) >= ・・を満たすようにして。

半径2乗を5^(a(1)-1) * 13^(a(2)-1) * 17^(a(3)-1)・・・・とする原点中心の円周の格子点の数は、4N個。

最小半径をあたえるNの積分解を一発で求めるアルゴリズムはしらんが、この方針で間違いないはず。



716 名前:デフォルトの名無しさん [2016/08/30(火) 12:11:16.96 ID:0bBTSjL7.net]
まちがってた・・・・これと比較してみたら。 たとえば
8個のときは (2x-1)^2 + (2y-1)^2 = 5
12個のときは、(2x-1)^2 + (2y-1)^2 = 5^2
16個のときは、(2x-1)^2 + (2y-1)^2 = 5*13
20個 のときは、(2x-1)^2 + (2y-1)^2 = 5^4
でいいらしい。

>>701を2で割ったらほぼ合ってるかと・・・





118 名前: 投稿日:2015/05/14(木) 19:56:36.53 ID:rp22TBsk
>>118
俺が計算したのではこんなん
ただし半径256以上は最小じゃないかも知れないから注意
ideone.com/2WBTbl

717 名前:デフォルトの名無しさん [2016/08/30(火) 12:28:56.64 ID:0bBTSjL7.net]
>>702によると、41個の場合の方程式は、
(14x-1)^2 + (14y-1)^2 = 5^2 * 13^2 * 17^2 * 41^2 らしい。

予想するとこれはより半径を縮められるはず。
たとえば、適当に a、b、cをとれば、 ( ax + b)^2 + ( ax + c)^2 = 5^2 * 13^2 * 17^2 * 29^2
の格子点数が41個にできる可能性。

右辺はこれに限るとは言い切れないけど。
最初の右辺でもいまのでも、原点を通る円 x^2 + y^2 = ・・・としてはどちらも格子点数は4*3*3*3*3=324個のはず。

718 名前:デフォルトの名無しさん [2016/08/30(火) 12:45:23.63 ID:0bBTSjL7.net]
324/7 = 46.28、
324/8 = 40.5なので、
>>703でaは8以上だと、41点以上生成できないはず・・
aは7もしくは14で決め打ちして。2倍するのだけは特別でこれは解個数を変化させない可能性。>>702と同様。
しかし2倍しないほうがよリみつかりやすいはず・・
適当にa、bをとれば
( 7x + a)^2 + ( 7x + b)^2 = 5^2 * 13^2 * 17^2 * 29^2 の形で41点生成できると予想。

719 名前:デフォルトの名無しさん mailto:sage [2016/08/30(火) 13:17:27.27 ID:bKDKxVCe.net]
5^2 * 13^2 * 17^2 * 41^2で出てくるのは39点と42点じゃないかな?
数学の事よくわからないけど。

720 名前:デフォルトの名無しさん mailto:sage [2016/08/30(火) 13:23:30.96 ID:bKDKxVCe.net]
おっと間違えた
5^2 * 13^2 * 17^2 * 29^2 の形で出てくるのが39点と42点な

721 名前:デフォルトの名無しさん [2016/08/30(火) 13:55:35.84 ID:0bBTSjL7.net]
いや数学的な裏付けなどなく、たんなる予測だけど・・
いま検証コード作成中。

722 名前:デフォルトの名無しさん [2016/08/30(火) 15:04:25.03 ID:0bBTSjL7.net]
>>706
そのとおりだったわ。どういう理屈?
あと、計算が間違ってなければ>>703は解なしで、41点でてくる方程式は

(7x-1)^2 + (7y)^2 = 5^2 * 13^2 * 17^2 * 41^2 だった。

723 名前:デフォルトの名無しさん mailto:sage [2016/08/30(火) 15:29:46.99 ID:bKDKxVCe.net]
>>708
理屈はわからんw
昔書いた探索コードでそのまま格子点数出せそうな感じだったので、
5^2*13^2*17^2*29^2を突っ込んでみたら39と42が出ただけw

んで、半径として考えるとN=41は
(7x-1)^2 + (7y)^2 = 5^2 * 13^2 * 17^2 * 41^2ではなく、
(14x-1)^2 + (14y-1)^2 = 2 * 5^2 * 13^2 * 17^2 * 41^2になるんかな。

724 名前:デフォルトの名無しさん [2016/08/31(水) 16:46:14.27 ID:9ufvv7Gu.net]
円の格子点のやつは、P=NPとかいった計算理論の話題とみて、難しいクラスでは?
素因数分解とか、巡回セールスマン問題と較べても計算困難では?
( Ax + B)^2 + ( Ax + C)^2 = R^2は半径はR/Aだけど、RもAも無限大までしても、最小半径になる可能性があって。
一つ解けた半径が、最小値なのかすら調べられない気が・・
AかRに上限あるとでも証明できれば別だが。

725 名前:デフォルトの名無しさん [2016/08/31(水) 19:35:22.89 ID:9ufvv7Gu.net]
たとえば、2点のときの最小半径は0.5らしいが・・・ 方程式は(2x)^2 + (2y-1)^2 = 1で。

a 十分大で、r/a < 0.5 を満たすとして、( ax -b )^2 + ( ay -c )^2 = r^2の格子点数が2点のみとなる場合はないのか?
 



726 名前:デフォルトの名無しさん [2016/08/31(水) 19:38:46.35 ID:9ufvv7Gu.net]
>>711が合ってた場合、最小半径はいくらでも小さくできると予想。
>>711が合ってない事を証明できる人いる?

727 名前:デフォルトの名無しさん [2016/08/31(水) 19:40:33.34 ID:9ufvv7Gu.net]
すまん。そんなわけがなかった。半径が小さすぎれば図を書いてみて格子点が発生しない。

728 名前:デフォルトの名無しさん mailto:sage [2016/08/31(水) 19:47:55.57 ID:p1K5Mzky.net]
半径が自然数で中心が原点ならピタゴラス数の数を調べればわかるんだけどな。

729 名前:デフォルトの名無しさん mailto:sage [2016/08/31(水) 19:49:26.51 ID:NSLbELcw.net]
その相似形は等価?相似検出するのメンドクセーけど。

730 名前:デフォルトの名無しさん [2016/08/31(水) 20:41:09.29 ID:9ufvv7Gu.net]
円内部の格子点数を不等式で挟める式あった。 
少し大きい円、少し小さい円のドーナツ型にしたら、円周上の格子点数の理想値が求まるかと・・・



ガウスの円問題

原点を中心とした半径rの円の内部(境界を含む)にある整数点の個数をR(r)で表す.
R(r)は円の面積の推定値を与える.R(100)/100^2 = 3.1417
ガウスは |R(r)-πr^2|<crを示したが,|R(r)-πr^2|<cr^k
となるkの最小値を求める問題に一般化される.
シェルピンスキーはk≦2/3を証明し,ガウスのk=1を改善.
1963年に陳景潤はk≦24/37を,1990年にハクスリーはk≦46/73を得た.
k=1/2と予想されている.

www.geocities.jp/ikuro_kotaro/koramu/834_r2.htm

731 名前:デフォルトの名無しさん mailto:sage [2016/08/31(水) 20:41:41.64 ID:p1K5Mzky.net]
半径rのときの点の最大数は
bごとにaを変化させていってx、yが同時に整数になる数の最大数だな。
x=r (cos a +cos b)
y=r(sin a+ sin b)

732 名前:デフォルトの名無しさん [2016/09/01(木) 00:30:32.18 ID:F9uf4uEu.net]
R(r) 半径rの円の内部の整数点の個数
L(r) 半径rの円の円周上の格子点の個数として。

rより小さいsをとれば、
L(r) <= πr^2 + cr^k - ( πs^2 - cs^k ) 、s -> rとして =2cr^k

>>716にはcの値が書いてないが適当にc=7/2として、
よりよい評価したいのでk=1/2とすると、L(r) <= 7√r
うまく円周上に格子点を配置できたときの上限が7√r。

円周上の格子点を
32点生成できるrはr^2 = 5*13*17/2
64点生成できるrはr^2 = 5^3*13*17/2 らしいので

上の公式で計算してみると
上 = 7√r = 33.9375
下 = 7√r = 75.8867

評価式の性能はいまいち。
評価値とぴったり一致すれば最小半径が証明できるとおもったが使えない。

733 名前:デフォルトの名無しさん [2016/09/01(木) 01:40:05.53 ID:F9uf4uEu.net]
しかし、評価式のべつの使い道があるな。 L(r) < 7√rは正しい前提として。

たとえば、100点生成できる半径を求めようとしたとき、

L(203) < 99.7346 だから、半径が203以下ではムリだと判明する。探索するとき幅は狹められる。

734 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 08:42:57.18 ID:d9inzlx2.net]
どこかほかでやってくれないかな…

735 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 18:50:15.31 ID:wr8HVpEY.net]
そうだな。そもそも単なる数学の問題を
お題化したって、どうせ宿題なんだろって思ってしまう



736 名前:デフォルトの名無しさん [2016/09/02(金) 16:08:29.58 ID:szLK569k.net]
円周の格子点は一年半弱まえのやつだし、数学、数学の宿題の範疇では解けるとはおもえない。
僅かでも円のイチをずらせば格子点がまったく無くなったりするわけで
コンピュータの力技は必要だろ? ある程度、探索範囲をせばめることはできても検証でプログラムいるとおもう。

737 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 19:02:35.81 ID:VYGld2xC.net]
思考垂れ流しうんこマンが自重してくれればそれでいい
一人で連投してんじゃねー

738 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 20:03:49.13 ID:enD9pirT.net]
「論よりコード」

739 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 21:05:07.04 ID:+wy8tThR.net]
この流れならむしろ数学板でもいいとおもう

740 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 21:52:48.00 ID:e1jBggiu.net]
お題:
下図のように山の麓(標高0)の両側にいるA君B君が頂上(標高10)を目指して同時に出発する
ただし、A君B君のいる位置の標高はどの時刻でも等しくなるように登らなければならない
(下図でA君が標高7の峠から標高3の谷へ下るときにはB君は来た道を引き返す必要がある)
標高1だけ上るor下るのに1時間かかるとして頂上まで最短で何時間かかるか求めよ

            10
       7   /\
     /\/3   \
A 0/            \0 B

山の形状は以下のような文字列で表現する
1)文字列の先頭と末尾はA君B君のスタート地点(標高0)を表し、必ず'0'である
2)ゴールの頂上(標高10)の位置は':'で表す(文字コードがちょうど':'='0'+10なので)
3)途中の峠と谷の標高を'1'〜'9'で表す(上図の山の形状は"073:0"と表される)
4)途中の峠と谷は交互に現れるようにする(例えば"037:0"は無し)

テスト例
"073:0" -> 18
"07362:450" -> 36
"06464:36470" -> 42
"0827171:28480" -> 66
"0737491:28180" -> 146
"05374734372747484:184618186912120" -> ?

741 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 23:34:33.91 ID:hbWVf6eK.net]
A:012101....
B:012123...
詰む気がするんだけど

742 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 04:18:59.59 ID:P0QwwpBf.net]
>>726
c++ https://ideone.com/2sIaGw

とりあえず、サンプルが通ったからsubmitって感じ。

743 名前:デフォルトの名無しさん [2016/09/03(土) 08:16:17.90 ID:QWBdU6+p.net]
一年半弱立っててもまともなコードがあがってない難問。 論、一部結果はでてるが有効打ゼロ。

744 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 18:06:05.39 ID:fVb/pFms.net]
>>728

https://ideone.com/2sIaGw (上書き修正)
BFS版を追加して、それを本採用

※依然として低い高さ制限=10に甘えたコードになっている

745 名前:デフォルトの名無しさん mailto:sage [2016/09/03(土) 20:46:56.74 ID:hrFRXovl.net]
>>604 OCaml(勉強中)

ideone.com/fRBQlj

F#と並行してその元になってるOCamlの勉強も始めてみました
yukicoderで同じ問題やったらOCamlの方が実行時間8倍速、使用メモり1/7くらいだった・・・



746 名前:デフォルトの名無しさん [2016/09/04(日) 04:44:05.42 ID:swx+XD0y.net]
>>726
Ruby
https://ideone.com/LcrSC5

747 名前:デフォルトの名無しさん [2016/09/04(日) 10:12:56.94 ID:AIgtYd56.net]
円周の格子点は、
平面上の0-45度部分へ整数点の中心(a,b)を取って
原点を通る円、 (x-a)^2 + (y-b)^2 = r^2, (r^2 =a^2 + b^2)をベースに
整数mをとって解個数を1/m以下にする操作、
(mx-a)^2 + (my-b)^2 = r^2を考えればよさげ。
これならa,b,mは小さい順に無駄なく動かせ網羅できるかと。

748 名前:デフォルトの名無しさん mailto:sage [2016/09/04(日) 14:51:14.83 ID:+9WebUQ3.net]
>>733
論よりコード もしくは演算結果

749 名前:デフォルトの名無しさん mailto:sage [2016/09/07(水) 01:44:45.83 ID:Bbadz6db.net]
>>726 Emacs Lisp

(require 'cl-lib)

(defun f (s)
(let* ((e (reduce (lambda (a b) (concat a (substring b 1)))
(mapcar (lambda (x) (let ((a (car x)) (b (cdr x)))
(macrolet ((c (d) `(loop for i from a ,d b concat (string i)))) (if (< a b) (c to) (c downto)))))
(loop for i from 0 below (1- (length s)) collect (cons (aref s i) (aref s (1+ i)))))))
(f (position ?: e)) (g (substring e 0 (1+ f))) (h (apply #'string (reverse (string-to-list (substring e f)))))
(w 0) (y '(((0 . 0) 0 nil))))
(while y
(let ((i (caaar y)) (j (cdaar y)))
(if (and (= (aref g i) ?:) (= (aref h j) ?:))
(setq w (cadar y) y nil)
(setq y (append y (mapcar (lambda (x) (list x (1+ (cadar y)) (cons (cons i j) (caddar y))))
(remove-if (lambda (x) (or (< (car x) 0) (< (cdr x) 0) (find x (caddar y) :test 'equal) (/= (aref g (car x)) (aref h (cdr x)))))
(list (cons (1+ i) (1+ j)) (cons (1+ i) (1- j)) (cons (1- i) (1+ j)) (cons (1- i) (1- j)))))))))
(pop y))
w))

(f "073:0") 18
(f "07362:450") 36
(f "06464:36470") 42
(f "0827171:28480") 66
(f "0737491:28180") 146
(f "05374734372747484:184618186912120") 400
(f "021:120") 12
(f "091:280") 62

750 名前:デフォルトの名無しさん mailto:sage [2016/09/09(金) 01:34:40.70 ID:U1OL4Uha.net]
>>726
Haskell
ideone.com/SHS7xc

751 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 09:47:06.73 ID:lP0lbdh9.net]
お題: Hello, World! を円形にして出力。
円形の定義、CUI, GUI どちらでやるかも自由。
丸くなっていれば良しとする。

752 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 16:48:28.87 ID:cNnBFZuZ.net]
>>737 Javascript
codepen.io/anon/pen/VKvNOg

753 名前: []
[ここ壊れてます]

754 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 03:30:08.30 ID:jvr3tDVu.net]
ideone.com/cGLp0X
C++。イデオンで再現しようと思ってエスケープシーケンス検索したら、
win10の以前のアップデートで限定的に復活してたので使ってみた。
イデオンでは通らなかった。Orz

755 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 03:30:44.87 ID:jvr3tDVu.net]
画像つけ忘れた。Orz
sssp://o.8ch.net/gsxd.png



756 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 08:28:14.57 ID:ziymAouq.net]
>>694
https://ideone.com/wVBe61 (コードではなく計算結果)
円周上の格子点、高速化頑張ったら15分でこれ位行けるようになった@PentiumG6950

https://ideone.com/lpXRWS
こっちは1年前にUPしたけどスレに貼らなかった計算結果…結構長い時間かけて計算したような覚えがある。

757 名前:デフォルトの名無しさん [2016/09/13(火) 11:57:17.52 ID:EheVVWlB.net]
円周の格子点問題は、数学でもプログラムでも一発で解答できる決定版はなさげで
力業をいかに高速化するかにかかってるとおもうな。

758 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 12:05:57.03 ID:UfB/Iygd.net]
直径nキロメートルの円があります。
手島と大嶋は時計回りに円周上を走ることになりました。
手島は秒速tセンチメートル、大嶋は分速oメートルで走ります。
0<n<100000000
0≦t≦10000000
0≦o≦10000
0<m<1000000
大嶋が円をm周した時に手島はn周出来たか出力しなさい。

■標準入力
1行目がn、2行目がtとo、3行目がm
n
t o
m

■標準出力
n

759 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 12:44:49.89 ID:c6Y5aSJz.net]
>>743
nが2回出てきてるんですが
っていうか、答えは整数実数どっち?
後者なら有効数字はどうするの?

760 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 12:45:20.45 ID:jvr3tDVu.net]
時計ですなー。

761 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 13:35:13.01 ID:ziymAouq.net]
>>743 Java
https://ideone.com/nWux6W
直径って出力に関係ないよね…?

762 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 23:16:40.62 ID:Hd4kFj6N.net]
>>737 C
ideone.com/JZTL1J
>>743 C
ideone.com/sIdSFq

763 名前:デフォルトの名無しさん [2016/09/14(水) 00:16:05.45 ID:U8aDu041.net]
>>743
Rubyで。
input =<<END
2.5
100 200
10
END
n, t, o, m = input.split.map { |e| e.to_f }
p 3 * m * t >= 5 * o * n

764 名前:デフォルトの名無しさん mailto:sage [2016/09/14(水) 18:32:15.94 ID:XNPp97JV.net]
地球の半径ですら6400キロなのに
直径100000000キロまで設定している>>743って。。。

765 名前:デフォルトの名無しさん [2016/09/14(水) 21:22:01.11 ID:lCv5R5I7.net]
宇宙人なんだろう
観測史上最大の星 L1551 IRS5 だと1e8じゃあまだまだ足りんぞ



766 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 20:19:45.34 ID:9oYup838.net]
出題出来るオレ、カッケー
とか思って調子に乗ってやったんだろ、どうせ。
今頃恥ずかしくてこのスレも見ていないだろ。
こういう奴はdat落ちして新スレに移行するか、最新50くらいの
過去ログが流れてしまった頃に
素知らぬ顔してまた書き込み出すぜ。

767 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 20:44:49.56 ID:goOJLnhv.net]
山下雄介

768 名前:デフォルトの名無しさん [2016/09/21(水) 12:22:41.32 ID:Fil1hk+D.net]
Haxe(ヘックス)はOSSで、JSに型チェックを付けたような言語で(altJS)、
JS, Flash, PHP, C++, Java, C#, Python に書き出せる。
Windows8.1対応

IDEは、FlashDevelop

このサイトで、ブラウザでプログラミングして、実行できる
Try Haxe !
try.haxe.org/

Haxeプログラミング入門、尾野政樹、2015

769 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 00:14:12.32 ID:x19ZT2Us.net]
お題:足がコンパスのロボット
足がコンパスのようになっており、片足を支点にして交互に回転しながら歩くようなロボットがあります。
回転半径は1メートルで固定です。その回転角度は10〜360°まで設定できるのですが、
実際に動かすと、その設定範囲内で1歩毎に常にランダムの角度で動いてしまいます。
例えば90°に設定すると、1〜90の範囲で1°間隔にてランダムな回転角度です。
スタート地点にこのロボットを置き、1000歩、歩かせた場合、
最もスタート地点から遠ざかってしまう可能性が高い設定角度は
10°、30°、45°、60°、90°、180°、270°、360°のうちどれでしょう?

770 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 00:25:35.81 ID:va8I6tp2.net]
回転角度は10度以上360度以下の整数で
設定がn度のとき、1,2,3,...,n度で歩く確率がそれぞれ1/nってこと?
設問がよくわからない

771 名前:753 mailto:sage [2016/09/28(水) 00:27:45.52 ID:x19ZT2Us.net]
>>754
訂正します。
最もスタート地点から遠ざかってしまう可能性×
最も歩く範囲面積が大きくなる可能性○

772 名前:753 mailto:sage [2016/09/28(水) 01:05:00.83 ID:x19ZT2Us.net]
>>756
面積は必要なかったw
最も歩く範囲が大きくなる可能性○

773 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 01:08:31.73 ID:va8I6tp2.net]
歩く範囲って何?
そしてその範囲にどういう順序を導入すんの?

774 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 01:31:23.36 ID:x19ZT2Us.net]
>>758
どうしようかな・・・
例えば、ロボットが大きな円盤に乗っている。ロボットを中心に置く。
1000歩歩かせた場合、一番大きな円盤を必要とする設定は概ね何度でしょう?
ってのがいいかな。

775 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 01:44:05.92 ID:vAKZVh2k.net]
なんという泥縄...



776 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 02:12:02.41 ID:E00q6b/l.net]
設定が360度の場合、1度〜360度でランダムなのか10度〜360度でランダムなのか

777 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 02:13:21.23 ID:E00q6b/l.net]
て書いてあったわすまん

778 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 02:18:42.43 ID:E00q6b/l.net]
>>754 Java
https://paiza.io/projects/CDqrMJ9Uzeu_xuPBk77a3Q
これで良いんかの

779 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 02:45:02.35 ID:E00q6b/l.net]
うん、>>763バグってるねw
https://paiza.io/projects/y_4Q-6RWYYRQul600Fxw7A

780 名前:753 mailto:sage [2016/09/28(水) 09:28:28.82 ID:5Q2VSD5F.net]
>>764
正解!

781 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/09/28(水) 23:43:35.22 ID:fvrxpn3K.net]
お題:X-Y散布図のデータが与えられると、データの特徴を出力するプログラムを作れ。

782 名前:デフォルトの名無しさん mailto:sage [2016/09/29(木) 00:41:48.24 ID:jq9v4dMk.net]
質問。出力の型はな〜に?

783 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/09/29(木) 00:56:33.41 ID:4ynE22uh.net]
>>767
決まっていない。

784 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/09/29(木) 01:02:42.83 ID:4ynE22uh.net]
Xが変化しないなら、「Xは定数と思われます」。
統計的特徴として、最大値、最小値、平均値など。
相関の有無など。
データの特徴を学習させるときに使えたらなと思う。

785 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/09/29(木) 01:09:09.41 ID:4ynE22uh.net]
>>767
ごめんごめん、型は文字列がいいや。



786 名前:デフォルトの名無しさん mailto:sage [2016/09/29(木) 01:18:25.34 ID:5Ed1CqY4.net]
プログラミングの問題じゃねーなそれ

787 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/09/29(木) 01:24:57.46 ID:4ynE22uh.net]
お題:数列の規則性を分析して一般項のC言語式を推定するプログラム。

788 名前:デフォルトの名無しさん mailto:sage [2016/09/29(木) 01:26:33.81 ID:iWzko7DS.net]
変な奴きたなおい

789 名前:デフォルトの名無しさん mailto:sage [2016/09/29(木) 11:07:09.92 ID:S1ISAJ/O.net]
お題:
次の文章が成り立つように( )の中に数を入れよ(10進数の算用数字の形で)。

『この文章の中に
0は( )文字、1は( )文字、2は( )文字、3は( )文字、4は( )文字、
5は( )文字、6は( )文字、7は( )文字、8は( )文字、9は( )文字、
算用数字は( )文字あります』

790 名前:デフォルトの名無しさん mailto:sage [2016/09/29(木) 11:12:05.26 ID:3fQeuqpk.net]
前にそれ見たことあるけど。問題ちょっと違うけど。

791 名前:デフォルトの名無しさん mailto:sage [2016/09/29(木) 13:26:29.91 ID:HDXVl+rI.net]
>>774
複数解あるから全部列挙しろって事?

Ruby 2.3.1

$><<'『この文章の中に
0は(%d)文字、1は(%d)文字、2は(%d)文字、3は(%d)文字、4は(%d)文字、
5は(%d)文字、6は(%d)文字、7は(%d)文字、8は(%d)文字、9は(%d)文字、
算用数字は( )文字あります』'%[1,7,5,1,1,2,1,2,1,1,22]

792 名前:デフォルトの名無しさん mailto:sage [2016/09/30(金) 17:18:56.68 ID:Y6l190wq.net]
数字と漢数字を相互に変換するプログラムを作成お願いします。
出来ればC#でお願いします。

111231243235436 <==> 百十一兆二千三百十二億四千三百二十三万五千四百三十六

793 名前:デフォルトの名無しさん [2016/09/30(金) 17:34:05.09 ID:CijhFsAG.net]
じぶんでやれ

794 名前:デフォルトの名無しさん mailto:sage [2016/09/30(金) 19:16:59.63 ID:GrCnAQwz.net]
おーくせんまんおーくせんまん

795 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 15:45:59.82 ID:g8fgU4gY.net]
お題と見せかけてプログラム作成依頼する奴って性格悪そう



796 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 17:22:57.31 ID:Hi+y6PXx.net]
じゃぱぁーん!

797 名前:デフォルトの名無しさん [2016/10/01(土) 23:29:57.15 ID:sU5CeuPC.net]
>>777
Ruby
ideone.com/fKqGcR

798 名前:デフォルトの名無しさん mailto:sage [2016/10/02(日) 10:09:53.98 ID:tpSAAMa5.net]
逆方向が難しいな

799 名前:デフォルトの名無しさん mailto:sage [2016/10/02(日) 10:28:30.05 ID:9tnsJKRL.net]
そうなの?
いまから取り組む予定だったけど
そんなに難しいんなら止めよっと

800 名前:デフォルトの名無しさん mailto:sage [2016/10/02(日) 11:51:51.24 ID:QvMQ+uX0.net]
難しくはない
面倒くさいだけで

801 名前:デフォルトの名無しさん [2016/10/02(日) 17:21:53.04 ID:k1HK9CGy.net]
>>777
Rubyで両方向。
ideone.com/vTwBZc

802 名前:デフォルトの名無しさん [2016/10/02(日) 21:03:52.42 ID:YNMJXJ08.net]
お題:3×3×3のルービックキューブを最小手数で6面揃えるプログラム

803 名前:デフォルトの名無しさん [2016/10/02(日) 21:10:43.76 ID:w8w2bVqI.net]
すいません>>787は自己解決しました

804 名前:デフォルトの名無しさん mailto:sage [2016/10/02(日) 21:17:54.22 ID:YgSevYt1.net]
自己解決ってなんだ

805 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 02:19:06.57 ID:afA6oe1A.net]
>>777 ruby 2.0.0
ideone.com/uwKDDc
・マイナスを▲で表現するアイデアは>>786さんから無断で拝借しました
・テスト部分のコードも>>786さんから無断で拝借しました



806 名前:デフォルトの名無しさん [2016/10/03(月) 07:04:42.97 ID:g0wnVkPc.net]
>>790
サンクス

807 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 15:18:20.56 ID:wy4v0QcT.net]
>>787-789

ワラタw

808 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:25:42.73 ID:lIBXU/7G.net]
数独ソルバーで任天堂問題解こうと思ったら、2000万年かかるようになった。Orz
総当たりだとキツイなぁ。数独は。平均サジェスト数が2個の81乗。死ぬわ。

809 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:29:48.53 ID:lIBXU/7G.net]
cp1.nintendo.co.jp/ruby.html
ここから入門。

810 名前:デフォルトの名無しさん [2016/10/03(月) 21:33:29.69 ID:RKI08UEe.net]
任天堂問題とは?

811 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:40:47.39 ID:lIBXU/7G.net]
>>795
俺が作った造語。すまんな。
>>794のページから問題解いてくとアルヨ。

812 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:59:25.51 ID:hxqof8pD.net]
Rubyの自作ヘボ数独ソルバーですらコンマ以下で解けたぞ

813 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 22:19:26.57 ID:lIBXU/7G.net]
>>797
俺あんまりロジック解くの得意じゃないからねぇ。
C++でかいたけど、総当たりは筋が悪いことはわかったよ。

814 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 22:24:43.42 ID:aKvG7AoT.net]
総当たりから不要なパターンを省いていくのも一つの手だと思う

815 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 22:25:59.85 ID:hxqof8pD.net]
>>797
基本ルール:ある数字と同じ列(or行or3*3の正方形)にはその数字が入らない
これだけでも実装して後は背理法でやればすぐ解けると思うぞ
解の一意性がどうかとか細かいこともあるけどこの問題は一意的に求まるから関係ないし



816 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 22:27:06.95 ID:lIBXU/7G.net]
ideone.com/afSrEW
ここからどうしたらいいと思う?
i7-6700でも2000万年かかる。

817 名前:デフォルトの名無しさん mailto:sage [2016/10/04(火) 01:44:53.95 ID:a8C2punc.net]
>>793-794
昔書いたソースコードを流用した

ideone.com/ibTP88

818 名前:デフォルトの名無しさん mailto:sage [2016/10/04(火) 01:58:03.23 ID:FAQ7jfY8.net]
>>802
グレート!
すごいな、イデオン時間で解けるもんなんだなぁ。うーん。俺は修業が足りんな。
俺も結構書いたかと思ったけど全然うわてだ。
ロジック解くときはやっぱこれくらい書かないとダメかー。
ひぎぃ、頭がフットーしちゃうよぉ〜。

819 名前:デフォルトの名無しさん mailto:sage [2016/10/04(火) 02:23:25.94 ID:a8C2punc.net]
>>803
数独は有名な解き方がいくつかあるので、それを知らないと難しいかも
いくつもある解き方を実装するのは面倒なのでバックトラック法でやるのがいいと思う

820 名前:デフォルトの名無しさん mailto:sage [2016/10/04(火) 02:52:38.24 ID:FAQ7jfY8.net]
>>804
情報ありがとう。いいものが見れた。

821 名前:デフォルトの名無しさん mailto:sage [2016/10/04(火) 19:40:37.29 ID:wFGKqamD.net]
お題:任天堂の倒し方をプログラムせよ。

822 名前:デフォルトの名無しさん mailto:sage [2016/10/04(火) 21:58:16.07 ID:ZRyYrZJK.net]
大作だなあ…

823 名前:デフォルトの名無しさん mailto:sage [2016/10/04(火) 23:47:40.64 ID:YN9fMNzy.net]
「方法をブログラムせよ」ってのが謎なんですが

824 名前:デフォルトの名無しさん mailto:sage [2016/10/04(火) 23:50:15.04 ID:FAQ7jfY8.net]
日本語で。
株を買います。株主総会でゴネマス。倒せます。

825 名前:デフォルトの名無しさん [2016/10/05(水) 00:49:13.06 ID:JfbCSBrf.net]
>>806
プログラムしたよ。



826 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 19:29:14.00 ID:Bgv24eMU.net]
任天堂の倒し方を知っていると
言っていた面接官は

827 名前:デフォルトの名無しさん [2016/10/05(水) 19:35:13.81 ID:ljdAnrxD.net]
お題:激問

828 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 21:44:58.11 ID:d6ezgCbb.net]
>>793
ideone.com/cILqPg
C++。
やっと解けたよー。ほとんどデバッグも整形もしてないけど、答えはあってるかも。
2000万年が0秒になった。頭タコすぎて泣けるわ。
頭がフットーする。
>>802に感謝。

829 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 21:45:50.48 ID:iBWfgtGO.net]
print "任天堂の倒し方"

830 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 21:56:56.37 ID:NHEuemUY.net]
ヒントページ見れば苦労せずに誰でも書けそうなもんだが

831 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 22:05:52.60 ID:d6ezgCbb.net]
>>815
ルビー読めません。Orz

832 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 17:02:16.03 ID:VkVdfdR0.net]
スタックを操作するプログラムまたそれを表示するプログラムをお願いします

833 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 17:48:54.19 ID:Gk0vxqlO.net]
狩野英孝のものまねで「スタックー」って叫べばOK

834 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/10/06(木) 18:13:10.02 ID:KbZqo+3y.net]
>>817
自動変数のアドレスはスタックへのポインターになる

835 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 19:29:47.14 ID:LwTuJfQY.net]
スタックを操作するプログラムってこんなんでいいのかな?

#include <malloc.h>
#include <stdio.h>
#include <string.h>

unsigned char data[6] = {0x68,0,0,0,0,0xc3};

unsigned int func() {
unsigned int *p;
p = malloc(1024);
memcpy(p,data,6);
*((unsigned int*)&data[1]) = *((unsigned int*)((unsigned int*)(&p) + sizeof(unsigned int*)));
*((unsigned int*)((unsigned int*)(&p) + sizeof(unsigned int*))) = (unsigned int)p;
printf("0x%X\n",*((unsigned int*)((unsigned int*)(&p) + sizeof(unsigned int*))));
return *((unsigned int*)&data[1]);
}

int main(void) {
printf("0x%X\n",func());
return 0;
}



836 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 19:48:03.50 ID:LwTuJfQY.net]
>>820
すまん、これ間違ってますねぇ・・・
スタックの操作って環境依存な気がするけどどうなんでしょう

837 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 20:04:22.70 ID:SdPd3klr.net]
え?データ構造の練習の話じゃなくてプログラムの一時領域の話?
ちなみにここは宿題スレじゃない。

838 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 21:15:35.91 ID:dAHZcQmf.net]
スマホで入力した数字を出力しなさい
Sは0から9までの数字とcと+と-からなる文字列
0<S<1001
Sの先頭は数字から始まる
Sの最後に+と-がこない
cは入力済みの数字をクリアする
+は左辺に1を足し、-は右辺に1を引く
Sに数字が含まれていなかったり、cと+と-が先頭や最後に出てきたり2文字以上続いたらERRORと出力すること

■stdin
5+1-32c8
■stdout
8

■stdin
32+8
■stdout
338

■stdin
+24c25
■stdout
ERROR

839 名前:修正 mailto:sage [2016/10/06(木) 21:16:30.92 ID:dAHZcQmf.net]
スマホで入力した数字を出力しなさい
Sは0から9までの数字とcと+と-からなる文字列
0<S<1001
Sの最後に+と-がこない
cは入力済みの数字をクリアする
+は左辺に1を足し、-は右辺に1を引く
Sに数字が含まれていなかったり、cと+と-が先頭や最後に出てきたり2文字以上続いたらERRORと出力すること

■stdin
5+1-32c8
■stdout
8

■stdin
32+8
■stdout
338

■stdin
+24c25
■stdout
ERROR

840 名前:修正 mailto:sage [2016/10/06(木) 21:17:13.95 ID:dAHZcQmf.net]
Sの最後に+と-がこない
↑この1文も削除

841 名前:修正 mailto:sage [2016/10/06(木) 21:18:37.24 ID:dAHZcQmf.net]
119+5
なら1205

842 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 21:55:36.99 ID:hrJ3iBy7.net]
この+,-ってスマホの入力とどういう関係があるの?

843 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 21:59:09.52 ID:HEfd0Rj6.net]
また山下雄介か

844 名前:デフォルトの名無しさん mailto:sage [2016/10/07(金) 10:59:44.51 ID:1a/aMfXp.net]
>>824
ruby

if gets.chomp!.split(/[c+-]/, -1).include?('')
puts:ERROR
else
str = $_.include?(?c)? $_[/c\K[^c]*$/] : $_
ary = str.split(/\b/)
ary.each_with_index{|s, i|
case s
when /^\d+$/ then next
when ?+ then ary[i - 1].succ!
when ?- then ary[i + 1] = (ary[i + 1].to_i - 1).to_s
end
ary.delete_at(i)
}
puts ary*''
end

845 名前:828 mailto:sage [2016/10/07(金) 11:10:04.11 ID:1a/aMfXp.net]
ミス

if gets.chomp!.split(/[c+-]/, -1).include?('')
puts:ERROR
else
str = $_.include?(?c)? $_[/c\K[^c]*$/] : $_
ary = str.split(/\b/)
ary.each_with_index{|s, i|
case s
when /^\d+$/ then next
when ?+ then ary[i - 1].succ!
when ?- then ary[i + 1] = (ary[i + 1].to_i - 1).to_s
end
ary[i] = nil
}
puts ary.compact*''
end



846 名前:828 mailto:sage [2016/10/07(金) 11:21:01.09 ID:1a/aMfXp.net]
ミス
連投すまんこれで最後にするわ

if gets.chomp!.split(/[c+-]/, -1).include?('')
puts:ERROR
else
str = $_.include?(?c)? $_[/c\K[^c]*$/] : $_
ary = str.split(/\b/)
ary.each_with_index{|s, i|
case s
when /^-?\d+$/ then next
when ?+ then ary[i - 1] = (ary[i - 1].to_i + 1).to_s
when ?- then ary[i + 1] = (ary[i + 1].to_i - 1).to_s
end
ary[i] = nil
}
puts ary*''
end

847 名前:デフォルトの名無しさん [2016/10/08(土) 08:08:57.97 ID:vxldEz4C.net]
>>824
830を参考にしました。
Ruby
ideone.com/AizppP

848 名前:デフォルトの名無しさん mailto:sage [2016/10/09(日) 01:39:18.78 ID:okPyT/Vt.net]
1行で

gets.chomp!.split(/[c+-]/,-1)&['']!=[]?$><<:ERROR:(~/c/?$_[/c\K[^c]*$/]:$_).split(/\b/).tap{|a|$><<a.each_with_index{|s,i|s.to_s[/\d/]?next: a[i-e=44-s.ord]=a[i-e].to_i+e;a[i]=p}*''}

849 名前:デフォルトの名無しさん mailto:sage [2016/10/09(日) 03:00:29.48 ID:BybICDK4.net]
やっぱRubyって・・・いや、なんでもない

850 名前:デフォルトの名無しさん mailto:sage [2016/10/09(日) 21:58:35.59 ID:2oHV2A6O.net]
>>823-826
・「右辺に1を引く」の右辺をマイナスのすぐ右側の数と解釈

def f8823(s)
# Sに数字が含まれていなかったり、
# cと+と-が先頭や最後に出てきたり2文字以上続いたらERRORと出力すること
return 'ERROR' if /\d+/ !~ s || /(^[c+-]|[c+-]$|[c+-]{2,})/ =~ s
# cは入力済みの数字をクリアする
# +は左辺に1を足し、-は右辺に1を引く
s.gsub(/.+c/, '').gsub(/(\d+)\+/) {$1.next}.gsub(/-(\d+)/) {($1.to_i - 1).to_s}
end
p %W(#{} c + - 1c 1+ 1- c1 c+ c- 1cc1 1++1 1--1 1c+-1 119+5 119-5 119c5 1+1-1 1+1+1 1-1-1).map {|s| [s, f8823(s)]}

$ ruby 8823.rb
[["", "ERROR"], ["c", "ERROR"], ["+", "ERROR"], ["-", "ERROR"], ["1c", "ERROR"],
["1+", "ERROR"], ["1-", "ERROR"], ["c1", "ERROR"], ["c+", "ERROR"], ["c-", "ERR
OR"], ["1cc1", "ERROR"], ["1++1", "ERROR"], ["1--1", "ERROR"], ["1c+-1", "ERROR"
], ["119+5", "1205"], ["119-5", "1194"], ["119c5", "5"], ["1+1-1", "210"], ["1+1
+1", "221"], ["1-1-1", "100"]]

851 名前:834 mailto:sage [2016/10/09(日) 22:19:57.08 ID:k3CHV3QP.net]
>>835は完全に間違っているので取り下げます
1-1+1 が 120 になっちゃうねこれじゃあ

852 名前:デフォルトの名無しさん [2016/10/09(日) 23:19:57.10 ID:0NJ6apgZ.net]
>>836
ideone.com/Qb37qE で実行してみたが、 
1-1+1 は、ERRORじゃね?

853 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 08:00:29.16 ID:HHuVI6c/.net]
お題:
A B C … Z
1 2 3 26
とするとき、

KNOWLEDGE -> 11 + 14 + 15 + 23 + 12 + 5 + 4 + 7 + 5 = 96
HARDWORK -> 8 + 1 + 18 + 4 + 23 + 15 + 18 + 11 = 98
ATTITUDE -> 1 + 20 + 20 + 9 + 20 + 21 + 4 + 5 = 100

となる。

総和が100となる他の単語を3つ見つけよ。

854 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 08:20:11.21 ID:jxPg9rAk.net]
辞書ファイルくださいw

855 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 08:52:21.18 ID:HHuVI6c/.net]
>>839
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1412673334



856 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 09:34:42.77 ID:jxPg9rAk.net]
>>838 Java
https://paiza.io/projects/vpDhY14oTq6f2YXv4a5wIA

857 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 11:41:38.97 ID:PJGQtdQ9.net]
>>838
ruby wordlist.txtは改行\n区切りとする
$><<open('wordlist.txt').readlines.select{|s|s=s.chomp.upcase.delete('^A-Z');s.codepoints.reduce(&:+)-s.size*64==100}[0,3]*''

858 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 15:20:38.52 ID:vALgwmuK.net]
>>838 Emacs Lisp

(require 'cl-lib)

(cl-mapcan (lambda (s) (and (not (string-match

859 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 15:47:08.07 ID:vALgwmuK.net]
>>838 Emacs Lisp

(require 'cl-lib)

(setq result
(cl-mapcan (lambda (s) (and (not (string-match "\x5b^A-Z]" s)) (= (apply #'+ (mapcar (lambda (x) (- x ?@)) (upcase s))) 100) (list s)))
(split-string (with-temp-buffer (insert-file-contents "/usr/dict/words") (buffer-string)))))

(cl-loop for i from 0 below 3 do (print (nth i result)))
"accumulate"
"acknowledge"
"adulthood"

(cl-loop for i from 0 below 3 do (print (nth i (reverse result))))
"yarrow"
"Yankton"
"wholesale"

860 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 17:24:16.08 ID:Tl2g/5GS.net]
左下から右上に登る階段を作りなさい

標準入力よりA Bが与えられる
Aは段数
Bは平らな部分の長さ
0 ≦ (A,B)
何も出力されるものがなければNONEと出力すること

[stdin]
3 2
[stdout]
******__
****__|
**__|
__|

[stdin]
0 1
[stdout]
_

[stdin]
0 0
[stdout]
NONE

861 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 18:14:49.37 ID:jxPg9rAk.net]
>>845
段数1以上で平らの部分の長さが0の場合はNONEと|が縦に並ぶのとどっち?

862 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 18:21:18.09 ID:PJGQtdQ9.net]
>>845
Ruby 1行で

eval"a,b=%s+1,%s;b<1?$><<:NONE:a.times{|i|puts ?**(a+~i)*b+?_*b+?|*i[0]}"%gets.split

863 名前:164 mailto:sage [2016/10/10(月) 18:30:33.51 ID:WihadwZK.net]
>>845 Perl
use f

864 名前:eature qw{:5.16};
$_ = <>;
($n, $l) = split;
$s = sub {
my $i = $_[0];
($n or $l) and $i <= $n ?
__SUB__->($i + 1)
.
'*' x $l x $i . '_' x $l . ($i < $n ? '|' : '') . "\n"
:
''
}->(0);
print $s ? $s : "NONE\n";

d:\Home>perl 8_844_step.pl
3 2
******__
****__|
**__|
__|
d:\Home>perl 8_844_step.pl
0 1
_
d:\Home>perl 8_844_step.pl
1 0

|
d:\Home>perl 8_844_step.pl
0 0
NONE
[]
[ここ壊れてます]

865 名前:164 mailto:sage [2016/10/10(月) 18:33:10.57 ID:WihadwZK.net]
>>848

d:\Home>perl 8_844_step.pl

から下の行はコマンドプロンプトから実行した結果の画面のコピペで、
プログラムソースは

use feature qw{:5.16};

print $s ? $s : "NONE\n";

の範囲です



866 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 18:40:27.87 ID:PJGQtdQ9.net]
Ruby
出力がNONE ⇔ a=0かつb=0 だとすれば
eval"a,b=%s+1,%s;a+b<2?$><<:NONE:a.times{|i|puts ?**(a+~i)*b+?_*b+?|*-2[i]}"%gets.split

867 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 18:41:34.94 ID:XcJmDjCA.net]
>>845
C#
なんか宿題っぽいし(悪いけど)いまいちなお題に思えたけど暇だからやってみた

https://ideone.com/sAWIyp
やっぱりかなり退屈だなw

868 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 20:10:20.45 ID:GJ6N0Utq.net]
>>838 rustc 1.8.0
use std::io;
use std::io::prelude::*;
fn main() {
let stdin = io::stdin();
for line in stdin.lock().lines().map(|x| x.unwrap()).filter(|s| s.chars().fold(0, |acc, c| acc + 1 + c as i32 - 'A' as i32) == 100).take(3) {
println!("{}", line);
}
}

>>845 ruby 2.0.0
a, b = $stdin.gets.scan(/\d+/).map {|s| s.to_i}
stairs = (0..a).inject([]) {|acc, i| acc << '*' * b * (a - i) + '_' * b + (0 < i ? '|' : '')}
puts b == 0 ? 'NONE' : stairs.join("\n")

869 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 20:29:46.85 ID:GJ6N0Utq.net]
>>845 ruby 2.0.0 ちょい整理
a, b = $stdin.gets.scan(/\d+/).map {|s| s.to_i}
stairs = (0..a).map {|i| '*' * b * (a - i) + '_' * b + (0 < i ? '|' : '')}
puts b == 0 ? 'NONE' : stairs.join("\n")

870 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 20:35:05.59 ID:XcJmDjCA.net]
ケチつけるつもりは全然なくて純粋な疑問なんだけど、
Rubyってとにかく短く書くのが命で可読性はどうでもいいっていう文化なの?

871 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 20:39:05.26 ID:QHxKPE5l.net]
>>854
せやで

872 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 20:40:37.95 ID:PJGQtdQ9.net]
>>854
>>847とか>>850は勝手にゴルフっぽいことしてるだけで
Rubyではコードが短いほど良いという共通の価値観はないよ

873 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 20:45:28.26 ID:GJ6N0Utq.net]
>>854
個人的にはそれはむしろPerlだと思うけどw
(過去の個人的な体験に基づく偏見です)

874 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 20:45:57.40 ID:XcJmDjCA.net]
>>856
やっぱりそうだよねw
ありがとう

875 名前:デフォルトの名無しさん [2016/10/10(月) 20:51:52.34 ID:xXMHDLa+.net]
rubyは作者がそもそもコードの表記法にこだわっているからruby文化全体に表記にこだわりを持つ部分があるのは事実



876 名前:164 mailto:sage [2016/10/10(月) 21:02:10.31 ID:WihadwZK.net]
>>857
Perlは短くするために難読性が高くなるような
書き方もできる自由度があるけど
>>848はなるべく難読にならないように俺としては配慮して書いたつもりだよ。
ただ、ここに貼るとインデントがなくなっちゃうので見やすさは損なわれているけれど…
>>848にポイントするとインデントが付くのでよかっらたポイントしてみてね。
>>848であえて意識したのは無名関数の自己再帰を使ったこと

877 名前:ュらいかな。 []
[ここ壊れてます]

878 名前:164 mailto:sage [2016/10/10(月) 21:56:18.64 ID:WihadwZK.net]
>>838 Perl
use feature say;
use List::Util 'sum';
for (1..3) {
local $_ = <>;
chomp;
redo if sum(map {ord($_) - ord('A') + 1} split '') != 100;
say;
}

879 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 22:06:38.74 ID:GJ6N0Utq.net]
>>860
実は俺はPerlの可読性なんかを1ミリも語れる状況に無くて
20年前に赤いラクダ本を先輩に貰ったまま本棚で腐らせてるような体たらく
読み書きままならないってだけなんで、どうかお気になさらないでください

880 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 20:20:36.62 ID:4j+X4FeX.net]
そうね、誕生石なら

881 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 20:49:10.20 ID:5wY1VI8m.net]
>>838
@Mathematica

ideone.com/kMqMeG

882 名前:164 mailto:sage [2016/10/12(水) 00:29:27.25 ID:RXlYYM2a.net]
>>823 >>824 Perl
use feature 'say';
while (<>) {
chomp;
print "$_ => ";
while (($a,$o,$b,$r) = /^(\d+)([c+-])(\d+)(.*)$/) {
$a++ if $o eq '+';
$b-- if $o eq '-';
$a = '' if $o eq 'c';
$_ = "$a$b$r";
}
say /^\d+$/ ? $_ : 'ERROR';
}

883 名前:164 mailto:sage [2016/10/12(水) 00:30:18.77 ID:RXlYYM2a.net]
>>865 の実行結果の例
5+1-32c8 => 8
32+8 => 338
+24c25 => ERROR
119+5 => 1205
1-1+1 => 111

884 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 20:27:03.99 ID:PLGkmVG9.net]
>>823-826 rust 1.8.0
https://ideone.com/OGRf5X
・正規表現不使用
・最後のjoin処理はideoneのrust 1.0.0に合わせて修正

885 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 05:03:01.25 ID:ayBWV1jp.net]
>>824
ideone.com/wEetSD
C++。テストは>>835を一部拝借。失礼。
本分書き始める前に色々使いそうな関数書いたものの結局使わず。無駄だった。
あってるかなぁ。



886 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/10/24(月) 18:40:09.78 ID:Ea5AKtst.net]
お題:隣接行列で与えられたネットワークを可能ならば一筆書きする。
不可能なら「No solution.」と表示する。

887 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/10/24(月) 18:56:42.71 ID:Ea5AKtst.net]
お題:架空の4ビットCPUの機械語を設計し、その論理式と回路図を出力するプログラムを作れ。

888 名前:デフォルトの名無しさん mailto:sage [2016/10/24(月) 23:05:36.84 ID:iFtzBvZM.net]
>回路図を出力

図の形式は出題者が指定しなくちゃ。

889 名前:デフォルトの名無しさん mailto:sage [2016/10/24(月) 23:33:47.03 ID:Ea5AKtst.net]
>>871
.svgか.pdf

890 名前:デフォルトの名無しさん [2016/11/04(金) 18:56:54.02 ID:8tGR/IuU.net]
お題:1から9までの数字を1回づつ使って分数をつくる。
たとえば123/456789, 3962/17548など。
約分すると1/8になるものをすべてもとめる。

891 名前:デフォルトの名無しさん mailto:sage [2016/11/04(金) 19:08:46.32 ID:XfxE6vHI.net]
4ケタの順列を総なめしながら8倍してチェックするのかな
3024個みたいだからたいしたことなさそう

892 名前:デフォルトの名無しさん mailto:sage [2016/11/04(金) 22:07:13.71 ID:UQXTh2xL.net]
>>873
https://ideone.com/oxmJ61

893 名前:デフォルトの名無しさん mailto:sage [2016/11/04(金) 22:20:51.84 ID:K4HA426Y.net]
>>873
ideone.com/kfs5ma

894 名前:デフォルトの名無しさん mailto:sage [2016/11/05(土) 07:20:45.14 ID:JpuKs6gN.net]
>>873
ideone.com/iDj8rX
C++。総当たりのはずだけど、あってるかな?

895 名前:デフォルトの名無しさん mailto:sage [2016/11/05(土) 07:36:20.45 ID:JpuKs6gN.net]
>>876
しゅごい。



896 名前:デフォルトの名無しさん mailto:sage [2016/11/05(土) 08:01:48.28 ID:eq+4G+9Q.net]
>>873 Java
ideone.com/ACELnF

897 名前:デフォルトの名無しさん mailto:sage [2016/11/05(土) 19:59:02.35 ID:giaAjwb2.net]
>>873 Squeak/Pharo Smalltalk

| ans |
ans := OrderedCollection new.
self assert: 987 * 8 < 123456.
'123456789' permutationsDo: [:perm |
 | numer denom |
 numer := perm first: 4.
 denom := perm allButFirst: 4.
 numer asInteger * 8 = denom asInteger ifTrue: [ans add: numer, '/', denom]
].
^ ans

898 名前:デフォルトの名無しさん mailto:sage [2016/11/05(土) 20:10:30.03 ID:4QNuq7Ui.net]
>>879
なるほど、どうせ数が知れてるから真面目に順列でやる必要ないのかw

899 名前:164 mailto:sage [2016/11/05(土) 22:55:55.41 ID:9FbiGoMz.net]
>>873 Perl
use feature qw{:5.16};
$b = 8888;
do {
$b += 8;
$a = $b/8;
my %h;
$h{$_}++ for split '', $a . $b;
say "$a/$b" unless (exists $h{0} or 9 > keys %h)
} while ($a <= 9999);

next_permutation がライブラリに無いし
872の問題用に9文字から4桁の順列を生成する
再帰関数を作ろうとしたけど
めんどくさくなって、別解法にしました。

900 名前:デフォルトの名無しさん mailto:sage [2016/11/05(土) 23:03:21.88 ID:Kvw69EBs.net]
>>873
@Mathematica

{"1","2","3","4","5","6","7","8","9","/"}//
Permutations//
Select[#,#[[1]]!="/"&]&//
Select[#,#[[-1]]!="/"&]&//
ParallelMap[StringJoin,#]&//
Select[#,ToExpression[#]==1/8&]&

901 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 10:45:05.08 ID:Ls7dpV42.net]
>>873 類題

お題:1から9までの数字を1回づつ使って引き算をつくる。
たとえば123-456789, 3962-17548など。
引き算すると44444になるものをすべてもとめる。

902 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 11:16:41.58 ID:BmMxYEOk.net]
>>884 C
ideone.com/H2wG0P

903 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 12:39:57.86 ID:1PuOCcw9.net]
>>884 Java
ideone.com/qRUcKG
書き換え2行

904 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 14:47:56.12 ID:UyE09MO8.net]
>>884 Squeak Smalltalk

| ans |
ans := OrderedCollection new.
self assert: 123456 - 987 > 44444.
'123456789' permutationsDo: [:perm |
 | x y |
 x := perm first: 5.
 y := perm allButFirst: 5.
 x - y = '44444' ifTrue: [ans add: x, '-', y]
].
^ ans

905 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 15:31:09.29 ID:+kwTAqkL.net]
>>873 >>884 c
https://ideone.com/OVUNzF
・全パターンをチェック
・肝心な部分(comb, permute)はぐぐったサイトから無断で拝借しました
・セパレータ要素も一緒に混ぜとく案は>>883さんを参考にしました
・一部の関数名(permutations_do)について>>887さんを参考にしました



906 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 16:07:27.17 ID:1MCBSGi9.net]
>>884 Io
Range
1234 to(9876)select(i,
(i ..(i+44444))asMutable sort =="123456789
)map(j,(44444+j).."-".. j)

907 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 19:36:04.77 ID:jK1sWMF7.net]
https://twitter.com/codera_iroha/status/795116603557879808
> せんぱいは、10億以下の整数の中で、最も約数の多い整数を求めるプログラムを書けますか?

908 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 20:36:12.30 ID:9KctHGA8.net]
直感的には重複しない素数の積だと思うけど証明はできんなw

909 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 23:07:17.87 ID:1PuOCcw9.net]
>>890 Java
https://ideone.com/lJ037U
あまり考えずに

910 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 23:39:17.02 ID:jK1sWMF7.net]
>>892
Good Job

911 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 23:40:47.89 ID:jK1sWMF7.net]
>>892
Good Jobじゃなく正解というべきだったな

912 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 00:17:44.47 ID:+ilf/hxD.net]
>>892
どういうロジックかさっぱりわかんないやw
でも、

newYakusu += yakusu;

これはちょっとおかしい気がするw

913 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 00:55:26.00 ID:MDpsc3Qw.net]
newYakusu *= 2;
が正解だろうな、たぶん

914 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 01:14:46.43 ID:t5QB3k9f.net]
っていうか、2*3*5は2*3の2倍の約数があるのはわかるけど、
2*2*2は2*2より1つ多いだけだと思うんだけど...

まあたぶん俺が何か勘違いしてるんだろうなw

915 名前:デフォルトの名無しさん [2016/11/07(月) 01:18:30.50 ID:N5kIq+jA.net]
重複ははずしてだろ。ふつうに。どうみても2べきが小さいから。



916 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 09:25:12.04 ID:VzgYAniQ.net]
素因数の指数+1をすべて掛け合わせれば約数の数になる

917 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 19:37:58.99 ID:ZbCfelvl.net]
>>899
素因数分解がむずかしいね,テーブルで持っておくしかないか

918 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 21:09:59.66 ID:hgWS81A3.net]
>>892 が計算量を減らすためにバッサリ切り捨ててるとこが良く分からないけど
出てる答え 735134400 = 2^6*3^3*5^2*7*11*13*17 の他にもう一つ約数の数 1344 があった
931170240 = 2^6*3^2*5*7*11*13*17*19
もっとあるかも、というか正解は別にあるかもという気がしなくもない

919 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 21:37:10.62 ID:VzgYAniQ.net]
>>901
https://ideone.com/UJF04i

>>892の素数リスト、19が抜けてるやw
リスト表示するようにしても931170240が出てこないからおかしいなと確認したら初歩的なミスw

920 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 02:53:20.88 ID:E77IrmWO.net]
10億以下で約数の数が1344の整数はたぶん4つ
735134400 = 2^6*3^3*5^2*7*11*13*17
821620800 = 2^6*3^3*5^2*7*11*13*19
931170240 = 2^6*3^2*5*7*11*13*17*19
994593600 = 2^6*3^3*5^2*7*11*13*23

921 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 05:42:59.95 ID:rWt9CCW+.net]
>>890
@Mathematica

ideone.com/3wqeR5

922 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 09:54:20.69 ID:bJUc+90s.net]
>>890
>>902 を参考に C++

ideone.com/OeTnpx

923 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 12:57:49.64 ID:n6HvGTQo.net]
hello worldを出力しなさい
但し文字リテラルと数字をコード中に書いてはいけません

924 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 13:07:00.37 ID:DsWyA9Yw.net]
>>906
誰得。

925 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 13:39:36.94 ID:RQn7BeEP.net]
>>906
https://ideone.com/StMgsy
https://ideone.com/whA3mU



926 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 14:40:02.73 ID:yNpdMLCi.net]
>>906
ruby -e 'class HelloWorld ;end; p HelloWorld'

927 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 15:20:35.35 ID:7Gidw00Y.net]
>>906
https://ideone.com/xwzB8Z

928 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 15:22:04.34 ID:7Gidw00Y.net]
可読性の高いコードができたぜ

929 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 15:57:41.78 ID:R5k7JcnE.net]
>>906
ideone.com/xt4UEz

930 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 16:09:57.80 ID:RQn7BeEP.net]
>>906
https://ideone.com/4Z2U4N
標準入力はコードのうちに入りますか?

931 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 18:09:11.97 ID:w47niDgV.net]
>>906
文字リテラルは禁止だけど文字列はOK?

932 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 18:11:01.84 ID:w47niDgV.net]
>>906
これに似てるね

普通じゃないHello World問題「Restricted Words」の解説記事 #伝説 #しえる|CodeIQ MAGAZINE
https://codeiq.jp/magazine/2013/09/120/

933 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 19:45:29.90 ID:B1AmaaJH.net]
>>906 Squeak Smalltalk

| hello world | thisContext method tempNamesString "=> 'hello world' "

934 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 21:56:55.91 ID:3MgWSwni.net]
>>906
https://ideone.com/o8SEV1
https://ideone.com/0PwVHQ

935 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/11/09(水) 22:31:53.26 ID:A1mSNctr.net]
お題:テーブルの上にきれいにきちんと重なったトランプ1セットが置いてあり、全てのカードの表が上向きになっている。
プログラムはカードの並びを入れ換えたり、上からn番目のカードを読み込むことができる。
この仮想的なトランプを操作することによって円周率を求めるプログラムを書け。



936 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 22:43:42.78 ID:RQn7BeEP.net]
まず>>918のコードが見たいなー}

937 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 00:53:34.51 ID:7cWLs5su.net]
>>906
https://ideone.com/i6ZnJc

938 名前:164 mailto:sage [2016/11/10(木) 01:07:34.71 ID:UjUlxJgT.net]
>>908
あんさんは、
Programmingを
楽しんでますなー。
気に入ったぜ。

939 名前:164 mailto:sage [2016/11/10(木) 01:11:20.89 ID:UjUlxJgT.net]
以下、enterprise fizzbuzzみたいな
hellow worldを書く椰子


940 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 01:21:32.89 ID:rkwF1pIg.net]
brainfuckやwhitespeceで文字出力するだけってジェネレータで出来るじゃん

941 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 21:28:06.13 ID:drAYGWtl.net]
>>906
@Mathematica

ideone.com/1PtMdm

942 名前:デフォルトの名無しさん mailto:sage [2016/11/12(土) 12:36:20.63 ID:OOJ7Wqnx.net]
大文字を出力してるので減点

943 名前:デフォルトの名無しさん mailto:sage [2016/11/12(土) 14:05:38.79 ID:FKtxBunI.net]
真面目か

944 名前:デフォルトの名無しさん mailto:sage [2016/11/12(土) 14:44:10.92 ID:5nMDDcWB.net]
>>906 C
ideone.com/Be4XYH

945 名前:デフォルトの名無しさん mailto:sage [2016/11/12(土) 18:06:10.50 ID:pVnBGILb.net]
お題
整数Aに整数Bを加算しなさい
但し3桁に区切って計算すること
AとBは文字列で標準入力から2行に分けて与えられる
0≦A≦999999999999999999999999999999999
0≦B≦999999999999999999999999999999999

標準入力
1234
15

標準出力
1249

解説
A=1234
B=15
Aは3桁を超えてるので123と4に分割される
123*10+B+4=1249
もしくは
1*1000+234+B=1249



946 名前:デフォルトの名無しさん mailto:sage [2016/11/12(土) 18:31:12.94 ID:kNoTIrA7.net]
>>928
>3桁に区切って
の意図がわからない

普通に多桁長加算の実装じゃないのか?

947 名前:デフォルトの名無しさん mailto:sage [2016/11/12(土) 18:50:09.31 ID:8285RMD/.net]
多桁長の演算を実装するだけのようだし
3桁に区切るって限定しなくてもいいよな。

948 名前:デフォルトの名無しさん mailto:sage [2016/11/12(土) 19:55:55.39 ID:Q4JxAaLZ.net]
>>906 c
・数年前に同じお題をここか別のスレでやったような気が…

#include <stdio.h>
int main() {
struct {
struct {long _a, _b;} _a, _b, space, _d, _e, _f;
char _,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;
} __;
#define _(v) putchar((void *)&__.v - (void *)&__)
_(h),_(e),_(l),_(l),_(o),_(space),_(w),_(o),_(r),_(l),_(d);
return &__ - &__;
}

949 名前:デフォルトの名無しさん mailto:sage [2016/11/12(土) 20:04:46.68 ID:8285RMD/.net]
>>931
こりゃすごい!

今まで最短の上に可読性が高い!

950 名前:デフォルトの名無しさん mailto:sage [2016/11/12(土) 20:22:45.93 ID:X4UPo+EY.net]
>>931
ideoneでもローカルでもダメだったゾ
https://ideone.com/hhNgqg

951 名前:930 mailto:sage [2016/11/12(土) 21:03:19.70 ID:Li4gnKYC.net]
>>932
ども!
でも最短じゃあないよねw

>>933
ごめん
sizeof(long)が8の環境で確認してた
struct {struct {char a,b,c,d;} a,b,c,d;} _a, _b, space, _d, _e, _f;
これでどこでも動くはず

952 名前:デフォルトの名無しさん mailto:sage [2016/11/12(土) 22:58:47.72 ID:VjO69xXO.net]
>sizeof(long)が8の環境で確認してた

あれま?
paiza.IOではちゃんと動いたけど
ideoneやCodeIQではダメだったか

953 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 00:35:59.69 ID:GDVX8Ikh.net]
>>931
>数年前に同じお題を

>>915のCodeIQの問題とかじゃね?

954 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 08:49:46.08 ID:y8U2/o7H.net]
>>906
https://ideone.com/ST1qS2

955 名前:デフォルトの名無しさん [2016/11/13(日) 09:05:29.71 ID:FuKHFetX.net]
お題:nビットのグレイコ^ドを生成する。

n 3
000
001
011
010
110
111
101
100
S



956 名前:デフォルトの名無しさん [2016/11/13(日) 09:14:09.45 ID:FuKHFetX.net]
お題:nビットのグレイコードを生成する。

n=3
000
001
011
010
110
111
101
100

957 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 11:09:32.80 ID:w9Y83CjX.net]
>>939
@Mathematica

ideone.com/WXOxKH

958 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 12:26:26.96 ID:ArrhAnA/.net]
>>939 Java
ideone.com/SOEHsd

brainfuckでやろうかなと思ったが、少し考えてめんどくさくなってやめた

959 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 19:09:07.56 ID:EpE2S11k.net]
>>939
C#
ideone.com/Gbq0NT

>>941
こんな短く書けるのかw
ガックリ来たわ
どういうロジックかさっぱり分からんw

960 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 20:45:37.87 ID:qMZbrJPH.net]
>>942
ニコニコ百科からの転載でアレだけどこれ抑えてれば理解できるんじゃね
>二進数を1ビット右にシフトし(先頭は0)、元の二進数と各桁で排他的論理和をとると得られる。また、1ずつ増やした場合、グレイコードで変化する桁は、二進数で0が1に変化する桁(繰り上がる先の桁)に等しい。

入力数値の分だけ1をシフトさせてやりゃ入力数値が桁数に変換できるから
あとはその桁数に達するまでforループ回して元数値と右シフト数値の排他的論理和とって2進表示し続けてる感じだと思う
無駄がなくてスマートなプログラムな感じがするけどsubstring(1)だけよく分からない

961 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 20:53:45.16 ID:ArrhAnA/.net]
>>943
指定桁数の2進数を作るのに最上位ビット捨ててる
n=3だと1xxxの文字列作って一番左削ってる感じ

printf等で指定桁数の2進数作れりゃそっち使うんだけどw

962 名前:デフォルトの名無しさん [2016/11/13(日) 21:00:49.81 ID:qMZbrJPH.net]
>>244
桁数調整の為に一旦論理和とってから最初の1だけ捨ててるのか
勉強になりました

963 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 21:09:45.44 ID:EpE2S11k.net]
>>943
なるほどそういう定式化された求め方があるのか
グレイコードなんて大昔学校で習って以来まったく使ったことがないから知らなかったよ。
ありがとう

964 名前:デフォルトの名無しさん mailto:sage [2016/11/14(月) 04:33:29.92 ID:/TJLzgQW.net]
>>939
Nim
https://ideone.com/JsyrW3

965 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 07:10:12.87 ID:H9REv+Ri.net]
>>906 J
hello =: noun
world =: noun
;:inv nl $~ noun



966 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 07:34:43.51 ID:HcDSv4MP.net]
>>906

ここをクリック >>906

967 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 07:52:00.92 ID:k57TIQI7.net]
次スレあるの?

968 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 15:27:30.98 ID:Veyi95OJ.net]
>>932
何が凄いのか分からん
hello worldがコード中に埋め込まれて
いるのが見えるんだが、だったら
printfでhello world書いているのと同じじゃあないの?

969 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 16:32:08.46 ID:evn38iuN.net]
>>951
printf("hello world");←これの""で囲まれてる部分が文字列リテラル
今回は文字列リテラルと数字を使わずにハロワを出力してみろってお題だからprintfでそのまま書いてたらアウト

970 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 18:08:30.22 ID:DO3IaX9S.net]
>>906のお題は文字列リテラル禁止じゃなく文字リテラル禁止だよ

971 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 18:30:01.74 ID:evn38iuN.net]
そうかそいつはすまなかった読み違えたよ
>>952の2行目の「文字列リテラル」は「文字リテラル」に置き換えて読んでくれ

972 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 18:59:50.88 ID:DO3IaX9S.net]
C言語なら
"hello world"のダブルクオートで括るのは文字列リテラルだけど
文字リテラルはシングルクオートで括るから 文字列リテラル使うprintf("hello world")は合法だよ

973 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 19:02:18.94 ID:DO3IaX9S.net]
brainfuckやwhitespaceは処理系によってはもしかすると文字リテラルや文字列リテラルあるのかもしれないけど
C言語で>>906の問題を解くなら>>931と基本同じように文字コード計算して出力するだけだから大差ないよね

974 名前:デフォルトの名無しさん mailto:sage [2016/11/16(水) 06:37:25.19 ID:NqgYpFgU.net]


975 名前:デフォルトの名無しさん mailto:sage [2016/11/16(水) 20:12:56.69 ID:5Ihw572q.net]
>>906
C#
ideone.com/FHDr9j
やっぱり面白くないな



976 名前:デフォルトの名無しさん mailto:sage [2016/11/16(水) 21:43:19.98 ID:h+UNZgYe.net]
" "や'_'を使ってるところがウケ狙いなのかもしれないけど
確かにそんなに面白くない

977 名前:デフォルトの名無しさん mailto:sage [2016/11/16(水) 22:49:50.11 ID:opmi2l/i.net]
文字コードが絡む問題は悪名高いEBCDICを真っ先に思い浮かべてしまって
その考慮がされてないとちょっと白ける部分がある

978 名前:デフォルトの名無しさん [2016/11/20(日) 01:25:08.34 ID:60DKtBPZ.net]
>>906
ruby2

print :hello, [:s, :S].map(&:to_s).map(&:ord).inject(:-).chr, :world

melpon.org/wandbox/permlink/i4MWT1u23HHuoe7P

979 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 13:28:08.49 ID:mWWihz9s.net]
>>906 Haskell
ideone.com/QN4BaU

980 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 08:38:02.28 ID:4Ckt/1Kw.net]
>>906 F#

type ``hello world`` = W
printfn "%s" typeof<``hello world``>.Name

981 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 08:39:37.06 ID:4Ckt/1Kw.net]
訂正
>>906 F#

type ``hello world`` = W
stdout.WriteLine typeof<``hello world``>.Name

982 名前:デフォルトの名無しさん [2016/11/21(月) 18:47:44.72 ID:3NXFWxK7.net]
>>939 ruby
n = 3
(1 << n).times do |v|
puts "%0#{n}b" % (v ^ (v >> 1))
end

melpon.org/wandbox/permlink/BnpyEB9rsl73vBDI

983 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 19:50:16.01 ID:nCxXmPKB.net]
>>935
(´・∀・`)ヘー 動く環境もあったのね

>>936
CodeIQ見たことも聞いたこともない

>>906 c
・数字つこうた
・四則演算ビット演算無し
・文字リテラル文字列リテラル無し
・移植性と他の環境で動く保障無し
#include <stdio.h>
int main() {
int is[] = {1819043176, 1870078063, 6581362};
long long lls[] = {8031924123371070824, 6581362};
puts((char *)is);
puts((char *)lls);
return 0;
}

hello world
hello world

984 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 20:56:30.60 ID:/F1fcl9l.net]
文字コードに依存するわエンディアンに依存するわ、後出しでどんだけ劣化するんだ

985 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 23:37:55.18 ID:7dMNwwBf.net]
数字もダメ
というのがルール



986 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 02:14:49.59 ID:bN+iUVDf.net]
勝手に問題作り変えちゃダメだよね
国語できなさそう

987 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 04:14:16.14 ID:hJpZQ6a9.net]
>>906
ideone.com/X7Wrl9
C++?? 既出の回答に感動してパクってみた。
数字自作してる時点であんまり問題の意味ないよね。
体をなしてないというか。

988 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 05:24:33.85 ID:7Ti0FWyJ.net]
>>906
ideone.com/XH28rr
Python3 HQ9+的アプローチで数値計算してない

989 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 08:07:22.61 ID:ofQaf/jO.net]
リバースエンジニアリングしてもコード中にリテラルが無いので解読されにくいという事だよね

990 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 08:58:18.46 ID:hJpZQ6a9.net]
秘密主義は技術の向上を阻害するのであんまり興味ないな。

991 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 11:24:14.19 ID:O62ysXRT.net]
でも「神秘的!ステキ!」とか言われてクラッカーやハッカーにモテるかもよ

992 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 20:14:09.73 ID:svcAyLEK.net]
>>906 Common Lisp
https://ideone.com/jcgKGl

993 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 21:11:42.55 ID:0aK0hXHG.net]
>>906 c
https://ideone.com/5oPjJu
・数字無し
・四則演算ビット演算無し
・文字リテラル文字列リテラル無し
・移植性と他の環境で動く保障無し

>>906 ruby
・バッククォートつこうた
puts `echo hello world`

994 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 22:00:15.16 ID:GG9ZZPlA.net]
>>976
cの方面白い
細かいけどreturn 0;に数字使われて

995 名前:るのに笑ってしまった []
[ここ壊れてます]



996 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 22:12:48.53 ID:bzMDKvPC.net]
bash
$echo hello world

997 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 22:32:08.95 ID:GG9ZZPlA.net]
それがありなら
c++
https://ideone.com/5fVbir

998 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 22:33:06.33 ID:GG9ZZPlA.net]
もう出てたか

999 名前:デフォルトの名無しさん mailto:sage [2016/11/23(水) 03:02:34.05 ID:1DVlaY/L.net]
>>976
その手があったか。思いつかなかった

1000 名前:デフォルトの名無しさん mailto:sage [2016/11/23(水) 16:23:56.87 ID:zVQCWlzE.net]
>>977
> return 0;に数字使われてる

どわーっ!!

>>906 c
codepad.org/4F3U6t52
・移植性と他の環境で動く保障無し
(少なくともideoneじゃコンパイルエラー
変形して通しても次の問題が出てきて駄目)

1001 名前:デフォルトの名無しさん mailto:sage [2016/11/23(水) 17:00:53.66 ID:v3lmFY9L.net]
bash
$cat message.txt

1002 名前:164 mailto:sage [2016/11/28(月) 21:11:05.16 ID:rbBqsttl.net]
>>906 Perl
sub AUTOLOAD {($AUTOLOAD =~ /::(.+)$/)[0]}
print Hello()." ".World()."\n";

1003 名前:164 mailto:sage [2016/11/28(月) 21:24:43.26 ID:rbBqsttl.net]
>>984
しまった、listのindexに0を使っちゃってる。
return 0;がダメ?かもしれないならば数字使っちゃダメ??

ならばこうか…

>>906 Perl
sub AUTOLOAD { $AUTOLOAD =~ s/^.*:://; $AUTOLOAD }
print hello()." ".world()."\n";

1004 名前:164 mailto:sage [2016/11/28(月) 21:42:11.18 ID:rbBqsttl.net]
>>906 Perl つか、これでイイジャン。
package hello_world;
print join ' ', split '_', __PACKAGE__;

連投スマソ

1005 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 21:56:43.31 ID:dQXmDcQq.net]
文字リテラル知らんのか?



1006 名前:164 mailto:sage [2016/11/28(月) 22:24:35.04 ID:rbBqsttl.net]
"hello world"の文字列リテラルだけじゃなく
" "もダメてことか…orz
' 'は一応「文字」だけどまぁ歓迎されない感じだな
もうひと工夫いるけどマンドくさくなってきた

1007 名前:デフォルトの名無しさん [2016/11/29(火) 19:26:40.96 ID:LsagP9/y.net]
コードとコンパイラによっては最適化で文字が埋め込まれることに

1008 名前:デフォルトの名無しさん mailto:sage [2016/11/29(火) 21:35:16.55 ID:1MA0K2jV.net]
先入れ中出しのアルゴリズムを実装せよ

1009 名前:デフォルトの名無しさん mailto:sage [2016/11/29(火) 21:39:13.43 ID:+UdcctZr.net]
やだ、できちゃう

1010 名前:デフォルトの名無しさん mailto:sage [2016/11/29(火) 21:49:39.94 ID:PX7t+lnB.net]
先っちょだけだから

1011 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 01:45:20.18 ID:b7dyxQXg.net]
>>990
C++にはSTLにQueueあるからねぇ。
今更、作る意義がわからない。

1012 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 04:13:31.77 ID:b7dyxQXg.net]
って、ネタかよ。真面目に答えるんじゃなかった。

1013 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 12:22:48.19 ID:y2jQ/DIV.net]
STLは知らないけど.NETのキューって要素1つずつしか出し入れできないんだよね
これだとバッファーとしては使いづらいから自作したわ

1014 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 12:44:08.74 ID:UIwN06Hs.net]
LINQ使えばいいんじゃね

1015 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 23:47:33.27 ID:8E5tVjA8.net]
Queueって先入れ中出しなん?



1016 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 00:54:11.48 ID:NHXaAvDm.net]
それもネタなんだろ

1017 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 06:10:42.69 ID:I/74Zq7s.net]
次スレありますでしょうか。

1018 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 15:05:04.44 ID:HhJrKDKy.net]


1019 名前:小倉優子 ◆YUKOH0W58Q mailto:sage [2016/12/01(木) 15:05:24.69 ID:HhJrKDKy.net]
  ∧,,,∧ 
 (  ・∀・) 1000ならジュースでも飲むか
  (    ) 
  し─J 

1020 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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