« 表計算一筆書き・・・カリフォルニア・ポピー【問題】 | メイン | 表計算一筆書き・・・御陵(みささぎ)【問題】 »

2007年11 月24日 (土曜日)

コメント

ジョー3

53  文字ですが、、
くまぷーさんとそっくりです。

きっと、sakudaさんと、同じかな??

=LEFT("*",OR(ABS(6-ROW()+(6-COLUMN())*{1,-1})={3;7}))

sako

数でかなわないから早さで勝負と思っていたが、これも出遅れた。

私は最終的に Excel 58 でした。
=LEFT("*",OR(2^ROWS(1:$6)+2^COLUMNS(A:$F)=6*{2,3,6,8,12}))

ジョー3さんのは、絶対思いつきませんでした。 {3;7} って使い方知りませんでした。これから勉強して利用させていただきます。

ところで、くまぷーさんの式でうまく表示されますか? 

ジョー3

・・のは、絶対思いつきませんでした。 {3;7} って・・・

わたしも、ここの皆さんのを見て、
まねたやつです。ここや、
あそこで(EW)色々、目に出来て楽しいです。。

きっちーさんが、仰っているように、、
色々な物見見えて、面白い問題でした。
画像で、、4種類↓
http://image.blog.livedoor.jp/jyo33/imgs/c/2/c248d595.JPG

minmax

知りませんでした
ORでは=の両側で配列使えるんですね
今日は携帯からしか見られないので検証は出来ませんが
すごく勉強になります

ジョー3

>  くまぷーさんの式でうまく表示されますか? 
きっと、、最後が、{3;7}かな、、

くまぷー

>ところで、くまぷーさんの式でうまく表示されますか?

あ、すみません。

=LEFT("●",OR(ABS(COLUMN()+ROW()*{-1,1}-{0,12})={3;7}))

の間違いです。
訂正します。

えくせるバカ

ジョー3さんの53文字は
カッコいいなぁ~~~!

私は61文字
=REPT("●",OR((7-(COLUMN()-6)^2)*((ROW()-6)^2-7)={54,14,-18}))
でした。

minmax

携帯からなのでうまくいくかなあー
とりあえず一種だけ
=LEFT("*",COUNT(FIND({3,7},ROW()+COLUMN()-12&ROW()-COLUMN())))
62文字
文字数ではとてもかないませんが、実務でも式の前半部分使えそうなので気に入ってます
三四郎では(あってるかなー?)
=If(Row(A1)+Col(A1)-12 & Row(A1)-Col(A1) MATCH "(3|7)","*")
チョンボしてなければ59文字

かず

皆さんの発想には、驚きますね。
特に、ジョー3さんの式は素晴らしいです!!

今回も、まったく思いつきませんでした。

y sakuda

今帰ってきませいた。
とりあえず、何も見ずに、朝用意しておいた解答を投稿します。

その後、既出の解答をゆっくり拝見しまーーす^^

Excel53です。

=LEFT("*",OR(ABS(ROW()+{1;-1}*(COLUMN()-6)-6)={3,7}))

実はこれ、最初に60を切ったExcel54と同じものです。

=LEFT("*",OR(ABS(ROW()+{1;-1}*COLUMN()-{12;0})={3,7}))

つまり、R+C-12 と R-C-0 の0、12のスイッチをどう表現するかで1文字の違いがでました。
これはもろに正攻法で R+C=5,9,15,19 と R-C=-7,-3,3,7 の線八本を引くというもので、
R+Cから12を引くことにより、条件を-7,-3,3,7一つにまとめています。
最初に出来た、Excel68↓の発展形です

=LEFT("*",OR(ROW()+COLUMN()={5,9,15,19},ROW()-COLUMN()={-7,-3,3,7}))

この他に考えたのは4分割方式の次の二つです。

Excel57

=LEFT("*",OR(ROWS(1:$6)+{-1;1}*COLUMNS(A:$F)={-3,3;5,9}))

Excel60

=LEFT("*",OR(ROWS(1:$6)^2+COLUMNS(A:$F)^2={13,17,29,41,45}))

これが、水曜日の段階でExcel61(最終的に上記57)、Excel60 と言っていたもので、
こちらはここが行き止まりでした。

