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


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

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



1 名前:デフォルトの名無しさん [2019/02/03(日) 11:21:53.20 ID:72eosYJ+.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/

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

※前スレ
https://mevius.2ch.net/test/read.cgi/tech/1538096947/

301 名前:さまよえる蟻人間 mailto:sage [2019/02/21(木) 21:37:53.05 ID:3Jj6vI7v.net]
一番外側の { } は省略可能。
共通部分がないときは、/で区切って出力せよ。

302 名前:279 mailto:sage [2019/02/21(木) 21:39:50.99 ID:1axkeZoV.net]
>>279 pike
https://ideone.com/0nn6Wt

303 名前:さまよえる蟻人間 mailto:sage [2019/02/21(木) 21:55:49.44 ID:PQQkN+7n.net]
このラティス構造っていうの、言語学ではよく使うらしいが、専門じゃないからよくわからない。

304 名前:デフォルトの名無しさん [2019/02/21(木) 22:55:49.76 ID:2zdYL4u2.net]
>>279
>>292

Haskellでもワンライナー出来たけど、読みやすいとは思えない。(横長だし)
発想としては(要素数2以上なら)最後以外の要素(文字列)の頭に','追加して、全部結合して(大きな文字列にして)最後に頭の','を省く。

main = putStrLn.tail.concat $ if length lst < 2 then lst else [(concat.(map (\x -> ',':x)).init) lst," and ",last lst]

lst = map show [0..5]

個人的に >>287 の方が発想も読みやすさも好みの書き方。
(読み難くなるなら関数分ける派)

pythonのはワンライナーでも比較的読みやすくて、ちょっと羨ましい。

305 名前:デフォルトの名無しさん [2019/02/21(木) 22:59:16.06 ID:2zdYL4u2.net]
>>297
弄ってる

306 名前:、ちに要素一以下だとバグ出てた。

正しいコードはこっち。

putStrLn.concat $ if length lst < 2 then lst else [(tail.concat.(map (\x -> ',':x)).init) lst," and ",last lst]
[]
[ここ壊れてます]

307 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:36:37.11 ID:un6uIa3F.net]
>>282 Perl5

sub f {
 my $a = shift;
 @_ ? (@_ > 1 ? "$a, " : "$a and ").f(@_) : $a
}

use feature say;

say f(qw[red green black white]);
say f(qw[apple banana]);
say f(qw[one]);


実行結果
~ $ perl 13_279_and.pl
red, green, black and white
apple and banana
one

308 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 00:04:51.72 ID:EatRhjER.net]
>>279 Squeak/Pharo Smalltalk

(0 to: 3) asCommaStringAnd "=> '0, 1, 2 and 3' "

309 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 00:07:27.55 ID:wSgiM5bY.net]
>>299
アンカー間違えた >>279 宛だった…orz


>>279 もう一丁 Perl5

sub g {
 my $z = ' and '.pop @_ if @_ > 1;
 join(', ', @_).$z;
}

use feature say;
say g(qw[red green black white]);
say g(qw[apple banana]);
say g(qw[one]);

実行結果
~ $ perl 13_279_and_2.pl
red, green, black and white
apple and banana
one



310 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 00:28:04.99 ID:9PVAJM4v.net]
>>300
そういう関数が既にあるの?

311 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 00:31:28.15 ID:wSgiM5bY.net]
>>302
ググルとあるみたいよ。
組み込みMethodを山のように持っていそう

312 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 00:49:22.57 ID:9PVAJM4v.net]
ほえー

313 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 06:09:02.19 ID:HhIJRo4K.net]
>>279
Smalltalk (Pharo 7)

#('apple' 'banana' 'orange' 'mango') asCommaStringAnd
==> 'apple, banana, orange and mango'

#('apple' 'banana') asCommaStringAnd
==> 'apple and banana'

#('apple') asCommaStringAnd
==> 'apple'

314 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 06:36:03.41 ID:S1fPIClY.net]
>>279 python

def f(lst): return ('空だ' if not lst else
','.join([str(x) for x in lst[:-1]])
+ (' and ' if len(lst)>1 else'')
+ str(lst[-1])
)


