« 第65回 数字は0で! | メイン | 第66回 反射 »

2010年8 月 7日 (土曜日)

コメント

む印

ごく普通に考えた87。
しかし、この極普通より短い解答は中々思いつきませんでした、、

87が気に入らなかったので
別方向で探っていて、やっと思いついた88です。
=SUBSTITUTE(RIGHT(10^9&SUM(10^(LEN(B3)-FIND("-",B3,
FIND("-",B3)+{0,1}))),LEN(B3)),1,"-")

88の逆バージョンで79
=SUBSTITUTE(MID(SUM(10^-FIND("-",B3,FIND("-",B3)+{0,1}),1%^9),3,LEN(B3)),1,"-")

minさんと同じかなぁ?

くまぷー

やはり、87は同じでした。
当然の一着と言えましょう。

それではminさんの解答を公開します(下記)。

Rのないものだけ送っておきます。

最初にできたRなし

89=MID(SUBSTITUTE(10^-FIND("-",B3)+10^-FIND("-",B3,FIND("-",B3)+1),1,"-")&"0000",3,LEN(B3))

FINDを統合したもの

83=MID(SUBSTITUTE(SUM(10^-FIND("-",B3,{0;1}*FIND("-",B3)+1)),1,"-")&"0000",3,LEN(B3))

統合した部分を改良

81=MID(SUBSTITUTE(SUM(10^-FIND("-",B3,FIND("-",B3)+{0,1})),1,"-")&"0000",3,LEN(B3))

「&"0000"」をやめて「10^-16」に変更

81=MID(SUBSTITUTE(SUM(10^-16,10^-FIND("-",B3,FIND("-",B3)+{0,1})),1,"-"),3,LEN(B3))

私のRなしの最短

「10^-16」を「1%^8」に改良

79=MID(SUBSTITUTE(SUM(1%^8,10^-FIND("-",B3,FIND("-",B3)+{0,1})),1,"-"),3,LEN(B3))

いずれも普通にEnter

y sakuda

87は当然同じでした。
逆バージョンは全く考えませんでしたし、79の方は意図はわかるものの、理解できてないです。
minmaxさんもむ印さんもすごいですね。
(多分お二人とも同じだとオモフ・・・)

y sakuda

前後しちゃいました。
やっぱり、式の順が違うだけで同じでしたねーー
思考回路がすごいな^^

む印

79はやっぱり同じでしたねっd

>式の順が違うだけで・・・
式の順の違いは思考の順の違いですかねぇ~・・・


しかし、私が出題する問題は、
どうにも拡がりの少ない、窮屈なものが多いなぁー (--; ハンセイ

くまぷー

ところで2007限定ってのは

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B3,1,0),2,0),3,0),4,0),5,0),6,0),7,0),8,0),9,0)

↑ですか?

ちなみに147文字

y sakuda

>ところで2007限定ってのは
素朴w

からくち

>ところで2007限定ってのは

{=SUBSTITUTE(MID(SUM(10^-IFERROR(FIND("-",B3,{1,6}),5))
&"0000",3,LEN(B3)),1,"-")}

からくち

=MID("0-",3-(MID(B3,1,1)>="-")-(MID(B3,1,1)>="0"),1)&MID("0-",3-(MID(B3,2,1)>="-")-(MID(B3,2,1)>="0"),1)&MID("0-",3-(MID(B3,3,1)>="-")-(MID(B3,3,1)>="0"),1)&MID("0-",3-(MID(B3,4,1)>="-")-(MID(B3,4,1)>="0"),1)&MID("0-",3-(MID(B3,5,1)>="-")-(MID(B3,5,1)>="0"),1)&MID("0-",3-(MID(B3,6,1)>="-")-(MID(B3,6,1)>="0"),1)&MID("0-",3-(MID(B3,7,1)>="-")-(MID(B3,7,1)>="0"),1)&MID("0-",3-(MID(B3,8,1)>="-")-(MID(B3,8,1)>="0"),1)&MID("0-",3-(MID(B3,9,1)>="-")-(MID(B3,9,1)>="0"),1)&MID("0-",3-(MID(B3,10,1)>="-")-(MID(B3,10,1)>="0"),1)&MID("0-",3-(MID(B3,11,1)>="-")-(MID(B3,11,1)>="0"),1)&MID("0-",3-(MID(B3,12,1)>="-")-(MID(B3,12,1)>="0"),1)&MID("0-",3-(MID(B3,13,1)>="-")-(MID(B3,13,1)>="0"),1)&MID("0-",3-(MID(B3,14,1)>="-")-(MID(B3,14,1)>="0"),1)

