$ ls -la *.txt 0_README.txt (2.4K) 2019-02-20 02:21:45 0264デフォルトの名無しさん2019/02/20(水) 02:51:47.69ID:qYIek1dL>>255 ;; Common Lisp
(let ((prime (list 2))) (defun primep (n) (loop for i from (1+ (car prime)) upto n unless (find-if (lambda (j) (zerop (mod i j))) prime :from-end t) do (push i prime)) (find n prime)))
(defun nearest (i j) (/ (floor (+ (* i (expt 10 j)) 0.5)) (expt 10 j)))
(loop with cards = (loop for i from 1 to 8 nconc (make-list (- 9 i) :initial-element i)) and n = 0 and p = 0 for one in cards do (loop for two in (remove one cards :count 1) do (incf n) if (primep (+ (* 10 one) two)) do (incf p)) finally (format t "~,3F~%" (nearest (* (/ p n)) 3))) 0265さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/02/20(水) 03:32:48.09ID:jAMIqMc6 わーい、これでダウンロード制限された端末でDLできるぞ。やったー! 0266デフォルトの名無しさん2019/02/20(水) 03:35:30.81ID:VV/V1Ls8 お題スレってそういう趣旨の場所だっけか? 0267デフォルトの名無しさん2019/02/20(水) 03:43:59.14ID:J4bEIWoi>>265 できるかなあ?どういう制限しているかにもよるぞ。 0268デフォルトの名無しさん2019/02/20(水) 05:32:07.81ID:B2QSVSiS PowerShell にも、curl, wget ある
last2::[String] -> String last2 [] = [] last2 [x] = x last2 [x,y] = concat [x," and ", y] last2 (x:xs) = x ++ "," ++ last2 xs
lst = map show [0..5]
output: 0,1,2,3,4 and 5 0288デフォルトの名無しさん2019/02/21(木) 20:59:38.40ID:lqQG1Hmj>>286 list = [str(x) for x in range(1,5)] とか map(lambda x : str(x), list) でもおk
要素数が1個以下の場合はifで分離するだけなので略 0289デフォルトの名無しさん2019/02/21(木) 21:09:47.73ID:y3+CYNZ6>>279 Common Lisp (format t "~{~@{~A~^~#,1^, ~}~^ and ~A~}~%" (list 1 2 3 4)) https://ideone.com/6DcwO90290デフォルトの名無しさん2019/02/21(木) 21:21:18.07ID:lqQG1Hmj intとstrが混在してる場合でも大丈夫で入力数が1以下ならそのまま返すワンライナー
python print("".join(reversed(" ,".join(reversed([str(x) for x in list])).replace(",","dna ",1))))
JS+正規表現 console.log(list.join(", ").replace(/(.*),(.*?)+/,"$1 and $2"))
putStrLn.concat $ if length lst < 2 then lst else [(tail.concat.(map (\x -> ',':x)).init) lst," and ",last lst] 0299デフォルトの名無しさん2019/02/21(木) 23:36:37.11ID:un6uIa3F>>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 0300デフォルトの名無しさん2019/02/22(金) 00:04:51.72ID:EatRhjER>>279 Squeak/Pharo Smalltalk
(0 to: 3) asCommaStringAnd "=> '0, 1, 2 and 3' " 0301デフォルトの名無しさん2019/02/22(金) 00:07:27.55ID:wSgiM5bY>>299 アンカー間違えた >>279 宛だった…orz
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 0302デフォルトの名無しさん2019/02/22(金) 00:28:04.99ID:9PVAJM4v>>300 そういう関数が既にあるの? 0303デフォルトの名無しさん2019/02/22(金) 00:31:28.15ID:wSgiM5bY>>302 ググルとあるみたいよ。 組み込みMethodを山のように持っていそう 0304デフォルトの名無しさん2019/02/22(金) 00:49:22.57ID:9PVAJM4v ほえー 0305デフォルトの名無しさん2019/02/22(金) 06:09:02.19ID:HhIJRo4K>>279 Smalltalk (Pharo 7)
abc, def and xyz 0324デフォルトの名無しさん2019/02/23(土) 01:19:01.99ID:CTQXI+x5 lispって組み込みで素数かどうか判定するやつ提供されてるのか、、、面白い! 0325デフォルトの名無しさん2019/02/23(土) 02:10:15.51ID:9pS68leH>>313 bc
n = 2; for (i = 3; i <= 21; i++) n*=i; n
出力 51090942171709440000 0326デフォルトの名無しさん2019/02/23(土) 03:31:27.03ID:nkO3lkCA>>313 dc
51090942171709440000 0327デフォルトの名無しさん2019/02/23(土) 03:32:49.90ID:R2s6jSV3 bcのってjsでもそのまま動くんだな。どっちもc由来文法だからか… for(i=s=1;i<22;)s*=i++;s 0328デフォルトの名無しさん2019/02/23(土) 04:30:09.37ID:R2s6jSV3>>326 恥ずかしながらdcコマンド知らなかった…いいねこれ。 ~$ echo "$(seq -s' ' 1 21)$(printf '* %.0s' {1..20})p" | dc 51090942171709440000 0329デフォルトの名無しさん2019/02/23(土) 08:05:10.28ID:xK8/Ze+A>>313 Maxima print(21!); 0330デフォルトの名無しさん2019/02/23(土) 08:20:33.48ID:znXlogg7>>313 ;; Common Lisp (loop for i from 1 to 21 for r = i then (* r i) finally (print r)) 0331デフォルトの名無しさん2019/02/23(土) 08:45:55.53ID:DQY5g4De>>316 これは、本格的だな