print(f( [ 1,'二',3,4,'五'] )) # 1,二,3,4 and 五
print(f( [1,'二'] )) # 1 and 二
print(f( [1] )) # 1
print(f([])) # 空だ

315 名前:305 mailto:sage [2019/02/22(金) 07:07:04.28 ID:HhIJRo4K.net]
しまった既出だったorz

316 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 07:58:55.12 ID:6TNKk8ap.net]
>>279 Ruby

f = -> a {a[0..-2].join(', ').sub(/.\K\z/, ' and ') << a[-1].to_s}

(-1..3).each{|r| puts f[[*0..r]]} # =>

0
0 and 1
0, 1 and 2
0, 1, 2 and 3

317 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 08:05:10.35 ID:6TNKk8ap.net]
>>291
あ{{あ{い/}}/う} // 12文字
ああい/ああ/あう // 9文字
あ{あい/あ/う} // 9文字

318 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 08:11:07.14 ID:EatRhjER.net]
>>302
Smalltalkは1970年代頃にはすでにこんな感じで
https://upload.wikimedia.org/wikipedia/commons/6/6e/Smalltalk-76.blowup.png
IDEからお絵かきツールまで処理系に組み込みだったので
生活に密着したメソッドが揃っています!

319 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 09:34:06.68 ID:Ao+GBu+d.net]
ラティス構造って要するに正規表現を生成すりゃーいいのか?



320 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 19:34:29.73 ID:CY9He0wk.net]
>>233
海外の人の
https://enigmaticcode.wordpress.com/2013/10/15/enigma-136-twelve-point-square/
https://github.com/enigmatic-code/lattice_circles

321 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 19:43:43.74 ID:FMSx1nas.net]
お題:21の階乗を計算して表示せよ。
https://ideone.com/gQAd37

322 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 20:16:33.34 ID:9PVAJM4v.net]
>>310
ほえー

323 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 21:26:47.09 ID:py41/SAb.net]
>>313 JavaScript
console.log(Array.from({length: 21}, (v, i) => i + 1).reduce((acc, v) => acc * v));

324 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 21:42:16.23 ID:THqrb0iU.net]
お題:
長方形のフィールドが与えられる。フィールド

325 名前:上では上下左右に移動することができる。
各マスの数字はそのマスに入るためのコストを表す。
SからGに向かうときの最小コストを求めよ。(SとGのコストは0とする)

S5111
1115G
=> 6

S1111
98642
G1111
=> 9

13457689768914512071934123457
G4578901258901212890361125312
37890423076834712378998725463
16890102569615902061456259893
34582934765923812893461515232
57896123896741378915691551697
89013897456123457162501835479
21389046013845610034623405686
8902346203948612341356362342S
=> ?
[]
[ここ壊れてます]

326 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 21:49:55.63 ID:2ARSyvEs.net]
>>279
>>289
Common Lispで~#[...~]を使ってみた
(format t "~{~S~#[~; and ~:;, ~]~}" '(apple banana orage mango))

327 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 22:00:24.05 ID:py41/SAb.net]
こういう文章題好き。
でも実力不足で解けない…
a*かな?

328 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 22:05:57.76 ID:AX8XyL13.net]
>>313 Perl5

use bignum (l=>GMP);

$n = 1;
$n *= $_ for 2..21;

print "$n\n";


実行例
~ $ perl 13_313.pl
51090942171709440000

329 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 22:26:00.12 ID:eQxt3fSm.net]
>>313 JavaScript
console.log((f=n=>n?n*f(n-1):1)(21))



330 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 00:16:14.24 ID:KCAwaSn8.net]
>>313 Smalltalk-76

https://imgur.com/a/a7MClxL

331 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 00:27:48.65 ID:khwKgkQE.net]
>>313 python
#階乗1
import math
print('階乗1',math.factorial(21))

#階乗2
def f(n): return f(n - 1)*n if n > 1 else n
print('階乗2',f(21))

#階乗3
print('階乗3',(lambda x:f(21))( globals().update({"f": lambda n: n*f(n - 1) if n > 2 else n })))

