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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2019/07/28(日) 19:39:57.54 ID:832c/ukY.net]
プログラミングのお題スレです。

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

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文
  結果がある場合はそれも

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

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

※前スレ
プログラミングのお題スレ Part14
mevius.5ch.net/test/read.cgi/tech/1558168409/

357 名前:デフォルトの名無しさん mailto:sage [2019/09/06(金) 23:08:33.74 ID:adnLBrFU.net]
>>339
https://ideone.com/vjhJdO
C++。ちょっと思いついたのでコード書いてみたよ。
ちょっとグリードに組み合わせ作るようにしてみた。

358 名前:デフォルトの名無しさん mailto:sage [2019/09/06(金) 23:19:00.83 ID:Sfa1dP8m.net]
全てマッチングできるとは限らず最も多くマッチングできる組み合わせ
を求める ならちょっと工夫必要そう

359 名前:デフォルトの名無しさん mailto:sage [2019/09/06(金) 23:24:40.52 ID:h6IBFFVJ.net]
皆さんありがとう。

最も多くマッチングさせるときは、閾値に一番近い選択を行うことがシンプルということかな?

>>350
コードありがとうございます。
プログラムを生業にしている者ではないのでC++の開発環境から構築になりますが、試してみます。

360 名前:デフォルトの名無しさん mailto:sage [2019/09/06(金) 23:31:32.53 ID:adnLBrFU.net]
fix it.

361 名前:デフォルトの名無しさん mailto:sage [2019/09/06(金) 23:32:51.82 ID:adnLBrFU.net]
大したコードではないが、そこまで威力があるとは思わなかった。
動機なんてそんなもんか。

362 名前:蟻人間 mailto:sage [2019/09/06(金) 23:43:04.03 ID:sc/CXZHY.net]
お題: ある会社の営業曜日(複数可)と営業時間が与えられる。今月1ヶ月の営業時間の合計を求め、今月のカレンダーの下に表示せよ。ただし、その会社は祝日・祭日を特別扱いしないものとする。

363 名前:399 [2019/09/07(土) 00:15:01.96 ID:meGL1HdM.net]
>>354
おぉ見るたびマッチング精度上がってる
ありがとうございます!
参考にさせてもらいます

364 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 09:58:38.85 ID:kl0P3WfA.net]
>>350
>>339は固有値の差と言ってるのに>>350は固有値の和でコード書いてるように見える

365 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 10:01:09.66 ID:15iR+LCW.net]
そもそもeigenvalueじゃないのに固有値と言うのに違和感を覚える



366 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 10:40:38.85 ID:K3PTI0jA.net]
わからんな
結晶や薄膜やらだと本当に固有値がある
ヤツは「材料」って言っていて、その先に何を想定してるかこちらには伏せられたまま

もしかすると高分子の製薬かもしれない
使うと無くなるんだろ?

367 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 13:46:49.28 ID:VQVarZXt.net]
>>357
あ・・・。そうだね、そうだね。
すっかり勘違いしていた。

368 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 14:08:25.27 ID:VQVarZXt.net]
https://ideone.com/96njsa
C++。引き算する場合、奇策練るとよくない感じだなぁ・・・。
しかし、うっかりしてたわ。

369 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 14:45:59.42 ID:VQVarZXt.net]
https://ideone.com/Dmt87R
C++。暇だったから、いじってみた。
自分の方法だと、スコア高い?けどたまに100ペアにならないことがある。
これで今回はこれがオチとしておく。

370 名前:399 [2019/09/07(土) 20:55:02.76 ID:aT864lGO.net]
>>362
やっぱり、最小のペアを選んでいくことがベストなのかな?

できれば差は出来るだけ小さい方が良くて、結果みてると後者の方が良好な結果が出てる気がする

371 名前:デフォルトの名無しさん mailto:sage [2019/09/08(日) 00:49:49.01 ID:YBN7WO0H.net]
排便を
壁に塗りつけ
したり顔