ジョー3

みなさんすごいですねーーー

>ちなみに147文字
それは出来たが、、、
他の方法は、、、100文字超で、、全然、、整理できなかった。

1関数と、言われ、、、midのみで、、、やりかけたが・・・・・
だめだった。

からくち

>しかし、私が出題する問題は、
>どうにも拡がりの少ない、
一般的な問題、、、とした場合
10名解答を集まったとして8~9名が同じ式
これがある意味模範の問題と思います

1~2名のみが同じ式
それ以外の方は違う式
これは問題が難し過ぎ?

同じような字数で数多くの式
これは問題のポイントが無さ過ぎ?
良く取れば拡がりがある問題の様に取れますが
違う見方をすれば意図・主旨が無いだけ
とも取れます

む印

2007からは色々便利になってるみたいですね
私は2007も2010も持ってないwww

ところで、からくちさんの2007限定で
配列式の決定({} Ctrl+Shift+Enter)は必要なんでしょうか?

関数1つはMIDをつかうのかっ!
ジョー3さんも同じ発想されてたんですねぇ~、、、
しかし、一見してもさっぱり解らない、、・・・というか、
解ろうとする気力が湧きません^^;

ジョー3

失敗だけでも、、、、
- を 0000-0000 に変換して、

例えば、、
0567-9900-1620

05670000-000099000000-00001620
にしておいて、
左を4つ、右を4つ、そして真ん中をなくして、・・・・・
なんて、甘いことを考えた & 失敗のジョー3でした。

y sakuda

からくちさんの82にも脱帽
この問題で配列数式って使えるとは思いもしなかったです。
2007以降は使い込んでないからIFERRORなんて関数知らなかった^^;
>配列式の決定({} Ctrl+Shift+Enter)は必要なんでしょうか?
私もそう思ったのですが、ダメでした。

midオンリーの面白いですねーー
これ、絶対ジョー3好みだと思いますw

む印

>- を 0000-0000 に変換して、
おおっ、面白い!すごい発想ですねーd

>そして真ん中をなくして、・・・・・
それを出題してみては?


>私もそう思ったのですが、ダメでした。
そっかぁ~、必要ということですねぇ・・・
難しいもんですねー、、、

supermab

126文字:
=REPT(0,FIND("-",B3)-1)&"-"
&REPT(0,FIND("-",B3,FIND("-",B3)+1)-1-FIND("-",B3))&"-"
&REPT(0,LEN(B3)-FIND("-",B3,FIND("-",B3)+1))

87 文字のがわからなかった・・・orz
2007限定のは、お気に入りだったのですが・・・

ひとり、100文字以上の世界で苦しんでいました(恥ずぃ~)^^;;;

ジョー3

>ひとり、100文字以上の世界で苦しんでいました(恥ずぃ~)^^;;;
ふふふ、、、あまーーいい、、、、、

おれもいるのだ、、、、
おなじことしてましたぞーーーーー

でも、これってわかりやすいですよねーーーー

y sakuda

>126文字:
厳密に言うと、これ私も最初にやりました。
でも、直後に87の方思いついた^^
それで私は終戦になっちゃた

min