332 名前:デフォルトの名無しさん [2019/02/23(土) 01:14:20.46 ID:9pS68leH.net]
>>279
Kotlin script
最後のカンマを正規表現の文字列置換で and にしただけ。

println(listOf("abc", "def", "xyz").joinToString(", ").replace(",([^,]*)$".toRegex(), " and$1"))

出力

abc, def and xyz

333 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 01:19:01.99 ID:CTQXI+x5.net]
lispって組み込みで素数かどうか判定するやつ提供されてるのか、、、面白い!

334 名前:デフォルトの名無しさん [2019/02/23(土) 02:10:15.51 ID:9pS68leH.net]
>>313
bc

n = 2; for (i = 3; i <= 21; i++) n*=i; n

出力
51090942171709440000

335 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 03:31:27.03 ID:nkO3lkCA.net]
>>313 dc

~$ echo 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 ********************p | dc

51090942171709440000

336 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 03:32:49.90 ID:R2s6jSV3.net]
bcのってjsでもそのまま動くんだな。どっちもc由来文法だからか…
for(i=s=1;i<22;)s*=i++;s

337 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 04:30:09.37 ID:R2s6jSV3.net]
>>326
恥ずかしながらdcコマンド知らなかった…いいねこれ。
~$ echo "$(seq -s' ' 1 21)$(printf '* %.0s' {1..20})p" | dc
51090942171709440000

338 名前:デフォルトの名無しさん [2019/02/23(土) 08:05:10.28 ID:xK8/Ze+A.net]
>>313 Maxima
print(21!);

339 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 08:20:33.48 ID:znXlogg7.net]
>>313
;; Common Lisp
(loop for i from 1 to 21 for r = i then (* r i) finally (print r))



340 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 08:45:55.53 ID:DQY5g4De.net]
>>316
これは、本格的だな

ダイクストラ・A* みたいな、順位キュー(priority queue)を使わないと、いけないかも

341 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 09:18:55.19 ID:IBS/n4EE.net]
>>313
Smalltalk (Pharo 7)
21 factorial
==> 51090942171709440000

342 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 12:01:13.29 ID:+GfRG2y6.net]
>>316 Java
https://ideone.com/ZhJHKg

343 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 12:26:35.61 ID:DQY5g4De.net]
>>313
Ruby

( 1..21 ).inject( 1, :* )

344 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 12:44:52.28 ID:W0y17tlk.net]
python3
標準ライブラリ内の数学関数の例
import math
print(math.factorial(21))
そうじゃない例
from functools import reduce
print(reduce(lambda x,y:x*y,range(1,22)))

ちょっと高度化したお題
素数階乗n#を実装せよ
ただし素数階乗とは与えられた整数n以下のすべての素数の積である

1#=1
3#=4#=6
5#=30

345 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 13:22:30.58 ID:R2s6jSV3.net]
例がちょっと意味分からない
1#=1
1以下の素数の積なのに1?
3#=4#=6
何これ?
5#=30
これだけ分かる

346 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 13:25:18.18 ID:R2s6jSV3.net]
あ、二番目分かりました。
一行目だけ分からない

347 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 13:28:26.15 ID:+GfRG2y6.net]
>>335 Java
https://ideone.com/4M3U1T

348 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 13:34:54.53 ID:vMXU7Bcc.net]
>>337
掛けるもののがないときは1として扱うのが普通だよ
0!とかΠの項数が0の時とか

ただこの出題者はそのへん理解してないだろうから解く気がしない

349 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 13:40:09.27 ID:R2s6jSV3.net]
>>339
ありがとう。
数学と同じとは限らないんだね。
1も素数としてやってみます。



350 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 13:47:45.99 ID:+eBVT+rm.net]
>>340
1を素数と見做すんじゃなく空積の1

351 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 13:53:12.99 ID:W0y17tlk.net]
というか数学でも0!=1!=1と定義されているのが普通だと思うし
高校でも大学でもそうじゃない問題を見たことがないのだが

352 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 13:53:38.08 ID:vMXU7Bcc.net]
>>340
いや、むしろ数学の世界での慣習なんですけど…

353 名前:デフォルトの名無しさん [2019/02/23(土) 14:28:11.89 ID:DQY5g4De.net]
単位元(初期値)だろ。
足し算は0、掛け算は1 が、単位元