372 名前:デフォルトの名無しさん [2019/09/08(日) 02:51:14.16 ID:bEtb/TpC.net]
>>257
Kotlin
https://paiza.io/projects/l3g48R76SbErJStepj8qmg

373 名前:デフォルトの名無しさん [2019/09/08(日) 08:38:41.51 ID:GRxK0QRw.net]
>>313
正方形だと3倍速い

374 名前:デフォルトの名無しさん mailto:sage [2019/09/08(日) 09:39:44.56 ID:46Wp6heU.net]
3倍早いだけだったらオーダーが変わらねーじゃん
円が一万個一億個一兆個だったらどうなんの

375 名前:デフォルトの名無しさん [2019/09/08(日) 09:58:44.95 ID:GRxK0QRw.net]
3日の仕事が1日で済むとも言う。



376 名前:デフォルトの名無しさん mailto:sage [2019/09/08(日) 13:16:12.58 ID:rbzdrKrZ.net]
>>363
ランダム生成している数字が割と一様なのでそういう結果になるけど、
まばらに片寄っていたらどうすればいいかはその時しかわからんなぁ。

377 名前:蟻人間 mailto:sage [2019/09/08(日) 23:16:36.64 ID:YT+ZQkc/.net]
何か初心者にも解ける面白い問題ないかな?

378 名前:蟻人間 mailto:sage [2019/09/08(日) 23:23:17.86 ID:YT+ZQkc/.net]
お題: 質問文とn個の項目からなるメニューを実装せよ。

質問文とn個の文字列が入力として与えられる。質問文とn個の項目をかっこよく表示し、ユーザーが一つ項目を選ぶまで待つ。選んだら、選んだ項目を出力する。

379 名前:蟻人間 mailto:sage [2019/09/08(日) 23:47:28.87 ID:YT+ZQkc/.net]
お題: マイ ドキュメントのフォルダ階層構造を表示せよ。

380 名前:デフォルトの名無しさん mailto:sage [2019/09/08(日) 23:48:15.93 ID:gIfFAHmp.net]
お題
与えられた数列の、隣り合う2要素の差のリストを作る関数等を作ってください。

入力数列例
3 1 4 1 5 9 2 6 5
出力数列例
-2 3 -3 4 4 -7 4 -1

余力があれば、ファイルなどから非常に長い数列を与えられても対処できる実装を試みてください

gushwell.ldblog.jp/archives/52379839.html を一部改変)

381 名前:デフォルトの名無しさん [2019/09/08(日) 23:48:22.91 ID:7lW0qzzX.net]
お題:北のミサイルをなんとかせよ

382 名前:デフォルトの名無しさん mailto:sage [2019/09/08(日) 23:51:10.96 ID:ZRQn+E7p.net]
どっかの国ハックして打ち込むしか

383 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 00:57:49.46 ID:G8Ger3PB.net]
>>373 Perl5

sub f {
 map{$_[$_ + 1] - $_[$_]} 0..$#_-1;
}
@a = qw{3 1 4 1 5 9 2 6 5};
@b = f @a;
print "@b\n";

実行結果
~ $ perl 15_373.pl
-2 3 -3 4 4 -7 4 -1

384 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 07:20:37.09 ID:F7fW2XyB.net]
>>373 Pharo/Squeak Smalltalk

| fn |
fn := [:xs | xs allButFirst - xs allButLast].

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

385 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 13:13:33.41 ID:4K8wNjEy.net]
>>373 Ruby

p [3, 1, 4, 1, 5, 9, 2, 6, 5].each_cons(2).map{|e| -e.reduce(:-)}
# => [-2, 3, -3, 4, 4, -7, 4, -1]



386 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 15:22:46.46 ID:pyLk+Xbb.net]
>>373 Pharo/Squeak Smalltalk

#(3 1 4 1 5 9 2 6 5) overlappingPairsCollect: [:x :y | y - x]

"=> #(-2 3 -3 4 4 -7 4 -1) "

387 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 15:35:48.47 ID:pmQvKTaB.net]
>>373
https://ideone.com/AoQVOB
C++。あってるかな?