>- を 0000-0000 に変換して、
>なんて、甘いことを考えた & 失敗のジョー3でした。
この罠には、はまりますね。
でも、なんかうまくいきそうでいかない。
!!!これは、もう少し研究する価値がある!!!!!
!!!60台で出来そうな予感!!!

一番最初にやったのは、全く同じ87なんですが、、
勉強のため、これでもOKですよね。
87=REPLACE(REPLACE(REPT(0,LEN(B3)-2),FIND("-",B3),,"-"),FIND("-",B3,FIND("-",B3)+1),,"-")
2番目にやったやつは、supermabさんの126文字


む印さんのと私の79が一緒とはびっくり!?
む印さんは88から79へさっと出来たみたい。
大したもんだな~


>しかし、私が出題する問題は、
>どうにも拡がりの少ない、窮屈なものが多いなぁー (--; ハンセイ
いえいえ、この問題、非常に悩ましいいい問題と感じました。


>この問題で配列数式って使えるとは思いもしなかったです。
多分、何人かの方が配列数式でやったのではないかと思います。
それらの式も見てみたいです。
ちなみに私の(いい加減な)配列数式をいくつか、、
あんまり変わり映えはしませんが、、
87{=MID(SUBSTITUTE(SUM(1%^8,IF(MID(B3,ROW(1:19),1)="-",10^-ROW(1:19))),1,"-"),3,LEN(B3))}

98{=MID(SUBSTITUTE(SUBSTITUTE(SUM(SIGN(MID(B3,ROW(1:14),1)&1)*10^-ROW(1:14)),1,0),9,"-"),3,LEN(B3))}

100{=MID(SUBSTITUTE(SUM(10^-(COUNTIF(B3,REPT("?",ROW(1:16))&"-*")*ROW(2:17))),1,"-")&"0000",4,LEN(B3))}


最後に、からくちさんの考え方素晴らしいですね。

min

ちょっと暇ができたので、
いまさらながらジョー3さん方式の罠をかいくぐってみました。

75=MID(REPLACE(SUBSTITUTE(B3,"-","0000-0000"),9+FIND("-",B3)/5,8,),5,LEN(B3))
かなり頭が混乱したので、あっているのか??

罠がなければ、60台だと思うんだけど。
それにしても、ジョー3さんの発想は素晴らしい!!

それから、言い忘れていたこと、
くまぷーさん代理投稿ありがとうございました。

y sakuda

いやーー、minmaxさんのジョー3方式・・・よー分からんがOKみたいな感じですねーー
こういう発想はできないですねーー

くまぷー

>くまぷーさん代理投稿ありがとうございました。

いえいえ、お礼などとんでもない
おやすいご用です(o^^o)

kir

89:=LEFT(LEFT(REPT(0,FIND("-",B3)-1)&"-0000",FIND("-",B3,FIND("-",B3)+1)-1)&"-0000",LEN(B3))
88:=LEFT(REPLACE(REPT(0,FIND("-",B3,FIND("-",B3)+1)-1),FIND("-",B3),1,"-")&"-0000",LEN(B3))

79はそんな方法だったのですね!なるほど~
・・・75もできるとは!?式の動きは分かりましたが理解が追いつきません。脱帽です!!

y sakuda

Leftを使ったのはkirさんのが初めてですね。
そういえばLeftが現れないってのは、ここでは案外珍しいかも

jyo3

>いまさらながらジョー3さん方式の罠をかいくぐってみました。・・・
げっ、、、、、75で、、、できるのか?
>いやーー、minmaxさんのジョー3方式・・・よー分からんがOKみたいな感じですねーー
すげーーー、、、降参・・・

supermab

>おれもいるのだ、、、、

>厳密に言うと、これ私も最初にやりました。

仲間がいてよかったあ~ ^^;;;

>でも、これってわかりやすいですよねーーーー

やっぱり…
おつむが、単純なのかも(汗)

む印

75!!
きっとminさんならジョー3さん方式を形にされると思ってましたが^^;

私も(ジョー3さん方式)やってたのですが
昨日は遅くまで家族サービスでくたびれて眠ってしまいコメント出来ず、、
今日は朝から子供を耳鼻科に連れて行ったり・・・、、それはともかく

似たような物ですが
=MID(REPLACE(SUBSTITUTE(B3,"-","0000-0000"),LEN(B3)/2+5,8,),5,LEN(B3))

ホントにジョー3さんの発想はすばらしいです!

む印

あ、あっ、、
それと、私の79の「1%^9」は間違いでした!
やっぱりminさんのように「1%^8」としないとダメなパターンがあります。

min

む印さん…
ん〜。
罠にかかっていないのか?
携帯から

む印

>罠にかかっていないのか?
余り褒められたものではありません。
minさんの様にFINDを使うのが正しい方法です!

>一定の範囲内で変化します。
この範囲を超えるとダメです、、、

min

一定の範囲って4桁一1桁一1桁もありだったかな?
まだ出先からでパソコンつかえないからよくわかりませんが?
罠にはまっているような?はまっていないような?
はまっているのは私なのか?

ジョー3

>ホントにジョー3さんの発想はすばらしいです!
うれしいような、、、でも、、、うれしくない。
この問題を解くとき、最初に思いついたのが、、、これ、、、
でも、、、形に出来なかった。
で、どなたか、、、きっと、、、
と、思って、、恥さらしをしたが、、、
簡単に、、、形にしていただいて、
うれしいような、、、自分の力なさを、、、
がっかりの方が強い。。。

y sakuda

この問題、期間中はなにも思いつかずつまらなかったのですが、答え合わせでは全く考えもしなかった手法がいくつも出て面白かったですねーー

む印

>4桁一1桁一1桁
範囲内でした、、^^;
あ、、これはミスった、、

む印

>4桁一1桁一1桁
範囲内です、、
ああ、失敗、またミスってしまった、^^;

こんなもんでどうでしょう?
=MID(REPLACE(SUBSTITUTE(B3,"-","0000-0000"),LEN(B3)/3+7.5,8,),5,LEN(B3))

y sakuda

む印さん、ついに72ですか・・・・・
ものすご^^;

min


む印さんの罠にはまっていたのは、やっぱり私のほうだった。
2桁-1桁-3桁

min

む印さんの罠にはまっていたのは、やっぱり私のほうだった。
01-1-111

む印

PCがかなりヤバそう、、
ガリガリ音が大きくなり、再描画に30秒以上かかるし、投稿するのもやっとです…

お見苦しいレスで、誠に面目ないです、、、
(携帯から)

min

>お見苦しいレスで、誠に面目ないです、、、
そんなことありませんです。
LENなんて発想考えもしませんでした。大したものです。
何となくうまくいきそうで、、、答えが難しいです。
もう少し研究してみますが、私には無理そうです。

しかし、このサイトもちょっとガリガリいっているような感じ、
サーバーもちょっと反応が変。

min

ここのサーバーもちょっとおかしいのでは?

む印

それと、私のジョー3方式はどれも無理がありました、、
ごめんなさいm(__)m

む印

これも書き忘れてましたが
minさんのジョー3方式
find("-",b3)+5じゃ駄目なの?

む印

やっとPCがスムーズに動きだしました
携帯からの入力はやっぱキツイです。

言いたかったのはLENはダメ、やはりFIND
=MID(REPLACE(SUBSTITUTE(B3,"-","0000-0000"),FIND("-",B3)+5,8,),5,LEN(B3))

これでいいように思った次第です、、

min

>これでいいように思った次第です、、
なるぼど、さすが~~、

y sakuda

今晩次の出題あるんでしょうか?

くまぷー

実は明日が父の新盆で・・・
今日は掃除、買い物とドタバタしていました。
もう少々、お待ち下さい m(__)m

min

昨年の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 メニュー