Ruby で、
( 1..21 ).inject( 1, :* )

1 が初期値で、:* で掛け算メソッドを渡している

354 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 15:02:20.95 ID:R2s6jSV3.net]
>>342
> ただし素数階乗とは与えられた整数n以下のすべての素数の積である

と書いてあるので、

「与えられた整数n」が1
のとき、
「与えられた整数n以下のすべての素数の積」
は、
「1以下のすべての素数の積」
となり、
1以下に素数はないのになんで例で答がが1になってるんだろう、と思った次第です。
お騒がせしました。

355 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 15:15:16.07 ID:R2s6jSV3.net]
できた
JavaScript
const prodPrimes = n => {
const primes = [1];
for (let m = n; m > 1; m--) {
let prime = 0;
for (let i = 2; i <= m - 1; i++) {
if (m % i === 0) prime = i;
}
primes.push(prime || m);
}
return [...new Set(primes)].reduce((acc, p) => acc * p);
}
console.log(prodPrimes(1)); //=> 1
console.log(prodPrimes(3)); //=> 6
console.log(prodPrimes(4)); //=> 6
console.log(prodPrimes(5)); //=> 30

今夜はPythonで>>316に挑戦したい

356 名前:デフォルトの名無しさん [2019/02/23(土) 15:45:56.58 ID:xK8/Ze+A.net]
>>335 J
f =: 3 : 0
*/ 1 , I. 1 p: i. >:y
)

f@> 1 3 4 5 21
1 6 6 30 9699690

357 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 15:50:44.94 ID:5fn4St+r.net]
Jどこで覚えればいいの?
Effective J的な読みやすい書籍ないの?

358 名前:デフォルトの名無しさん [2019/02/23(土) 16:01:13.49 ID:BD+5EZ0V.net]
>>313 Common Lisp
(defun ! (n)
  (apply #'* (loop for i from 1 upto n collect i)))

CL-USER> (! 21)
51090942171709440000
CL-USER> (! 0)
1
CL-USER>

359 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 16:18:41.85 ID:Z/STDkD0.net]
>>335 ruby
https://ideone.com/ccP7e9



360 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 17:50:18.29 ID:oGmxRysL.net]
>>321
これただのお絵描きやん
規制しろ!

361 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 18:00:12.84 ID:5fn4St+r.net]
でかいキノコやらしい…

362 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 18:14:04.27 ID:2kPF298z.net]
>>316 Perl5 Dijkstra法による最短経路探索 (priority queueを用いない実装)
https://ideone.com/XcsBQe

363 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 20:22:19.99 ID:ejRNWGjN.net]
>>316
python(pypy) https://ideone.com/DV1w4s

本線: キュー使用したダイクストラ (+ 経路復元)。

サンプル程度なら、ワーシャルフロイド(頂点^3)でも回る、と同方も追加。
さすがにpythonには少々きつく、pypyに逃げた。

364 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 00:49:59.19 ID:ROsmA06r.net]
>>354 pypy に逃げたという話は、その方がかなりスピードが早いからという事? どの位のスピード差になるんだろう?

365 名前:デフォルトの名無しさん [2019/02/24(日) 01:37:12.40 ID:jRfp9b62.net]
>>313
Kotlin script

println("%.0f".format((2..21).map { it.toDouble() }.reduce { n1, n2 -> n1 * n2 }))

366 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 01:45:28.46 ID:W3fm5ADB.net]
>>355
何も変えずpython3で実行 https://ideone.com/IArwja

約6秒 vs 約0.2秒

まぁ、本当はpython3向けにもう少し治せそうだが

367 名前:さまよえる蟻人間 mailto:sage [2019/02/24(日) 05:55:10.72 ID:xnYazQgz.net]
お題: 3分タイマーを作れ。3分間待って、音を鳴らすか、画面に「BEEP!」と表示せよ。ただし、CPU時間を無駄に消費してはならない。

368 名前:さまよえる蟻人間 mailto:sage [2019/02/24(日) 06:09:09.10 ID:xnYazQgz.net]
お題: スリープソートを実装せよ。