388 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 15:55:42.79 ID:8EKyQA8Q.net]
>>373
perl5
"3 1 4 1 5 9 2 6 5" =~ m/(\d) (?= \s? (\d) ) (?{push @diff, $2 -$1}) /xg;
print "@diff";
-2 3 -3 4 4 -7 4 -1

389 名前:デフォルトの名無しさん [2019/09/09(月) 17:47:36.36 ID:Uwb0lHsl.net]
>>373
Kotlin
https://paiza.io/projects/E_9ZAZNclHjS7_qn4WPBbg

ファイルというか標準入力から入力する事しかできない。

390 名前:デフォルトの名無しさん [2019/09/09(月) 18:55:29.45 ID:nBEHXDpg.net]
>>373
ファイルからの読み込み派が居ない件。。。

Haskell

main = readFile "count.txt" >>= return.read >>= \lst -> print $ zipWith (-) (tail lst) lst
― ファイルから読まない場合は
― main = print $ zipWith (-) (tail lst) lst where lst = [3,1,4,1,5,9,2,6,5]

test.txt
[3,1,4,1,5,9,2,6,5]

out:
[-2,3,-3,4,4,-7,4,-1]

391 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 21:23:29.01 ID:pmSRY1k7.net]
>>373 octave
https://ideone.com/SV1flm

>>373 ruby
https://ideone.com/KZ9YO3

>>373 ocaml
https://ideone.com/aiOLiG

392 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 00:22:25.45 ID:2zzGvcE4.net]
>>219 Perl5

$s = 'AKDAK';
@a = ('^', split

393 名前:'', $s);

$o{$_} //= ++$i for @a;
%e = map{$a[$_] => $a[$_+1]} 0..$#a-1;
@p = sort{$o{$a} <=> $o{$b}} keys %o;

$d{$p[-1]} = $p[-1].'$';
push @p, '$';
$e{'$'} = '';

print "'$s'\n→\n";
for (@p) {
 $v = $e{$_};
 $r = $d{$v} // $v;
 print "$_: $r.\n";
}


実行結果
~ $ perl 15_219.pl
'AKDAK'

^: A.
A: K.
K: D$.
D: A.
$: .
[]
[ここ壊れてます]

394 名前:蟻人間 mailto:sage [2019/09/10(火) 01:16:31.32 ID:/hHoc5h9.net]
状態遷移図ってどんなときに役立つかな?

395 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 01:20:32.52 ID:2zzGvcE4.net]
ほらまぁ
状態遷移を表形式で定型的に定義した方が
言葉の羅列やグラフもどきポンチ絵などで表現するより明確な場面
さまざまなとき



396 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 01:22:32.02 ID:2zzGvcE4.net]
あいや、表じゃなくて図か。
そしたら、なんとなく依存関係などをややこしいグラフで表現して
ひもつけたとか賜って解釈したような気にさせるとき

自分で考えなよ

397 名前:デフォルトの名無しさん [2019/09/10(火) 02:40:29.88 ID:Ik1iUNRF.net]
>>373 javascript
[3,1,4,1,5,9,2,6,5]
.reduce((acc, n, i, arr) => [...acc, arr[i + 1] - n], [])
.slice(0, -1)

398 名前:デフォルトの名無しさん [2019/09/10(火) 08:11:29.51 ID:lIijspdS.net]
>>373

>>379 のブロック内で処理するのが分かりやすかったので、Haskellもprint以外の処理をリスト内包表記で完結するようにした。

main = print [y - x | let lst@(_:ls) = [3,1,4,1,5,9,2,6,5], (x,y) <- zip lst ls]

文字数としては >>383 より増えるが、読みやすさ優先。

399 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 17:53:27.20 ID:cZVhsOAf.net]
Smalltalkはやりたいことだけ書けばいいのがいい

400 名前:デフォルトの名無しさん [2019/09/10(火) 18:46:19.95 ID:CNsNp03m.net]
分かったよじゃあoverlappingPairsCollect実装するよ…