#元々配列数式は苦手で、配列定数も実用にはほとんど使った記憶がないくらい
#ですので、行と列の配列定数の組み合わせで、こう言う動きをするというのは
#知りませんでした。
#えくせるバカさんが先頭走者にならなかったのがちょっと不思議^^

y sakuda

やっぱりジョー3の53は私のと同じでした。
くまぷーさんの54は私の最初に60アンダーの54と同じです^^
これからそれ以外のパターン解析しまーーす。

ジョー3

>やっぱりジョー3の53は私のと同じでした。
やっぱりねーーー、、私も、そんな予感がしました。

60台から、
1個、とか、5個とか、・・・減量パターンが、似てましたからねーーー、、
61では、、同じ路線と思いませんでしたが、
53になって、・・・その後、sakudaさんが、、53になって、、、
これはーーー、とおもいました、、

ジョー3

sakudaさんと、同じ思考の流れのようです。
私のブログに記録です。

http://blog.livedoor.jp/jyo33/archives/51228155.html#comments

でも、2日ぐらい、、飲んだ分、、遅れましたけど、、

y sakuda

ジョー3のブログ見てきました。
最初に直線八本で作った時いきなり70を切っていたとこ以外はほとんど同じ経過です。
ただし、私は68を一字減らしたとこでお蔵入りにして、他の方法を探ってました。

解答前のコメントでジョー3が「余計な関数を使っていて」という発言をされてましたので、多分ABSを無駄にいれているんだと思いましたので、ほぼ同じことをやってらっしゃると見当をつけました^^

くまぷーさんの54ってのが私の54と全く同じなのにもびっくり^^

えくせるバカさん、sakoさん、minimaxさんのは私の60と同じでRowとColumnの組み合わせで小さな四角が固有の値を取るところを探している発想は同じなんですが、式の組み立てにいろんなパターンがあって面白かったです。

きっちーさんの計算バージョンと悪児さんの黒魔術は上手く行っている事はわかるのですが、両方ともどこから出てきた発想かさっぱり分からん・・・・・・

いずれにしろ、この問題、線がきれいでとっても面白かったな^^

ジョー3

今回は、sakudaさんが、最初から(途中から?)、最後まで、トップを走って、、凄かったですね、、

最後に並べて、、良かったです。

くまぷー

