1 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 16:58:30.97 ID:gTkHDluD.net] プログラミングのお題スレです。 前スレ プログラミングのお題スレ Part8©2ch.net echo.2ch.net/test/read.cgi/tech/1444216746/ 【出題と回答例】 1 名前:デフォルトの名無しさん お題:お題本文 2 名前:デフォルトの名無しさん >>1 使用言語 回答本文 【ソースコードが長くなったら】 (オンラインでコードを実行できる) ideone.com/ codepad.org/ compileonline.com/ rextester.com/runcode runnable.com/ code.hackerearth.com/ melpon.org/wandbox https://paiza.io/ 宿題は宿題スレがあるのでそちらへ。
623 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 23:48:06.18 ID:aP9yM4om.net] やだ。
624 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 00:39:27.61 ID:z/y1zyUv.net] プログラミングに関係ないお題は却下
625 名前:デフォルトの名無しさん [2017/11/08(水) 20:48:53.00 ID:XbOytUUT.net] 片山博文MZってコジキなのか?
626 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 00:48:07.30 ID:PHmyYrtX.net] コジキっていうか、頭の弱い子
627 名前:デフォルトの名無しさん mailto:sage [2017/11/14(火) 21:49:31.73 ID:yEmE0LhS.net] コード中でa-zA-Z0-9の文字を一切使わずに Hello World!! と出力せよ。 "!"の後ろの改行の有無は問わない。
628 名前:デフォルトの名無しさん mailto:sage [2017/11/14(火) 22:13:39.71 ID:1d5ZohBo.net] >>606 whitespace
629 名前:デフォルトの名無しさん mailto:sage [2017/11/15(水) 00:12:32.03 ID:ckRbh5hb.net] 前にも見たなぁ。
630 名前:デフォルトの名無しさん [2017/11/15(水) 00:21:09.60 ID:edbITJRa.net] >>606 それじゃプログラム組めないと思うんだが、記号だけの言語みたいなの使えってこと?
631 名前:デフォルトの名無しさん mailto:sage [2017/11/15(水) 00:30:14.08 ID:au/IFdC5.net] >>606 bhnjdsbkjdsb _
632 名前:デフォルトの名無しさん mailto:sage [2017/11/15(水) 00:31:44.60 ID:ckRbh5hb.net] iostreamがすでにアウト。
633 名前:デフォルトの名無しさん mailto:sage [2017/11/15(水) 01:21:11.75 ID:f03ykBDy.net] >>606
634 名前:デフォルトの名無しさん mailto:sage [2017/11/15(水) 01:21:50.26 ID:f03ykBDy.net] >>606 Ruby https://ideone.com/z4vm4F perlとjavascriptでも殆ど同じことができる
635 名前:デフォルトの名無しさん [2017/11/15(水) 01:23:33.97 ID:0AqsUHvD.net] 今日は七五三ということで 7,5,3,+,-,×,÷,(),^2を使った式(ただし7,5,3は一個しか使えない)で1から連続でいくつまで数を作れるか 1=3+5-7 2=5-3 3=3 4=(5-3)^2 5=5 6=(7-5)×3 …
636 名前:デフォルトの名無しさん [2017/11/15(水) 06:25:11.32 ID:21MTGrxx.net] ^2 もありですか
637 名前:デフォルトの名無しさん mailto:sage [2017/11/15(水) 11:19:06.80 ID:+wQkBp8E.net] >>613 回答見てもわからない どういうこと?
638 名前:デフォルトの名無しさん mailto:sage [2017/11/15(水) 11:36:08.43 ID:cnBo
] [ここ壊れてます]
639 名前:JhFE.net mailto: >>606 Ruby で、 unpacked = "Hello World!!".unpack("c*") p unpacked #=> [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 33] packed = unpacked.pack('c*') puts packed #=> Hello World!! [] [ここ壊れてます]
640 名前:デフォルトの名無しさん mailto:sage [2017/11/15(水) 11:46:46.76 ID:f03ykBDy.net] >>616 特殊変数$$から1を作ってそれをもとに2, 4, 8, 16などを作る "%c"を繰り返したものをあらかじめ作っておき そこに上記の数字で作った"Hello World!!"の文字コードをsprintフォーマットする 標準出力を表す特殊変数$>に<<メソッドでできた文字列を出力する あとは 「"" << 文字コード」で「文字コード.chr」と同様の結果が得られるので適宜利用すると便利
641 名前:デフォルトの名無しさん mailto:sage [2017/11/15(水) 12:14:35.50 ID:GYwcr8MQ.net] >>617 の間抜けさ加減に草
642 名前:デフォルトの名無しさん mailto:sage [2017/11/15(水) 13:25:57.72 ID:YypYHZ3m.net] >>614 ^2 は int sqr(int n){return n*n;} みたいな関数が使えるって意味だよね つまり、 x^2^2 とかは (x^2)^2 の意味で使うなら可能ってことだよね
643 名前:デフォルトの名無しさん mailto:sage [2017/11/15(水) 13:32:50.33 ID:+wQkBp8E.net] >>618 記号で1を作って、数値、文字コード、文字列としてくのか いろんな省略記法も知らないとできないな 解説ありがとう
644 名前:デフォルトの名無しさん mailto:sage [2017/11/15(水) 19:03:12.96 ID:vzgZy9E8.net] >>614 5と3を繋げて53にするようなこともしていいの?
645 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 00:18:43.09 ID:/xRbPsNU.net] 計算部は書いたけど、元の表記で何算してるか表記するのが面倒だ。 あと、遅い・・・。
646 名前:デフォルトの名無しさん [2017/11/16(木) 00:24:47.24 ID:IIofg8Am.net] 73/5=14とかは駄目だよね?
647 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 01:59:04.45 ID:/xRbPsNU.net] >>614 https://ideone.com/k7hAtB C++。 それとなく書いてみたけど、誤差でまくり。割り算鬼門すぎる。 多分バグってる。あと、題意理解してない可能性が微レ存。
648 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 02:00:39.12 ID:/xRbPsNU.net] あ、そうだ。 カッコの処理がバグバグだったからカッコ使わなかった。
649 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 02:11:42.94 ID:/xRbPsNU.net] うーむ・・・。なんていうか。。。 ギブアップだ。Orz
650 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 11:38:12.54 ID:clS3oGAP.net] >>625 「題意理解してない可能性が微レ存」どころじゃねえだろこれww
651 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 14:11:34.74 ID:9+S8V57k.net] 整数の範囲でも有理数の範囲でも答えが変わらないからつまらん 一旦非整数を経由しないと作れないのがないとやっぱり...
652 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 15:03:27.99 ID:/xRbPsNU.net] >>628 可笑しいところ教えて!
653 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 15:46:11.61 ID:9+S8V57k.net] (3^2)^2 = 3^4 ((3^2)^2)^2 = 3^8 だから、3^(2*3) とかやっちゃダメだろ あと、 3×5÷7 = 15÷7 ≠ 2
654 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 15:59:11.96 ID:/xRbPsNU.net] >>631 あー、俺がタコでした。 まぁ、前段は表示系の問題だと思うお。 後者は割り算が全部悪い。 浮動小数で比較したくないんだよなぁ。悩ましい。
655 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 16:39:35.92 ID:9+S8V57k.net] 有理数クラスを作るのだ
656 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 17:43:36.30 ID:/xRbPsNU.net] 有理数の法則がよくわかってないし、デカイ。 ままならんなー。
657 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 18:03:35.37 ID:9+S8V57k.net] (a/b) + (c/d) = (ad + bc) / bd (a/b) - (c/d) = (ad - bc) / bd (a/b) * (c/d) = ac / bd (a/b) / (c/d) = ad / bc (a/b) = (c/d) <===> ad = bc 分子 : 整数 分母 : 0以外の整数
658 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 21:25:39.77 ID:/xRbPsNU.net] 数学ムズイ。。。 PGも算数で解いてるからな。
659 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 00:16:40.63 ID:5DUWZGJy.net] 紙とペ
660 名前:ンで考えてみたところ 0以外の任意の整数なら3,5,7で表わせるから問題として不適なのでは? [] [ここ壊れてます]
661 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 00:20:03.76 ID:M2EFWWXH.net] 17
662 名前:デフォルトの名無しさん [2017/11/17(金) 10:03:52.61 ID:oe8UBfUe.net] >>637 3,5,7は1回までって回数制限があるから 表せる数は限られるよ。
663 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 10:44:12.02 ID:a6b9gyRQ.net] 17が出来ない
664 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 19:35:00.15 ID:5DUWZGJy.net] ああ、本当だ。17はどうやっても作れないね しかしこれをどうやってコードで計算すんだろう ^2があるから全探査はできないし 自分は「+または-」をいくつ使うかで場合分けして一個一個可能性を消していったんだけれども
665 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 20:04:40.56 ID:M2EFWWXH.net] コードはアップしないけど出来たよ
666 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 20:07:16.14 ID:M2EFWWXH.net] 独自有理数クラス 演算回数を1回ずつ増やしていって、 出来た値に対応するフラグをセット
667 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 20:09:06.68 ID:M2EFWWXH.net] 数値をstd::multisetで保持 演算n回目のmultisetをstd::setで保持
668 名前:デフォルトの名無しさん [2017/11/18(土) 17:51:34.79 ID:6foiYhRZ.net] ABC4D -E3FG ----- 77777 A〜G は、1〜9 の異なる数字。 ただし、3, 4 ではない
669 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 17:56:36.72 ID:R4dFDjUs.net] はい、そうですか。
670 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 19:08:28.21 ID:8fhXEikQ.net] >>645 Java 2年前の問題と俺の回答 peace.2ch.net/test/read.cgi/tech/1429195275/451 を改造したもの (50-54行目と標準入力) https://ideone.com/2chU62
671 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 19:44:36.57 ID:oFg54zrO.net] >>645 Ruby f = ->a, b, c, d, e, f, g{10000*a + 1000*b + 100*c + d - (1000*e + 10*f + g) == 78037} [1, 2, 5, 6, 7, 8, 9].permutation{|a| puts "%d%d%d4%d - %d3%d%d == 77777" % a if f[*a]} #=>87142 - 9365 == 77777
672 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 20:40:01.77 ID:6foiYhRZ.net] >>647 何も、そこまで作り込まなくても良いだろw 色々な覆面算に対応するため、汎用的に書いたのか
673 名前:デフォルトの名無しさん [2017/11/19(日) 22:39:02.74 ID:oda4btU4.net] 500, 100, 50, 10, 5, 1円のすべての種類の硬貨を、1枚以上使って、 合計15枚で750円にする時、10円硬貨は何枚になるか? A〜E の5人のランナーが走った結果、 完走したのは、1着とべべの2人で、残りの3人は、途中で棄権した ここで、完走した2人は、必ず真実を言い、 棄権した3人は、必ず嘘をつくものとする (つまり、事実に対して、真偽値を取る) A: D は棄権した B: A は、べべだった C: E は棄権した D: C は、べべだった E: B は完走した A〜Eがこのように答えた時、1着は誰か?
674 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 01:25:03.39 ID:Z32/GYkn.net] 先に答えやそれに至る式がわかっててコードに書き直すだけになっちゃうから 数学的に道筋立てて答えが出せるものはあんまりおもしろくないんだよな
675 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 03:34:46.27 ID:GkhyFhEh.net] アルゴリズムとは、数式の完全コピー 最初に、数式を考えて、その数式が間違っていれば、 撃墜モードでは、そこを突かれて撃墜される 結局、数式の証明が大事。 証明に、勘違いが無いかどうか
676 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 11:24:27.08 ID:7i/OQPcC.net] べべってなんぞ?
677 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 11:38:36.82 ID:OJcNabXy.net] >>653 たぶんこの場合は大阪の方言
678 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 11:45:30.45 ID:7i/OQPcC.net] 俺地方の人間だからわかんない。
679 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 18:24:16.80 ID:Slkhafwt.net] べべって最下位のことじゃないか どべ
680 名前:デフォルトの名無しさん [2017/11/21(火) 23:50:05.58 ID:zUV8sDjk.net] >>645 こんなのどうかな。Kotlin で作った。 https://paiza.io/projects/ObrsYN_Z7G44yy-pOlZh_Q
681 名前:デフォルトの名無しさん [2017/11/23(木) 10:05:44.85 ID:zWeuVerg.net] お題 1から99を表示する お題:1から999を出力する ただし0を含む数は除く
682 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 10:11:40.40 ID:TrZHjzbP.net] >>658 1000.times{|i|p i unless i.to_s[?0]}
683 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 12:15:31.91 ID:6AL/1aep.net] >>658 GNU Smalltalk 1 to: 999 do: [:n | (n asString includes: $0) ifFalse: [n displayNl]]
684 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 12:38:42.26 ID:KUvGqrz8.net] >>658 F# let () = seq { 1..999 } |> Seq.iter (printfn "%d")
685 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 12:40:24.86 ID:KUvGqrz8.net] >>661 すまん、問題よく読んでなかった・・・
686 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 13:30:23.43 ID:jBvfUrCY.net] >>658 https://ideone.com/unKY2z C++。ほかの言語だと一行で書けるんだけどなぁ。 まぁ過去に比べれば大分短くなったけど。
687 名前:デフォルトの名無しさん [2017/11/23(木) 15:45:02.09 ID:ys+VuKpG.net] >>658 文字も数もその場に合わせて適当に解釈してくれる言語だと楽だね。 perl だとこれでできる。 for(1..999){print"$_\n"unless(/0/)}
688 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 16:16:10.88 ID:JcpJJmmU.net] >>658 @Mathematica nListWithoutZero[n_]:=n// Range[1,#]&// Map[ToString,#]&// StringCases[#,RegularExpression["^(?!.*0).*$"]]&// Flatten; In[1] := nListWithoutZero[999] Out[1] = (略)
689 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 16:34:54.15 ID:2sNCCDGP.net] >>658 ダメだお題の意味がわからん 降参
690 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 16:42:00.54 ID:QTAUjuBR.net] >>658 rust https://ideone.com/NFrvi7 fn main() { println!("{:?}", (1..1000).filter(|i| !i.to_string().contains("0")).collect::<Vec<_>>()) }
691 名前:デフォルトの名無しさん [2017/11/23(木) 16:46:25.38 ID:ys+VuKpG.net] >>658 Kotlin で文字列変換してやる場合 fun main(args: Array<String>) { for (i in 1..999) if (! i.toString().contains('0', false)) println(i) } 数値のままやる場合 fun main(args: Array<String>) { for (i in 1..999) if (i % 10 != 0 && (i < 10 || i / 10 % 10 != 0) && (i < 100 || i / 100 % 10 != 0)) println(i) }
692 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 17:05:13.53 ID:fGVRHt7J.net] >>658 >>668 同じく数値のままやる場合 https://ideone.com/xySZgM
693 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 17:08:37.18 ID:fGVRHt7J.net] rio2016.2ch.net/test/read.cgi/math/1510671832/722 お題: n^2-1 = m^5 を満たす自然数 n, m は存在するか? 存在するという人と存在しないという人の両方が存在します
694 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 17:18:38.32 ID:TrZHjzbP.net] >>670 (n, m) = (1, 0) 揚げ足取りはおいておいて、プログラミングで説く問題じゃないよね
695 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 18:35:09.23 ID:zveldNvP.net] >>658 python 今回は必要ないかもだけど桁数増えた場合を考え再帰で https://ideone.com/WC8Ksm
696 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 19:09:48.15 ID:fGVRHt7J.net] >>671 まあ自明な解はさておき、その他は見つからないのが不思議です
697 名前: [] [ここ壊れてます]
698 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 20:21:54.46 ID:/mQ4CZGQ.net] >>673 カタラン予想ですでに存在しないことが証明されているのに何が不思議なのかね
699 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 20:24:10.50 ID:hjkeK8jf.net] >>673 その問題は数学的に解くものではないかな? まあ、コンピュータなら力業でかなりの値を n, m に入れて計算して確認できるけどさ。
700 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 20:56:22.87 ID:fGVRHt7J.net] >>674 カタラン予想というのがあるんですね、ありがとうございます! https://en.wikipedia.org/wiki/Catalan%27s_conjecture
701 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 21:05:28.66 ID:uF7hi9HH.net] >>658 #!/bin/sh seq 999|grep -v 0
702 名前:668 [2017/11/24(金) 06:21:36.98 ID:8wyGH9pr.net] >>658 Kotlin数値判定版。こんな風にも書けるなと後で気づいた。 fun f(n: Int): Boolean { var m = n; while (m != 0) { if (m % 10 == 0) return false m = m / 10 } return true } fun main(args: Array<String>) { (1..999).filter(::f).forEach(::println) }
703 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 07:42:25.55 ID:MEHEP0+e.net] 存在するしないをプログラミングで証明するのはお題として良くない
704 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 20:42:02.54 ID:G34PGfZh.net] log 2 を2進数表記した時の小数点第 n 位から n + 9 位までを求めよ. (1 ≦ n ≦ 10^10) cf. log 2 = 0.10110001... *Sample input* 1 11 10000 31415926 314159265 *Sample output* 1011000101 1100100001 0010110110 1001010110 0111101001
705 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 23:31:00.22 ID:r53+zpq0.net] >>680 c++で書いたけど小数第100億位を計算するのに5時間くらいかかりそうorz
706 名前: mailto:sage [2017/11/25(土) 00:04:03.20 ID:ROI3Hzdd.net] >>681 もう初手に届くとは劇速ですね
707 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 06:53:37.62 ID:Uo3oYb2P.net] 無条件でlogって書いたら普通自然対数だろ
708 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 07:01:13.88 ID:Uo3oYb2P.net] ライブラリを使えばほとんど何も書かなくて良いけど どこから書くことを求められてるの?
709 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 07:03:54.53 ID:Uo3oYb2P.net] >>679 「良くない」じゃなくて「出来ない」でしょ
710 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 07:16:55.64 ID:Uo3oYb2P.net] >>684 と思ったけど、普通に全桁計算したら終わらないな
711 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 07:34:12.57 ID:Uo3oYb2P.net] Σ { 1 / (2^i × i) } を使って10^10項位までを42bitくらいだけ計算すれば出来るかな? 1/nの周期性を考えないと計算量的に無理? 10^10が微妙に32bitを越えてるのがイヤだねえ
712 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 08:21:38.07 ID:Uo3oYb2P.net] >>687 ダメだ ざっと計算量を見積もったらとても5時間じゃ終わらない
713 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 13:10:34.24 ID:l6j6CjYT.net] >>375 xxx@xxx-VirtualBox:~/casl$ casl -s -e -i stdlib.casl -i bigint.casl fact.casl 1 1 2 6 24 120 720 5040 40320 362880 途 中 省 略 1405006117752879898543142606244511569936384000000000 60415263063373835637355132068513997507264512000000000 2658271574788448768043625811014615890319638528000000000 119622220865480194561963161495657715064383733760000000000 5502622159812088949850305428800254892961651752960000000000
714 名前:258623241511168180642964355153611979969197632389120000000000 12413915592536072670862289047373375038521486354677760000000000 608281864034267560872252163321295376887552831379210240000000000 30414093201713378043612608166064768844377641568960512000000000000 暇つぶしに書いてみたけど足算掛算割算しかできない 引算は難しすぎるんで諦めた [] [ここ壊れてます]
715 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 16:35:37.76 ID:J1zvm3XW.net] バイナリ法で最適化した結果なんとか1時間あれば10^10位は計算できるようになったがまだ縮められるかな
716 名前: mailto:sage [2017/11/25(土) 16:41:37.19 ID:ROI3Hzdd.net] 備忘メモ rio2016.2ch.net/test/read.cgi/math/1510671832/890 ちゃんとお題にして出題しなおします
717 名前: mailto:sage [2017/11/25(土) 21:49:51.82 ID:ROI3Hzdd.net] >>680 指数関数のマクローリン展開で試してみたのですが、これは収束が遅すぎますね、それに収束半径を超えてるし… なにか収束の早いよい方法はないものか…
718 名前: mailto:sage [2017/11/25(土) 21:54:37.24 ID:ROI3Hzdd.net] >>692 ×指数関数 ○対数関数
719 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 22:58:19.91 ID:yyAYDlfh.net] 対数関数のマクローリン展開? そりゃ無理だ log 0 が定義されてない
720 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 23:12:41.85 ID:FRsJtlII.net] >>689 CASLで書いたの? ソースコードは?
721 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 23:38:41.06 ID:yyAYDlfh.net] >>680 log 2 = Σ_[i=1, 2, ...] { 1 / (2^i × i) } 冪剰余 でいける気がしてきた しばらく暇がない 時間が空いたら アセンブラ & C++ & OpenMP でやってみる
722 名前:デフォルトの名無しさん [2017/11/26(日) 02:33:02.82 ID:T275kIwU.net] >>650 (setq aaa '(1 5 10 50 100 500)) (setq ddd 750) (setq jjj 15) (defun bbb (ccc iii) (if (= iii 0) ccc (let (eee) (dolist (fff ccc) (dolist (ggg aaa) (when (<= (+ (apply #'+ fff) ggg) ddd) (push (cons ggg fff) eee)))) (bbb (remove-duplicates (mapcar (lambda (x) (sort (copy-seq x) #'<)) eee) :test 'equal) (1- iii))))) (let* ((kkk (bbb '((0)) jjj)) (lll (mapcar (lambda (x) (remove 0 x)) kkk))) (remove-if-not (lambda (x) (and (= (apply #'+ x) ddd) (= (length x) jjj) (= (length (remove-duplicates x)) (length aaa)) )) lll)) ((1 1 1 1 1 5 5 5 10 10 10 50 50 100 500))
723 名前:デフォルトの名無しさん [2017/11/26(日) 02:34:12.86 ID:T275kIwU.net] >>650 (setq aaa '(A B C D E)) (defun fff (ddd) (if (null (cdar ddd)) ddd (let (eee) (dolist (jjj ddd) (let ((bbb (car jjj)) (ccc (cdr jjj))) (setq eee (append (mapcar (lambda (x) (cons (cons x bbb) (remove x ccc))) ccc) eee)))) (fff eee)))) (defun iii (kkk) (if (< kkk 2) #'identity #'not)) (let* ((ggg (fff (list (cons nil aaa)))) (hhh (mapcar (lambda (x) (car x)) ggg))) (remove-if-not (lambda (x) (and (funcall (iii (position 'A x)) (> (position 'D x) 1)) (funcall (iii (position 'B x)) (= (position 'A x) 1)) (funcall (iii (position 'C x)) (> (position 'E x) 1)) (funcall (iii (position 'D x)) (= (position 'C x) 1)) (funcall (iii (position 'E x)) (< (position 'B x) 2)))) hhh)) ((D C B E A) (D C E B A) (D C A E B) (D C E A B) (D C A B E) (D C B A E))