const overlappingPairsCollect = (arr, cb) => {
let head = arr.shift();
const overlappingPairs = [];
for (const value of arr) {
overlappingPairs.push([head, value]);
head = value;
}
return overlappingPairs.map(([a, b]) => cb(a, b));
}

overlappingPairsCollect([3,1,4,1,5,9,2,6,5], (a, b) => b - a);
//=> [-2,3,-3,4,4,-7,4,-1]

401 名前:デフォルトの名無しさん [2019/09/10(火) 19:17:03.68 ID:CNsNp03m.net]
ああ… forの前にif (!head) return overlappingPairs; のearly return入れ忘れた…

402 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 19:18:47.68 ID:ER41jhKS.net]
何言語?

403 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 19:51:01.24 ID:4IK1yyiH.net]
女子小学生のメスガキビッチ言語

404 名前:デフォルトの名無しさん [2019/09/10(火) 20:05:04.03 ID:9QXTHM58.net]
なるほどjavascriptね!

405 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 20:19:20.42 ID:ER41jhKS.net]
https://ideone.com/d5aNNP
C++。なんか面白そうだったので、 >>392 をパクって移植してみた。
結構ジェネリックにかけたが、考える負荷高いね。



406 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 20:31:26.62 ID:ER41jhKS.net]
>>397
コード追加。MakeHogeで困ることあるかなぁ?
あんまりユースケース見えてないから、不具合あったら教えて。

407 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 21:25:03.39 ID:OfzP/6E7.net]
>>392
>>377 も頼む!

408 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 23:08:14.13 ID:aMyCuNre.net]
お題
スネークケースをアッパーキャメルケースに変換せよ
アンダースコアを単語の区切りとみなし、単語の先頭は大文字に、先頭以外は小文字に変換すること
また、単語を連結したときに数字が連続する場合はアンダースコアを残すこと

(例)
snake_case => SnakeCase

ODAI00_99_TEST => Odai00_99Test

x_0_x => X0X

UpperCamelCase => Uppercamelcase

409 名前:デフォルトの名無しさん [2019/09/10(火) 23:20:02.02 ID:Ik1iUNRF.net]
>>399
allButFirstとallButLastは簡単だけどjsは生き残ってるスクリプト言語にしては珍しく演算子使ったリスト同士の演算が用意されてないのでfnは>>377みたいにキレイに書けない。

const allButFirst = arr => arr.slice(1);
const allButLast = arr => arr.slice(0, -1);
const fn = arr => allButLast(arr).reduce((acc, v, i) => (acc[i] -= v, acc), allButFirst(arr));

fn([3,1,4,1,5,9,2,6,5]);
//=> [-2,3,-3,4,4,-7,4,-1]

410 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 00:10:49.73 ID:JxGfX2fh.net]
>>400 Perl5

use feature say;
for (<DATA>) {
 say map{ucfirst lc} /((?:\d_\d|[^_\s])+)/g;
}
__DATA__
snake_case
ODAI00_99_TEST
x_0_x
UpperCamelCase


実行結果
~ $ perl 15_400.pl
SnakeCase
Odai00_99Test
X0X
Uppercamelcase

411 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 00:26:05.86 ID:JxGfX2fh.net]
>>402 その例ではいいけど
Odai00_9_9Test
↓になっちまうな…
Odai00_99test

412 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 00:31:52.77 ID:TkJgDVYV.net]
>>400
https://ideone.com/6apRE9
C++。オレ、馬鹿になってる〜。と苦しんでいた。

413 名前:デフォルトの名無しさん [2019/09/11(水) 00:44:08.30 ID:hWizELa3.net]
>>397
C++むずかしすぎワロタwwwww

414 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 00:47:45.94 ID:TkJgDVYV.net]
C++とJSとの違いは大雑把に言って、使う型を先に決めるか後で決めるか。という程度だと思う。

オレ、自分の幸福度を上げるために、80行位で問題とくようにしている。
というか、手癖でそれくらいになる。