369 名前:さまよえる蟻人間 mailto:sage [2019/02/24(日) 06:27:08.15 ID:xnYazQgz.net]
お題: 玉入れ競争のシミュレーションを作れ。1チームに玉50個で園児3人。2チームある。園児それぞれが10秒に玉1個投げる。
一回投げると、3秒後に1/2の確率で玉が入る。イベントのたびに「チーム#1の園児#1が玉を投げました」「チーム#2の園児#1の玉が入りました」などと表示する。



370 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 07:40:28.45 ID:lq3Vey6S.net]
>>313
@Mathematica

ライブラリ版
Factorial[21]

非ライブラリ版
Range[21] // Apply[Times, #] &

371 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 08:11:35.91 ID:UKaroUbg.net]
>>335
Smalltalk (Pharo 7)
[:n | (Integer primesUpTo: n+1) inject: 1 into: [:p :x | p * x]] value: 5
==> 30

372 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 08:39:28.32 ID:lq3Vey6S.net]
>>335
@Mathematica
Range[5] // Select[#, PrimeQ] & // Apply[Times, #] &

373 名前:デフォルトの名無しさん [2019/02/24(日) 08:59:23.56 ID:k3GW1oFG.net]
お題
与えられた文字列を縦に表示する

入力
hello

出力
h
e
l
l
o

374 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 09:18:40.92 ID:FkqnBGPg.net]
>>364
ruby -e "'hello'.split('').each do |c| puts c end"

375 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 09:39:23.28 ID:UNsYm68I.net]
>>364 octave
https://ideone.com/MZvdVC

376 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 10:41:19.01 ID:gbE7FXAb.net]
>>364 Perl5

~ $ echo -n hello | perl -naF -E 'say for @F'
h
e
l
l
o

377 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 10:45:19.09 ID:gbE7FXAb.net]
>>358 Perl5

sleep 3*60;
print "BEEP!\n";

378 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 10:51:12.60 ID:5XYYe3Vz.net]
>>346
Pythonじゃ緩すぎだろw
Brainfu*kとかJで挑戦したいと言わないと
世のマゾヒスト達からマサカリ投げられるぞw

379 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 11:01:40.94 ID:gbE7FXAb.net]
>>359 Perl5

use List::Util shuffle;
@a = shuffle 1..5;
print "shuffled) @a\n";

use threads;

use threads::shared;
my @b: shared;

sub f {
&nbsp;&nbsp;my $n = shift;
&nbsp;&nbsp;sleep $n;
&nbsp;&nbsp;push @b, $n;
}

push @thr, threads->create(\&f, $_) for @a;
$_->join() for @thr;

print "sorted ) @b\n";

実行結果
~ $ perl 13_359.pl
shuffled) 5 3 1 2 4
sorted ) 1 2 3 4 5



380 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 11:04:08.38 ID:gbE7FXAb.net]
>>370 しまった、&nbsp;がそのまま表示されている…orz 全角スペースに置換して修正
>>359 Perl5

use List::Util shuffle;
@a = shuffle 1..5;
print "shuffled) @a\n";

use threads;

use threads::shared;
my @b: shared;

sub f {
 my $n = shift;
 sleep $n;
 push @b, $n;
}

push @thr, threads->create(\&f, $_) for @a;
$_->join() for @thr;

print "sorted ) @b\n";

実行結果
~ $ perl 13_359.pl
shuffled) 5 3 1 2 4
sorted ) 1 2 3 4 5

381 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 14:09:41.21 ID:UKaroUbg.net]
Smalltalk (Pharo 7)
String cr join: 'hello'
==> 'h
e
l
l
o'

382 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 14:14:37.55 ID:lq3Vey6S.net]
>>364
@Mathematica

"hello" // Characters // Riffle[#, "¥n"] & // StringJoin

383 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 14:37:33.43 ID:ke/CY5a3.net]
>>351
いや、21 factorialをSmalltalk-76で実際に計算したものですよ!
動画にしたほうがよかったですか?^^;

384 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 15:44:30.88 ID:R6DRM9b9.net]
>>335 Squeak Smalltalk (このコードは Pharo では動かない)

