ベルク・カッツェ |
分子に5と2の倍数が必要。
1が2枚のとき、1通り。 1が1枚のとき、分母が3、3、4の3通り。 1が0枚のとき、分母に2枚の場合が2,2の1通り、 分母が1枚のとき全部で11通り。 地道に調べて16通りになりました。 |
7月22日(木) 0:15:01
50678 |
スモークマン |
掛け算だけではダメという意味で...
2x5(x1/1,x2/2,...,x9/9) 4/5(x1/2,x2/4) 6x5(x1/3,x2/6) 8x5(x1/4,/2/2,x2/8) so...9+2+2+3=16個でしたか ^^; 何回か間違いを送りました ^^;; |
7月22日(木) 0:30:15
50679 |
Jママ |
5に1から順に掛けて式を探すという無思想な方法で、
5×8÷2÷2にしばらく気づかずにいました |
7月22日(木) 0:40:46
50680 |
今年から高齢者 |
5と偶数が必要
5*2*:1/1、2/2、3/3、4/4、5/5、6/6、7/7、8/8、9/9、 5*4*:1/2、2/4、3/6、4/8 5*6*:1/3、2/6、3/9 5*8*:1/4、2/8、/2/2 重複が、2544、2566、2588 全部で、9+4+3+3-3=16 |
7月22日(木) 0:41:27
50681 |
スモークマン |
#50681
そうか...☆ わたしのは...たまたま合ってただけなのね ^^; あな恥ずかしや... |
7月22日(木) 0:50:15
50682 |
ベルク・カッツェ |
>掛け算だけではダメ
掛け算だけは1、1、2、5しかなく、これは割り算を入れることもできますね。 |
7月22日(木) 0:58:08
50683 |
いちごみるく |
カードの並べ方まで考えるものだと思い303通りとなってました。
#define rep(i, n) for (int i = 0; i < (n); ++i) #define rep2(i,l,r)for(int i=(l);i<(r);++i) int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int ans = 0; rep2(i, 1, 10)rep2(j, i, 10)rep2(k, j, 10)rep2(l, k, 10) { bool b = false; rep(m, 2)rep(n, 2)rep(o, 2)rep(p, 2) { int x = i * j * k * l; int y = 1; if (m)y *= i * i; if (n)y *= j * j; if (o)y *= k * k; if (p)y *= l * l; if (x == y * 10)b = true; } if (b) ans++; } cout << ans << endl; return 0; } |
7月22日(木) 1:13:36
50684 |
いちごみるく |
数字の並びまで考えて197通り
数字の間の四則演算が異なるものも別に数えると303通りかな |
7月22日(木) 1:21:38
50685 |
hrgn |
mathematicaで解きました。
(x, y) -> (x*y, x/y)を3回合成してできる集合が 10を含むかどうか調べています。 lst = DeleteDuplicates[Sort /@ Tuples[Range@9, 4]]; f[{x_, y_}] := {x*y, x/y}; g[{a_, b_, c_, d_}] := MemberQ[Flatten[f[#, d] & /@ f[#, c] & /@ f@{a, b}], 10]; ans = Length@Select[lst, g] |
7月22日(木) 1:36:08
50686 |
ゴンとも |
#50685
>数字の間の四則演算が異なるものも別に数えると303通りかな 十進Basicで FOR a=1 TO 9 FOR b=1 TO 9 FOR c=1 TO 9 FOR d=1 TO 9 IF a*b*c*d=10 THEN LET s1=s1+1 IF a*b*c/d=10 THEN let s2=s2+1 IF a*b/c*d=10 THEN LET s3=s3+1 IF a/b*c*d=10 THEN LET s4=s4+1 IF a/b/c*d=10 THEN LET s5=s5+1 IF a/b*c/d=10 THEN LET s6=s6+1 IF a*b/c/d=10 THEN LET s7=s7+1 IF a/b/c/d=10 THEN LET s8=s8+1 NEXT d NEXT c NEXT b NEXT a PRINT s1;s2;s3;s4;s5;s6;s7;s8;s1+s2+s3+s4+s5+s6+s7+s8 END f9押して 12 81 65 51 14 15 16 0 254 で254通りになりました!! |
豊川市
7月22日(木) 1:42:35
MAIL:fttnm528@ybb.ne.jp 50687 |
hrgn |
50686にあげたコードは間違いです。
書き込みの訂正がうまくいかないので正しいものを貼ります。 lst = DeleteDuplicates[Sort /@ Tuples[Range@9, 4]]; f[x_, y_] := Flatten[{x*y, x/y}]; g[{a_, b_, c_, d_}] := MemberQ[Fold[f, a, {b, c, d}], 10]; ans = Length@Select[lst, g] |
7月22日(木) 2:43:48
50688 |
いちごみるく |
FOR a=1 TO 9
FOR b=1 TO 9 FOR c=1 TO 9 FOR d=1 TO 9 IF a*b*c*d=10 THEN LET s1=s1+1 IF a*b*c=10*d THEN let s2=s2+1 IF a*b*d=10*c THEN LET s3=s3+1 IF a*c*d=10*b THEN LET s4=s4+1 IF a*d=10*b*c THEN LET s5=s5+1 IF a*c=10*b*d THEN LET s6=s6+1 IF a*b=10*c*d THEN LET s7=s7+1 IF a=10*b*c*d THEN LET s8=s8+1 NEXT d NEXT c NEXT b NEXT a PRINT s1;s2;s3;s4;s5;s6;s7;s8;s1+s2+s3+s4+s5+s6+s7+s8 END こうじゃなくても計算途中で少数がでても正しい値が出ますか? c++で void f() { int ans = 0; rep2(i, 1, 10)rep2(j, 1, 10)rep2(k, 1, 10)rep2(l, 1, 10) { rep(m, 2)rep(n, 2)rep(o, 2) { int x = i * j * k * l; int y = 1; if (m)y *= j * j; if (n)y *= k * k; if (o)y *= l * l; if (x == y * 10)ans++; } } cout << ans << endl; } |
7月22日(木) 2:59:13
50689 |
ゴンとも |
#50689
すみません自分が違ってて 自分のコードが訂正されて・・・ 少数が出ないように分母をはらえば303でした。 あと197は FOR a=1 TO 9 FOR b=1 TO 9 FOR c=1 TO 9 FOR d=1 TO 9 IF a*b*c*d=10 OR a*b*c=10*d OR a*b*d=10*c OR a*c*d=10*b OR a*d=10*b*c OR a*c=10*b*d OR a*b=10*c*d OR a=10*b*c*d THEN LET s=s+1 NEXT d NEXT c NEXT b NEXT a PRINT s END f9押して 197とでますね。 c++ではどのプログラムで実行できるでしょうか? gnuとかmicrosoftとか すみません色々きいちゃって・・・ |
豊川市
7月22日(木) 3:13:12
MAIL:fttnm528@ybb.ne.jp 50690 |
紫の薔薇の人 |
問題文を読み間違えていて、白紙の4枚のカードをA,B,C,Dと区別して、この順番に並べて、間に演算子を置いた場合の数を数えて303を出してしまい、間違えに気づかず時間を浪費しました。
誤りに気が付かず、プログラムを書いて検算しても302が出てしまい、こちらは計算誤差を含んでいたようで、なお混乱しました、 諦めて、今日は寝ようとしたところ、「記入の仕方」であることに気が付いて、初めに場合分けした21通りのうち、記入の仕方の重複を除いて、16通りだと気が付きました。 |
7月22日(木) 4:51:04
50691 |
鯨鯢(Keigei) |
2×5×1÷1 ,2×5×2÷2 ,2×5×3÷3 ,2×5×4÷4 ,2×5×5÷5 ,
2×5×6÷6 ,2×5×7÷7 ,2×5×8÷8 ,2×5×9÷9 , 1×4×5÷2 ,1×5×6÷3 ,1×5×8÷4 , 3×4×5÷6 ,3×5×6÷9 ,4×4×5÷8 , 5×8÷2÷2 の 16通り |
7月22日(木) 6:19:05
50692 |
みかん |
祝日の移動ですっかり出題を忘れていました。4連休で大渋滞、もはや
人流抑制は不可能ですね。盆休みの首都圏はどうなることやら。 分母の積が1、分子の積が10 ~分母の積が9、分子の積が90 まで順に調べるしかなさそう。 「分母の積が10、分子の積が100」だと、分母に数が2つ、分子に数が3つ いるので、カード4枚(数が全部で4つ)では不可能。従って、分母の積が9 まで調べればよい。 10→2・5/1・1 20→4・5/1・2 2・2・5/2 30→5・6/1・3 2・3・5/3 40→5・8/1・4 5・8/2・2 2・4・5/4 50→2・5・5/5 60→3・4・5/6 2・5・6/6 70→2・5・7/7 80→2・5・8/8 4・4・5/8 90→2・5・9/9 3・5・6/9 の16通り。 「書き出せばよい」という点では算数向きですが、洩れがないように数えるのは 疲れますね。 |
7月22日(木) 12:00:01
50693 |
まるケン |
基本的に、場合分け+数え上げです。
場合分けとしては、まずは5が複数の場合、これは1通り。 5が1枚の場合は、残り3枚で2を作ることを考えます。 で、3枚に1が入るかでさらに場合分け。 1が入らない場合は2が入るかどうかで場合分け。 最後に1も2も入らない場合を書き出して合計しました。 でも漏れがないかをプログラムで確認。 アルゴリズムとしては、1~9から4つを選ぶ重複組み合わせの4数に対し、 それぞれが分母に来るか、分子に来るかの16通りについて分母と分子を計算。 分母が分子の10倍と等しければカウントアップ、、、といった方法です。 意外とあっさりプログラムが欠けて、無事16であることを確認。 ここで調子に乗って、枚数が2から10についても求めたところ、 1, 4, 16, 45, 119, 269, 578, 1131, 2131 と出ました!! ただ、上記のような愚直な方法だと、N=10では1分以上かかってしまいます。 そこで、4つの数字の中の素因数(2, 3, 5, 7)の個数を調べ、 2や5が偶数個の場合、3や7が奇数個の場合を先にはじくようにしたところ、 N=10でも2秒程度と時間短縮に成功。 で、N=12まで伸ばしたところ、11=>3370 では6秒、12=>6481 では20秒近くかかる。 なので、さらなる改良。 2のN乗種の演算子の組み合わせ、0から順に計算すると、前半では分母、分子の一方にカードが偏るので、 0から2のN乗-1をシャッフルした順番で計算させてみたところ、N=12でも13秒ちょっとで求まりました。 |
7月22日(木) 14:39:37
50694 |
まるケン |
あ、さっきの「プログラムが欠けて」は「プログラムが書けて」の間違いですね。トホホ、、、
さて、1から9までという条件を、1から13までに変えてみました。 4枚だと44通りって出ました。 昔トランプで似た遊びをしていたのを思い出し、懐かしく思いました。 当時は、4枚で10を作るとか、4枚で5枚目の数を作るとか、そんなルールだったかなぁ、、、 |
7月22日(木) 15:10:37
50695 |
ゴンとも |
#50687
自己レスで・・・ 303,197より今回の問題の答え16を出す(16よりもその16の数値があっているかわかるように全部を羅列したもので・・・)プログラムの方が難しいのですが 十進Basic で FOR a=1 TO 9 FOR b=a TO 9 FOR c=b TO 9 FOR d=c TO 9 IF (a*b*c*d=10 OR a*b*c=10*d OR a*b*d=10*c OR a*c*d=10*b OR a*d=10*b*c OR a*c=10*b*d OR a*b=10*c*d OR a=10*b*c*d) OR (a*b*c*d=10 OR a*b*d=10*c OR a*b*c=10*d OR a*c*d=10*b OR a*c=10*b*d OR a*d=10*b*c OR a*b=10*c*d OR a=10*b*c*d) OR (a*b*c*d=10 OR a*b*c=10*d OR a*c*d=10*b OR a*b*d=10*c OR a*d=10*b*c OR a*b=10*c*d OR a*c=10*b*d OR a=10*b*c*d) OR (a*b*c*d=10 OR a*c*d=10*b OR a*b*c=10*d OR a*b*d=10*c OR a*b=10*c*d OR a*d=10*b*c OR a*c=10*b*d OR a=10*b*c*d) OR (a*b*c*d=10 OR a*b*d=10*c OR a*c*d=10*b OR a*b*c=10*d OR a*c=10*b*d OR a*b=10*c*d OR a*d=10*b*c OR a=10*b*c*d) OR (a*b*c*d=10 OR a*b*d=10*c OR b*c*d=10*a OR a*b*c=10*d OR b*c=10*a*d OR a*b=10*c*d OR b*d=10*a*c OR b=10*a*c*d) OR (a*b*c*d=10 OR a*b*c=10*d OR a*b*d=10*c OR b*c*d=10*a OR b*d=10*a*c OR b*c=10*a*d OR a*b=10*c*d OR b=10*a*c*d) OR (a*b*c*d=10 OR a*b*d=10*c OR a*b*c=10*d OR b*c*d=10*a OR b*c=10*a*d OR b*d=10*a*c OR a*b=10*c*d OR b=10*a*c*d) OR (a*b*c*d=10 OR a*b*c=10*d OR b*c*d=10*a OR a*b*d=10*c OR b*d=10*a*c OR a*b=10*c*d OR b*c=10*a*d OR b=10*a*c*d) OR (a*b*c*d=10 OR b*c*d=10*a OR a*b*c=10*d OR a*b*d=10*c OR a*b=10*c*d OR b*d=10*a*c OR b*c=10*a*d OR b=10*a*c*d) OR (a*b*c*d=10 OR a*b*d=10*c OR b*c*d=10*a OR a*b*c=10*d OR b*c=10*a*d OR a*b=10*c*d OR b*d=10*a*c OR b=10*a*c*d) OR (a*b*c*d=10 OR b*c*d=10*a OR a*b*d=10*c OR a*b*c=10*d OR a*b=10*c*d OR b*c=10*a*d OR b*d=10*a*c OR b=10*a*c*d) OR (a*b*c*d=10 OR a*b*c=10*d OR a*c*d=10*b OR b*c*d=10*a OR c*d=10*a*b OR b*c=10*a*d OR a*c=10*b*d OR c=10*a*b*d) OR (a*b*c*d=10 OR a*c*d=10*b OR a*b*c=10*d OR b*c*d=10*a OR b*c=10*a*d OR c*d=10*a*b OR a*c=10*b*d OR c=10*a*b*d) OR (a*b*c*d=10 OR a*b*c=10*d OR b*c*d=10*a OR a*c*d=10*b OR c*d=10*a*b OR a*c=10*b*d OR b*c=10*a*d OR c=10*a*b*d) OR (a*b*c*d=10 OR b*c*d=10*a OR a*b*c=10*d OR a*c*d=10*b OR a*c=10*b*d OR c*d=10*a*b OR b*c=10*a*d OR c=10*a*b*d) OR (a*b*c*d=10 OR a*c*d=10*b OR b*c*d=10*a OR a*b*c=10*d OR b*c=10*a*d OR a*c=10*b*d OR c*d=10*a*b OR c=10*a*b*d) OR (a*b*c*d=10 OR b*c*d=10*a OR a*c*d=10*b OR a*b*c=10*d OR a*c=10*b*d OR b*c=10*a*d OR c*d=10*a*b OR c=10*a*b*d) OR (a*b*c*d=10 OR a*b*d=10*c OR a*c*d=10*b OR b*c*d=10*a OR c*d=10*a*b OR b*d=10*a*c OR a*d=10*b*c OR d=10*a*b*c) OR (a*b*c*d=10 OR a*c*d=10*b OR a*b*d=10*c OR b*c*d=10*a OR b*d=10*a*c OR c*d=10*a*b OR a*d=10*b*c OR d=10*a*b*c) OR (a*b*c*d=10 OR a*b*d=10*c OR b*c*d=10*a OR a*c*d=10*b OR c*d=10*a*b OR a*d=10*b*c OR b*d=10*a*c OR d=10*a*b*c) OR (a*b*c*d=10 OR b*c*d=10*a OR a*b*d=10*c OR a*c*d=10*b OR a*d=10*b*c OR c*d=10*a*b OR b*d=10*a*c OR d=10*a*b*c) OR (a*b*c*d=10 OR a*c*d=10*b OR b*c*d=10*a OR a*b*d=10*c OR b*d=10*a*c OR a*d=10*b*c OR c*d=10*a*b OR d=10*a*b*c) OR (a*b*c*d=10 OR b*c*d=10*a OR a*c*d=10*b OR a*b*d=10*c OR a*d=10*b*c OR b*d=10*a*c OR c*d=10*a*b OR d=10*a*b*c) THEN PRINT a;b;c;d NEXT d NEXT c NEXT b NEXT a END f9押して 1 1 2 5 1 2 4 5 1 3 5 6 1 4 5 8 2 2 2 5 2 2 5 8 2 3 3 5 2 4 4 5 2 5 5 5 2 5 6 6 2 5 7 7 2 5 8 8 2 5 9 9 3 4 5 6 3 5 6 9 4 4 5 8 より 16・・・・・・(答え) |
豊川市
7月22日(木) 19:29:28
MAIL:fttnm528@ybb.ne.jp 50696 |
いちごみるく |
#50690
c++はVisual Studio 2019とかをインストールしてコンパイルしてもらえると。 簡単な数学の問題を解くぐらいなら https://wandbox.org/上にコード打ち込んで実行とかでも十分です。 私のこの問題を16,197,303になるそれぞれの解釈で解いたコードを以下のurlで共有しておきます。 https://wandbox.org/permlink/cGxECSmWUQJ9b9Up |
7月23日(金) 0:58:43
50697 |
ゴンとも |
#50697
今使っているパソコンにMicrosoft Visual C++ 2010 Express がインストールされてました。(ほとんど使用したことがないですが・・・)wandboxのほうはブラウザー上でコードが実行できるのですね。それは知りませんでした。有用な情報ありがとうございました。 |
豊川市
7月23日(金) 2:43:15
MAIL:fttnm528@ybb.ne.jp 50698 |
「数学」小旅行 |
休日で、落ち着かず、今頃になりました。ときどき思い出しては
頭の中でなんかいいやり方は無いかと模索しましたが、 結局、5の個数で分けて、7を含むかどうかで分けて、 次に3の倍数の入れ方を考えて、最後に2の累乗の入れ方でと、 書き出すしか手がありませんでした。 これから掲示板を見させていただきます。 |
7月23日(金) 6:17:54
50699 |
「数学」小旅行 |
あんまりじょうずとはいえませんが、Rubyで、
p [1,2,3,4,5,6,7,8,9].repeated_permutation(4).to_a.map{|c|c.sort}.uniq.delete_if{|b|a=[Rational(b[0]),Rational(b[1]),Rational(b[2]),Rational(b[3])]; a[0]*a[1]*a[2]*a[3]!=10 && a[0]*a[1]*a[2]/a[3]!=10 && a[0]*a[1]/a[2]*a[3]!=10 && a[0]*a[1]/a[2]/a[3]!=10 && a[0]/a[1]*a[2]*a[3]!=10 && a[0]/a[1]*a[2]/a[3]!=10 && a[0]/a[1]/a[2]*a[3]!=10 && a[0]/a[1]/a[2]/a[3]!=10} として、結果は以下の通りでした。 [[1, 1, 2, 5], [1, 2, 4, 5], [1, 3, 5, 6], [1, 4, 5, 8], [2, 2, 2, 5], [2, 3, 3, 5], [2, 4, 4, 5], [2, 5, 5, 5], [2, 5, 6, 6], [2, 5, 7, 7], [2, 5, 8, 8], [2, 5, 9, 9], [3, 4, 5, 6], [3, 5, 6, 9], [4, 4, 5, 8], [2, 2, 5, 8]] |
7月23日(金) 20:16:09
50700 |
ことりちゅん(・8・) |
「5」と2の倍数(2・4・6・8)が1枚必要。
①2の倍数が「2」 残る2枚で n/n(×n÷n)として、nは1~9の9通り ②2の倍数が「4」 残る2枚で 1/2 とすればよいが、 分子が1の場合は「×1」と「÷1」の2パターンがある よって2通り ③2の倍数が「6」 残る2枚で 1/3 ②と同様2通り ④2の倍数が「8」 残る2枚で 1/4 ②と同様2通り 残る1枚で 「÷2÷2」とするのが1通り ①~④で16通り |
埼玉県さいたま市
7月23日(金) 23:47:23
50701 |
SECOND |
!十進BASIC で虱潰し。4数を分数形の配置で網羅
!「重複組合せ」の FOR~NEXT 展開は、ゴンともさんの方法、いいですね!そのままです。 !分子0個 分母4個や、 !分子1個分母3個の配分は、等式=10未満で除く !分子2個分母2個の配分 a*b/c/d=10 OR a*c/b/d=10 OR a*d/b/c=10 OR b*c/a/d=10 OR b*d/a/c=10 OR c*d/a/b=10 !分子3個分母1個の配分 a*b*c/d=10 OR a*b*d/c=10 OR a*c*d/b=10 OR b*c*d/a=10 !分子4個分母0個の配分 a*b*c*d=10 PRINT "カードを区別しない「重複組合せ」の場合、16通り" FOR a=1 TO 9 FOR b=a TO 9 FOR c=b TO 9 FOR d=c TO 9 IF a*b/c/d=10 OR a*c/b/d=10 OR a*d/b/c=10 OR& & b*c/a/d=10 OR b*d/a/c=10 OR c*d/a/b=10 OR& & a*b*c/d=10 OR a*b*d/c=10 OR a*c*d/b=10 OR b*c*d/a=10 OR& & a*b*c*d=10 THEN LET n=n+1 PRINT USING "###) # # # #": n,a,b,c,d END IF NEXT d NEXT c NEXT b NEXT a LET n=0 PRINT "カードを区別する「重複順列」の場合、236通り" FOR a=1 TO 9 FOR b=1 TO 9 FOR c=1 TO 9 FOR d=1 TO 9 IF a*b/c/d=10 OR a*c/b/d=10 OR a*d/b/c=10 OR& & b*c/a/d=10 OR b*d/a/c=10 OR c*d/a/b=10 OR& & a*b*c/d=10 OR a*b*d/c=10 OR a*c*d/b=10 OR b*c*d/a=10 OR& & a*b*c*d=10 THEN LET n=n+1 PRINT USING "###) # # # #": n,a,b,c,d END IF NEXT d NEXT c NEXT b NEXT a END |
7月24日(土) 6:26:48
50702 |
SECOND |
!訂正できないので・・
OPTION ARITHMETIC RATIONAL ! ←この行を冒頭に付けて下さい。 !幸い 先のリストの出力では、何の違いも生じていませんでしたが、、 !十進BASIC のデフォルト(option arithmetic decimal)は、以下の様になるので、 !PRINT 2/7*5*7-10 ! =-3.E-18 !PRINT 2*7*5/7-10 ! = 0 !有理数(数値を分数で扱う option arithmetic rational)で解決します。 |
7月26日(月) 7:16:12
50703 |
「数学」小旅行 |
303通りを検出すRubyプログラムです。
再帰呼び出しを使いました。$ansで数字の並びも出力します。 >$k=0 >$ans=[] >$r=[1,2,3,4,5,6,7,8,9] >def c(n,j,a) > $ans[n]=j > if n<4 > for i in $r > c(n+1,i,a*i) > if n!=0 then c(n+1,i,a/Rational(i)) end > end > else > if a==10 then p $ans;$k=$k+1 end > end >end >c(0,0,1) >p $k ブラウザでは、いつもhttps://paiza.io/を使ってましたが、 今回、https://wandbox.org/でやってみました。これもいいですね。ありがとうございました。 |
7月26日(月) 8:37:37
50704 |
SECOND |
!十進BASIC で虱潰し。くどいかも!、、いちごみるくさんのサンプルに、、
OPTION ARITHMETIC RATIONAL SUB disp( a, ab$, b, bc$, c, cd$, d) LET w$=STR$(a)& ab$& STR$(b)& bc$& STR$(c)& cd$& STR$(d) LET s$=s$& " "& w$& "=10" LET s=s+1 END SUB PRINT "!4数の「重複順列」で その乗除の順 を網羅する" FOR a=1 TO 9 FOR b=1 TO 9 FOR c=1 TO 9 FOR d=1 TO 9 LET s$="" IF a/b/c*d=10 THEN CALL disp( a,"÷",b,"÷",c,"×",d) IF a/b*c/d=10 THEN CALL disp( a,"÷",b,"×",c,"÷",d) IF a/b*c*d=10 THEN CALL disp( a,"÷",b,"×",c,"×",d) IF a*b/c/d=10 THEN CALL disp( a,"×",b,"÷",c,"÷",d) IF a*b/c*d=10 THEN CALL disp( a,"×",b,"÷",c,"×",d) IF a*b*c/d=10 THEN CALL disp( a,"×",b,"×",c,"÷",d) IF a*b*c*d=10 THEN CALL disp( a,"×",b,"×",c,"×",d) IF ""< s$ THEN LET n=n+1 PRINT USING "! ###) >>>> ###)": n,a,b,c,d,s; PRINT s$ END IF NEXT d NEXT c NEXT b NEXT a !4数の「重複順列」で その乗除の順 を網羅する ! 1) 1125 2) 1÷1×2×5=10 1×1×2×5=10 ! 2) 1152 4) 1÷1×5×2=10 1×1×5×2=10 ! 3) 1215 6) 1×2÷1×5=10 1×2×1×5=10 ! 4) 1245 7) 1÷2×4×5=10 ! 5) 1251 9) 1×2×5÷1=10 1×2×5×1=10 ! 6) 1254 10) 1÷2×5×4=10 ! 7) 1356 11) 1÷3×5×6=10 ! 100) 5211 159) 5×2÷1÷1=10 5×2÷1×1=10 5×2×1÷1=10 5×2×1×1=10 ! 101) 5214 161) 5÷2÷1×4=10 5÷2×1×4=10 ! 102) 5222 164) 5÷2×2×2=10 5×2÷2×2=10 5×2×2÷2=10 ! 194) 9529 300) 9×5×2÷9=10 ! 195) 9592 301) 9×5÷9×2=10 ! 196) 9925 302) 9÷9×2×5=10 ! 197) 9952 303) 9÷9×5×2=10 END |
7月26日(月) 17:26:33
50705 |
おすまん |
正答率が低いので、今回は無理だな、と思っていましたが、
意外とすんなりと入れてしまいました。数え上げましたが、 珍しくキチンと数えられたようです v(^^ |
somewhere in the world
7月27日(火) 20:40:08
50706 |
にこたん |
5、2、2、8と5、3、4、6と5、3、6、9と5、4、4、8が以外でした。
もうすぐ夏休みです。。 |
超ど田舎
7月27日(火) 21:56:18
50707 |
おすまん |
10分くらいで正解にたどり着いたので、臨戦態勢で臨んでいれば、
一生で最初で最後の TOP10 に入れたかも (^^;; |
somewhere in the world
7月28日(水) 1:46:59
50708 |