ははは、発想はジョー3さん、sakudaさんと
同じでしたが54から53の一字分詰められませんでした。(^^ゞ

今更ですが、三四郎74です。
=If(Abs(Row(A1)-Col(A1)) IN {3,7} OR Abs(Row(A1)+Col(A1)-12) IN {3,7},"*")
これも式はきれいにまとまっていると思うので
これはこれで満足です。(^。^)

ジョー3

>54から53の一字分詰められませんでした。(^^ゞ

あはは、、、そうなんだよねーーー

52を、、なんとか、、って、おもったが、、、

54ばかり、、7種類ぐらい、、、出来ちゃった。

でも、きっと、いつものパターンで、
ここをこうすれば、、
52
51
50
って、どなたかが、発言しそうだなーーー

くまぷー

minmaxさんの三四郎版・・・
>=If(Row(A1)+Col(A1)-12 & Row(A1)-Col(A1) MATCH "(3|7)","*")

さりげなく提示されているけど
とても試用版を使っている人が
作った式には思えません。(゜ペ;)ウーン

y sakuda

>最後に並べて、、良かったです。

というより、最後に抜かれちゃった^^;
一番とんでもない人⇒それはジョー3です

minmax

三四郎の身に余るおほめの言葉光栄です。
でも使えこなせません。
三四郎も面白かったけど初めて使ったcountとfindの組み合わせも面白かったです。

ジョー3

>初めて使ったcountとfindの組み合わせも面白かったです。

飲んでないときに見ないと、、、
???な、、不思議な式ですねぇーーー
で、もう、、焼酎で、、、・・・すんません、、

悪児

Excel54 全く、同じですね。
=LEFT("*",OR(ABS(ROW()+COLUMN()*{1;-1}-{12;0})={7,3}))

ちょっとあがいたもの。(^^;)(^^;)
Excel54
=LEFT("*",OR((ROW()+COLUMN()*{1;-1}-{12;0})^2={49,9}))

まぁ、これは、三四郎では、思いつきません。(^^;)(^^;)

一方、こちらは黒魔術。(^^)(^^)
誰も思いつかないだろう、と思っていました。

三四郎55
=Mid("** *",(Rows(A1:A$6)+3)*(Cols(A1:$F1)+3) MOD 13,1)
Excel55
=MID("** *",MOD((ROWS(1:$6)+3)*(COLUMNS(A:$F)+3),13),1)

まぁ、発想的には、
y sakuda さんのExcelの発展形ですね。(^_^)(^_^)/~

y sakuda

>=LEFT("*",OR((ROW()+COLUMN()*{1;-1}-{12;0})^2={49,9}))
これ私もやりました。
結局49が二桁になるんで変わらず、がっかりしました^^

悪児

>y sakuda さんのExcelの発展形ですね。(^_^)(^_^)/~

Excel60 でした。(^^)ゞ

ジョー3

>>最後に並べて、、良かったです。

>というより、最後に抜かれちゃった^^;
>一番とんでもない人⇒それはジョー3です

夕べですけど、、
61で、諦め、、・・・寝ようかと思ったら、
60の声、・・・で、わたしも、60
飲んでたのに、58・・・
偶然、absが、1っこ邪魔に見えて、

消したけど、、、えーーー、、動いたんです。
(だから、偶然で、、意図した、・・・ものでなかった)

y sakuda

>飲んでたのに、58・・・
ムキになって考えていてもアイデアでないです。
>偶然、absが、1っこ邪魔に見えて、
あははっ、こういうのも時々ある^^

くまぷー

>いずれにしろ、この問題、線がきれいでとっても面白かったな^^ ×2

きっちーさん、音無しいけど
まだ忙しいのかな?

minmax

イヤーほんとに勉強になります。
配列の使い方非常に勉強になりました。
こういう使い方以前どこかで見たかもしれないのですが知識の範囲外でした。
やっぱり奥が深いですね。
知らないということは、これから成長が可能ということですよね。
見ても楽しいし、参加しても楽しい。
ほんとにここはいいところですね。
見ているだけの方、参加しても楽しいですよ。

きっちー

>(だから、偶然で、、意図した、・・・ものでなかった)

私のはほとんど、作っては投げの繰り返しで。

(今日も)やっぱり忙しいのは疲れますな。 (~。~)ゞ

>=If(Row(A1)+Col(A1)-12 & Row(A1)-Col(A1) MATCH "(3|7)","*")

やっぱり、3,7だよなー。
でも、MATCH使うと勝てないんだよね。(黒魔術に。)

頭(体)使ったみなさん、お疲れ様でした。(^^)

悪児

>MATCH使うと勝てないんだよね。(黒魔術に。)

RCを1組にしないと、50台は難しいですからね。

今回は、珍しく、
三四郎が圧倒的に不利な問題で、
それを、きっちーさんが出した、
というところが面白かった。(^^)(^^)

くまぷー

>三四郎が圧倒的に不利な問題で、

では今度はその逆と行きましょうか?!(^。^)

きっちー

・・・ていうか(^^)(^^)
minmaxさんの数式の調整をしました。

53に迫る、三四郎54文字。
下1桁の検査と、MATCH演算子の値の最適化。

=If(Row(A1)+Col(A1) & Col(M1)-Row(A1) MATCH "5|9","●")

縮まる可能性がないこともないかな。(^^)

コメントの確認

コメントのプレビュー

プレビュー中です。コメントはまだ投稿されていません。

処理中...
コメントを投稿できませんでした。エラー:
コメントを投稿しました。 さらにコメントを投稿する

入力された文字と数字は画像と一致していません。再度入力してください。

最後に、下の画像の中に見える文字と数字を入力してください。これはプログラムを使ってコメントを自動的に投稿するのを防ぐために行われています。

画像を読み取れない場合は 別の画像を表示してください。

処理中...

コメントを投稿

アカウント情報

(名前は必須です。メールアドレスは公開されません。)

2024年8 月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

TOP メニュー