- 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/
- 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 { 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
- 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'
- 401 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 19:00:24.37 ID:mboQc3Dn.net]
- >>364 JavaScript
[...'hello'].forEach(c=>console.log(c)) または for(let c of 'hello')console.log(c) または console.log([...'hello'].join`\n`)
- 402 名前:デフォルトの名無しさん [2019/02/26(火) 01:01:25.98 ID:ZoqutRDZ.net]
- >>364 Ruby
puts "Hello".split("")
- 403 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 02:14:00.16 ID:Jyzj3K2Z.net]
- お題:OS名を出力する
- 404 名前:デフォルトの名無しさん [2019/02/26(火) 02:51:12.85 ID:lsok3PaS.net]
- >>394
Linux等、UNIX系OSの場合コマンドラインから以下を入力するだけで GNU/Linux 等と出てくるが、 どうしてもプログラムにしたいのならシェルスクリプトの中でこれだけ実行するようにしておけばよい。 uname -o
- 405 名前:デフォルトの名無しさん [2019/02/26(火) 02:53:03.78 ID:lsok3PaS.net]
- >>394
Windows のコマンドプロンプトの場合はこれ。ただしバージョンも一緒に出てくる。 ver これもどうしてもプログラムにしたいならバッチファイルでこれだけ実行するようにしておけばよい。
- 406 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 07:52:39.56 ID:xb9W0X9p.net]
- pythonista
import os,sys print(os.uname() ) # posix.uname_result(sysname='Darwin', nodename='iPhoneXsMAX', release='18.2.0', version='Darwin Kernel Version 18.2.0: Wed Dec 19 20:28:53 PST 2018; root:xnu-4903.242.2~1/RELEASE_ARM64_T8020', machine='iPhone11,6') print(os.uname()[0],os.uname()[4],sys.platform ) # Darwin iPhone11,6 ios from distutils.util import get_platform print(get_platform()) # darwin-18.2.0-iPhone11,6
- 407 名前:デフォルトの名無しさん [2019/02/26(火) 08:17:26.80 ID:N21l9DY8.net]
- >>394 J
osname =: 3 : 0 a =. 9 !: 12 y if. a = 5 do. 'unix' else. a = 6 do. 'windows' else. do. 'other' end. )
- 408 名前:デフォルトの名無しさん [2019/02/26(火) 10:23:47.93 ID:E0EMtjG2.net]
- >>394
Perl5 print "$^O\n";
- 409 名前:デフォルトの名無しさん [2019/02/26(火) 15:46:59.25 ID:N21l9DY8.net]
- >>364 Lua
io.write((io.read("*a"):gsub(".","%0\n")))
- 410 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 15:54:05.05 ID:gjK+vdjr.net]
- お題: 任意のn-オミノを全種類出力するプログラム
- 411 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 15:55:57.75 ID:IBhh82RD.net]
- >>364
標準出力から与えられる場合 import sys for x in sys.stdin.read() : print(x) >>394と混合 import os for x in os.getenv("OS"): print(x)
- 412 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 18:05:30.42 ID:KX5s2hIr.net]
- >>384 Squeak/Pharo Smalltalk
| tick start primes sema sieveMaker processes ans | tick := 1 second. start := DateAndTime now. primes := SharedQueue new. sema := Semaphore new. sieveMaker := [:x | [[(tick * x) asDelay wait. sema signal] repeat]]. processes := SharedQueue new. tick asDelay wait. processes nextPut: [ [ tick asDelay wait. sema isSignaled ifFalse: [ | prime sieve | prime := primes nextPut: (DateAndTime now - start / tick) asInteger. sieve := sieveMaker value: prime. processes nextPut: sieve fork ]. sema initSignals ] repeat ] fork. ans := (1 to: 10) collect: [:idx | primes next]. 1 to: processes size do: [:idx | processes next terminate]. ans "=> #(2 3 5 7 11 13 17 19 23 29) "
- 413 名前:デフォルトの名無しさん [2019/02/26(火) 20:30:26.61 ID:cNXsTeTJ.net]
- お題: (Aが真 または Bが真) ならば Cが真である。 であるをプログラムしなさい。
- 414 名前:デフォルトの名無しさん [2019/02/26(火) 23:29:53.47 ID:Tg4W+a2u.net]
- お題: 円の最大重複数を求めよ
例題 以下画像の場合、最大重複数は4です。 https://imgur.com/pbh3VSE.png 円の重複数え方は、2つの円が重なっていたら、重なっている数は2とします。 また、円の重複判定の際、2つの円が円周上の1点のみで重なる場合、それらの円は重なっていないとします。 (理由は重複している面積は0だから。) 以下、本題。 画像のようなNo.0からNo.99までの100個の円があります。 これの円の最大重複数を整数で答えなさい。 https://imgur.com/WiRHA1F.png 入力データ: https://drive.google.com/open?id=1kl8bS3GOr8Ot2OMMACdCG0SJMpEKxLO3 入力データはx座標 y座標 r(半径)の順で記述されたリストで、すべて実数です。 与えられる入力データは -800.0 ≦ x ≦ 800.0 -800.0 ≦ y ≦ 800.0 100.0 ≦ r ≦ 400.0 の条件を満たします。 画像は自作、多分正しい。
- 415 名前:デフォルトの名無しさん mailto:sage [2019/02/27(水) 11:44:25.97 ID:wHsSBDML.net]
- お題: 自分自身のコードのコメントと非コメントを入れ替えたコードを出力するプログラムの
コードが自分自身のコメントの非コメントを入れ替えたプログラムのコードに なっているプログラム
- 416 名前:デフォルトの名無しさん mailto:sage [2019/02/27(水) 12:50:19.00 ID:haTnnqie.net]
- S式かRPNで書いてくれややこしい
- 417 名前:デフォルトの名無しさん [2019/02/27(水) 16:44:46.91 ID:1o6M4rID.net]
- >>406
サンプルプリーズ
- 418 名前:デフォルトの名無しさん mailto:sage [2019/02/27(水) 19:23:18.85 ID:1o0vhyUy.net]
- お題
整数N(N>=6)を相異なる3つの整数(0<a<b<c)の和で表すことを考える。 数列(a,b,c)として考えられるもののうち、辞書式順序で最小のものと最大のものを求めよ N=6 => (1,2,3)/(1,2,3) N=100 => (1,2,97)/(32,33,35)
- 419 名前:デフォルトの名無しさん [2019/02/27(水) 19:25:22.96 ID:sZAuINQ9.net]
- お題
英今文字からなる文字列が与えられる。 各文字の大文字、小文字の組み合わせをすべて求める。 "ab"の場合 ab aB Ab AB
|

|