415 名前:デフォルトの名無しさん [2019/09/11(水) 02:04:01.50 ID:hWizELa3.net]
>>400 JavaScript
const fn = s => s.split`_`
.map(([first, ...rest]) => [first.toUpperCase(), rest.join``.toLowerCase()].join``)
.reduce((acc, word) => acc + (/[0-9]{2}/.test(acc[acc.length - 1] + word[0]) ? '_' : '') + word);

fn('snake_case');
//=> "SnakeCase"
fn('ODAI00_99_TEST');
//=> "Odai00_99Test"
fn('x_0_x');
//=> "X0X"
fn('UpperCamelCase');
//=> "Uppercamelcase"



416 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 02:47:21.46 ID:0/zUYWhl.net]
>>400 Squeak Smalltalk

| fn |

fn := [:str |
| words |
words := str asLowercase subStrings: '_'.
words first capitalized , (words overlappingPairsCollect: [:x :y |
((x last isDigit and: [y first isDigit]) ifTrue: '_' ifFalse: '') , y capitalized
]) join
].

fn value: 'snake_case'. "=> 'SnakeCase' "
fn value: 'ODAI00_99_TEST'. "=> 'Odai00_99Test' "
fn value: 'x_0_x'. "=> 'X0X' "
fn value: 'UpperCamelCase'. "=> 'Uppercamelcase' "
fn value: 'Odai00_9_9Test'. "=> 'Odai00_9_9test' "

417 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 06:02:16.09 ID:CEu0fvWD.net]
>400 Ruby

f = -> s {s.split(/(?<=\D)_|_(?=\D)/).map(&:capitalize).join}

%w[
   snake_case ODAI00_99_TEST x_0_x UpperCamelCase
].each{|s| puts '%s => %s' % [s, f[s]]}

# =>
snake_case => SnakeCase
ODAI00_99_TEST => Odai00_99Test
x_0_x => X0X
UpperCamelCase => Uppercamelcase

418 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 06:06:45.97 ID:CEu0fvWD.net]
>>409 補足

puts f["Odai00_9_9Test'] # => Odai00_9_9test

419 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 12:54:52.45 ID:Alp4BtBi.net]
>>400
perl5
https://paiza.io/projects/GgkMgqOqyzwwgbmu-Fn-Vg

420 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 21:23:01.78 ID:RlhjBlE6.net]
お題:リストの奇数位置にある要素のみを含むリストを作れ
ただし、先頭要素を1番目と数える
[1, 2, 3, 4, 5]

[1, 3, 5]

rust
https://ideone.com/yXYsFB

octave
https://ideone.com/Go8xXL

421 名前:デフォルトの名無しさん [2019/09/11(水) 21:27:05.78 ID:C94vqLvq.net]
>>400

UpperCamelCaseはそのまま返すべきだろう。
(と言う事で、1文字目が大文字かつ全文に’_’が無い場合は、(恐らくUpperCamelCaseだろうと期待して)そのまま返すようにした)

Haskell

import Data.Char

main = mapM_ (print.f) ["snake_case","ODAI00_99_TEST","x_0_x","UpperCamelCase","notupperCamelCase"]

f [] = []
f lst@(x:_) | and [elem x ['A'..'Z'], (not.elem '_') lst] = lst
f (x:xs) = toUpper x:map toLower a ++ f (map toLower $ f' a b)
where
(a,b) = span (/= '_') xs

f' _ [] = []
f' [] (y:ys) = ys
f' xs lst@('_':y:ys) |and [(isDigit.last) xs, isDigit y] = lst
f' _ (_:ys) = ys


out:

"SnakeCase"
"Odai00_99Test"
"X0X"
"UpperCamelCase"
"Notuppercamelcase"

422 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 23:29:56.75 ID:sKkTHzOH.net]
>>400 Perl5、>>402-403 の修正、>>413 のように UpperCamelCase など_を含まない文字列はそのまま返す

use feature say;
for(<DATA>) {
@a = split/(?<!\d)_|_(?!\d)|\s/;
say 1 == @a ? @a : map{ucfirst lc} @a;
}
__DATA__
snake_case
ODAI00_99_TEST
x_0_x
UpperCamelCase
_local_vvar_
lavel_style_
OdAi00_9_9TeST


