[過去ログ] プログラミングのお題スレ Part15 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
858
(12): 2019/10/26(土)07:11 ID:I0XoRu/q(1/2) AAS
お題:>>832 に「偶数要素は2で割って降順ソート」という要件を追加してください
すでに回答済みの場合は最少限の変更でのご対応で腕(もしくは言語のポテンシャル)を見せてください
859
(5): 2019/10/26(土)07:27 ID:I0XoRu/q(2/2) AAS
>>858
入力例:[0, 9, 8, 4, 6, 5, 1, 2, 7, 3]
出力例:[4, 1, 3, 2, 1, 3, 5, 0, 7, 9]
861: 2019/10/26(土)11:03 ID:/Rj6VhaF(2/2) AAS
>>860
×835 → ○>>858
863: 2019/10/26(土)12:12 ID:Zgyrlv2c(1) AAS
>>832,858
@Mathematica

https://ideone.com/0UFN7o
866: 2019/10/26(土)17:08 ID:kYj2w42l(1) AAS
>>832 >>858 Ruby

f = -> ary {
  e, o = ary.partition(&:even?).map(&:sort)
  ary.map{|v| v.even? ? v : o.shift}
}
g = -> ary {
  e, o = ary.partition(&:even?).map(&:sort)
  ary.map{|v| v.even? ? e.pop >> 1 : o.shift}
}

p f[[6, 5, 4, 3, 2, 1]] # => [6, 1, 4, 3, 2, 5]
省1
867: 2019/10/26(土)20:25 ID:XXeS+kK0(1) AAS
>>858 c
https://ideone.com/g7IC5E
869: 2019/10/26(土)22:16 ID:FFSD3o8O(1) AAS
>>858 octave
https://ideone.com/d5NTlm

>>858 ruby
https://ideone.com/R93NWY

>>858 ocaml
https://ideone.com/RTlP5X
870: 2019/10/26(土)22:21 ID:+YWUVQNg(2/2) AAS
>>858
https://ideone.com/7vsaej
C++。前のヤツに関数足した。
オーダーが倍になったが改修だとこんなもんだ。
880: 2019/10/27(日)12:00 ID:czi1K5eV(1) AAS
>>858-859
PowerShell

$a = 0, 9, 8, 4, 6, 5, 1, 2, 7, 3
$b = 0, 0
$i = 0, 0
$odd = {$_ % 2}
$b[0] = @($a |? {!(&$odd)} |% {$_ / 2} | sort -descending)
$b[1] = @($a |? {&$odd} | sort)
$c = $a |% {$b[(&$odd)][$i[(&$odd)]++]}

"入力: [" + ($a -join ", ") + "]"
省1
881: 2019/10/27(日)21:46 ID:JAeIkS65(1) AAS
>>858 c
https://ideone.com/SwF6Zp
882: 2019/10/28(月)14:33 ID:kjzN6NI8(1) AAS
>>858-859
Haxe で、

https://try.haxe.org/#Bb813
883: 2019/10/28(月)21:54 ID:UPe4TNxT(1) AAS
Common Lisp
>>832
(let* ((l '(6 5 4 3 2 1))
    (odds (sort (remove-if-not #'oddp l) #'<)))
 (mapcar (lambda (x) (if (oddp x) (pop odds) x)) l))

>>858-859
(let* ((l '(0 9 8 4 6 5 1 2 7 3))
    (odds (sort (remove-if-not #'oddp l) #'<))
    (evens (sort (remove-if-not #'evenp l) #'>)))
 (mapcar (lambda (x) (if (oddp x) (pop odds) (/ (pop evens) 2))) l))
889: 2019/10/29(火)08:42 ID:CowX2GWO(1) AAS
>>858-859
Ruby で、

input_ary = [ 0, 9, 8, 4, 6, 5, 1, 2, 7, 3 ]

even_ary, odd_ary = input_ary.partition( &:even? ) # 偶数・奇数配列

odd_ary.sort! # 奇数要素をソート

# 偶数要素は、2で割って降順ソート
even_ary.map! { |num| num / 2 }
even_ary.sort!
even_ary.reverse!
省1
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.057s