| fn |
fn := [:n | (Integer primesUpTo: n + n isPrime asBit) inject: 1 into: #*].
#(1 3 4 5) collect: fn. "=> #(1 6 6 30) "

385 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 15:56:11.32 ID:R6DRM9b9.net]
>>364 Squeak Smalltalk (同じく Pharo とは互換性がないコードで)

'hello' joinSeparatedBy: Character cr.

"= 'h
e
l
l
o' "

386 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 16:12:06.37 ID:ke/CY5a3.net]
>>359 Pharo/Squeak Smalltalk

| sleepsort |
sleepsort := [:arr |
| queue |
queue := SharedQueue new.
arr do: [:x | [(x * 2) milliSeconds asDelay wait. queue nextPut: x] fork].
(1 to: arr size) inject: #() into: [:acc :idx | acc, {queue next}]
].

sleepsort value: #(2 1 5 10 7 8 3 6 4 9)

"=> #(1 2 3 4 5 6 7 8 9 10) "

387 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 17:18:42.39 ID:+6ZRRI/z.net]
>>358 puthonista ( iPhone )

# iPhoneのシステムサウンドを使ってアラームを出す。
import sound,time

alarm = '/System/Library/Audio/UISounds/alarm.caf'
time.sleep(3*60)
id = sound.play_effect(alarm)

388 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 17:40:55.70 ID:+6ZRRI/z.net]
>>378 pythonista の間違い。

389 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 19:37:23.57 ID:Wf3q+Rvy.net]
>>359 Bash

#!/usr/bin/bash

N=5

IFS=$'\n'
a=(`seq $N | shuf | sed -e 's/\([0-9]\+\)/(sleep \1; echo \1 >> result)/'`)
IFS="$'\n'$'\t' "

[ -f ./result ] && rm ./result
for s in "${a[@]}"; do
 echo "$s"
 sh -c "${s}" &
done

wait
cat ./result


~ $ sh 13_359.sh
(sleep 2; echo 2 >> result)
(sleep 5; echo 5 >> result)
(sleep 4; echo 4 >> result)
(sleep 1; echo 1 >> result)
(sleep 3; echo 3 >> result)
1
2
3
4
5



390 名前:デフォルトの名無しさん [2019/02/25(月) 02:16:17.34 ID:VuzBCyor.net]
>>364
Kotlin script

while (readLine()?.map { it }?.joinToString("\n")?.let { println(it); it } != null);

391 名前:デフォルトの名無しさん [2019/02/25(月) 02:42:58.27 ID:VuzBCyor.net]
>>358
sh

sleep 180 ; echo 'BEEP!'

392 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 02:47:11.29 ID:yxDnlxm5.net]
>>364
ruby -e "'hello'.each_char do |c| puts(c) end"

393 名前:さまよえる蟻人間 mailto:sage [2019/02/25(月) 02:47:19.11 ID:qxzw13Bf.net]
お題: スリープと複数のスレッドを使って素数を10個求めよ。1つのスレッドは素数倍数のループを意味する。

394 名前:さまよえる蟻人間 mailto:sage [2019/02/25(月) 03:51:24.00 ID:qxzw13Bf.net]
>>384
ヒント: 一秒ごとにリセットするカウンターを使う。

395 名前:デフォルトの名無しさん [2019/02/25(月) 09:19:02.25 ID:KMrhrKmq.net]
意味がわからん

396 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 10:35:33.17 ID:OZaxYFd4.net]
模範解答があるんでしょ
だからヒントを作れる
なら最初から正解を出せと

397 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 10:52:58.23 ID:mBiroDnU.net]
このコテうぜえから書き込み禁止にしろ

398 名前:デフォルトの名無しさん [2019/02/25(月) 11:25:48.34 ID:4jlXoier.net]
スリープタイマに番号付けてON/OFF出来ればエラトステネスの篩で素数が出来る。

399 名前:デフォルトの名無しさん [2019/02/25(月) 17:25:13.53 ID:KMrhrKmq.net]
わかんないからちょっとやってみて



400 名前:デフォルトの名無しさん [2019/02/25(月) 18:50:50.58 ID:IURODyYm.net]
>>364 J
smoutput@>'hello'






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

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

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