実行結果
~ $ perl 15_400_fix.pl
SnakeCase
Odai00_99Test
X0X
UpperCamelCase
LocalVvar
LavelStyle
Odai00_9_9Test

423 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 23:34:45.60 ID:sKkTHzOH.net]
>>414 ゴメン、実行結果貼り間違えた(下記のように最後のOdAi00_9_9TeSTはそのまま出る)

~ $ perl 15_400.pl
SnakeCase
Odai00_99Test
X0X
UpperCamelCase
LocalVvar
LavelStyle
OdAi00_9_9TeST

424 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 23:43:35.81 ID:sKkTHzOH.net]
>>412 Perl5

@a = a..z;
@x = map{$_-1} grep{$_&1} 1..@a;
@b = @a[@x];
print "[@b]\n";


実行結果
~ $ perl 15_412.pl
[a c e g i k m o q s u w y]

425 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 00:37:35.06 ID:zD/2/X2z.net]
>>412
common lisp
(loop for i in '(1 2 3 4 5) for j from 1 when (eql 1 (mod j 2)) collect i)
(1 3 5)



426 名前:デフォルトの名無しさん [2019/09/12(木) 02:26:36.91 ID:IEWaKNAx.net]
>>400
Kotlin
https://paiza.io/projects/nJNQpKN19OL_9d7CTfXDrw

427 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 09:48:36.52 ID:XoEd0LBY.net]
>>412 Ruby

p [1, 2, 3, 4, 5].each_slice(2).map(&:first)

# => [1, 3, 5]

428 名前:デフォルトの名無しさん [2019/09/12(木) 11:37:50.98 ID:Cxpf63qu.net]
>>412 JavaScript
[1, 2, 3, 4, 5].filter((val, idx) => (idx + 1) % 2)
//=> [1, 3, 5]

429 名前:デフォルトの名無しさん [2019/09/12(木) 18:13:32.79 ID:sKYe7PWn.net]
>>412
Kotlin
https://paiza.io/projects/O23Txsw6XtcwKDgOCmT86w

430 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 18:34:25.79 ID:u0+zztnJ.net]
>>412
https://ideone.com/leynnQ
C++。こんな感じで。

431 名前:デフォルトの名無しさん [2019/09/12(木) 21:30:23.66 ID:+vUO8BYK.net]
>>373 J
f =: 2 & (-~/\)

f 3 1 4 1 5 9 2 6 5
_2 3 _3 4 4 _7 4 _1


>>412 J
f =: _2 & ([/\)

f 1 2 3 4 5
1 3 5

432 名前:デフォルトの名無しさん [2019/09/12(木) 21:33:45.75 ID:cqw0/uFd.net]
さすがJ
サッパリ分からん

433 名前:デフォルトの名無しさん [2019/09/13(金) 00:40:21.67 ID:6zSQdjjj.net]
>>412
せめて、リストの中身は順番と関係無い内容の方が。。。
(例えば"abcde"とか)

Haskell

main = (print.oddlist) [1..5]

oddlist xs = [x | (x,y) <- zip xs [1..], odd y]

434 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 02:03:47.81 ID:qdoB8RTo.net]
お題:辞書型クリプタを実装せよ。
私の実装: https://ideone.com/cjGdvA

貴方はどう書く?

435 名前:デフォルトの名無しさん [2019/09/13(金) 13:13:33.48 ID:zfsxzWX8.net]
>>412 Tcl
set x {1 2 3 4 5}
set r {}
foreach {a b} $x {set r [concat $r $a]}
puts $r

実行結果
1 3 5



436 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 21:31:55.35 ID:5n7mddvT.net]
>>427
> foreach {a b}

こんなオサレな書き方で二個処理できるのすごい

437 名前:デフォルトの名無しさん [2019/09/13(金) 21:37:33.86 ID:sQZEDK+j.net]
tcl/tkで「tk部分ははいいがtclがクソ」みたいなのよく見た気がするんだけど、あれどういうとこが根拠なん?

438 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 04:14:12.84 ID:x5aQTHnU.net]
お題: すべての人民は和平のために火急的に速やかに自己の復元を実現しなければならない。

439 名前:デフォルトの名無しさん [2019/09/14(土) 04:28:39.19 ID:BS6VTuNp.net]
>>412 Io
a := list(1, 2, 3, 4, 5)
a select(i, v, i isEven) println

実行結果
list(1, 3, 5)

440 名前:デフォルトの名無しさん [2019/09/14(土) 07:49:29.90 ID:/8qdS/t9.net]
>>419

>>420

スレ違いだし、関数型言語だけが再利用性が高いとは言わないけど、
仮にoddlistがリストに対して良く使われる処理なら

[1,2,3,4,5].oddlist()

とか使いたいよね?
確かRubyはそう言う基本クラスにメソッド追加出来たと思うけど(うろ覚え)、
それをライブラリにして公開したいとする。

そうなると名前の競合とか起こり得るので

import mylib

[1,2,3,4,5].mylib.oddlist()

としたいとか、ならないだろうか。

変数と関数は別が良いって思った。

(議論の流れになるなら、別スレに誘導してね)

441 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 08:17:19.38 ID:G26P45sA.net]
>>412 Python

print([ i for i in range(1,6,2) ])
# [1, 3, 5]

442 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 08:24:26.09 ID:Hd+E1riT.net]
>>429
スレチだが教えてやる
数字が文字列として扱われて実行時にパースされるから馬鹿みたいに遅いことだ

443 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 08:30:44.01 ID:G26P45sA.net]
>>412 Python a~f

print( ['a','b','c','d','e'][::2] )
# ['a', 'c', 'e']

444 名前:デフォルトの名無しさん [2019/09/14(土) 19:11:38.33 ID:Rj/aIpzV.net]
>>426
クリプタって何?

445 名前:デフォルトの名無しさん [2019/09/14(土) 19:29:31.44 ID:daGZRaa0.net]
ザラキ唱える人じゃないか



446 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 19:57:54.64 ID:oc39AgJX.net]
>>436
Crypter.

Crypt + er.

447 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 20:22:44.80 ID:x5aQTHnU.net]
>>437
それはクリフト

448 名前:デフォルトの名無しさん [2019/09/14(土) 21:03:45.14 ID:KmV3vhTN.net]
cryptoなんだからcryptorじゃないの?

449 名前:蟻人間 mailto:sage [2019/09/14(土) 21:19:35.56 ID:0f+SL6BM.net]
それをゆうなら、encrypterの方が自然じゃん。

450 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 22:06:47.02 ID:31y0+jF3.net]
でも、それをいうならの方が自然かも

451 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 22:21:17.26 ID:oc39AgJX.net]
EnCrypterか。了解。
忘れたらごめんなさい。

452 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 22:23:04.61 ID:pQ8OW4Ak.net]
EnCrypterはおかしい
Encryperでいい

453 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 22:23:28.79 ID:pQ8OW4Ak.net]
tが抜けた

454 名前:デフォルトの名無しさん [2019/09/14(土) 22:26:10.43 ID:hhxdRhHk.net]
EmScriptEn

455 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 22:35:29.16 ID:oc39AgJX.net]
>>444
なんか癖になってるんだ。
小学校から英語やってるわけじゃないからなぁ・・・。



456 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 23:35:07.41 ID:1m2PUwRG.net]
>>432
釈迦に説法は空しいし恥ずかしいのでやめよう
どう考えてもおまいより>>419のほうが力量が上
議論の余地は無いので安心していい

457 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 10:23:47.74 ID:4T3I9hnw.net]
>>426 Perl 5.30

# -*- coding: utf-8 -*-
no warnings 'experimental::signatures';
use feature qw(say signatures); # lexical_subs);
sub ReversibleHash_Encode($S, $C) {
 @a = unpack 'C*






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

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

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