« 第38回 ACUOになります。 | メイン | 第39回 数字をつくる (その3) »

2009年10 月10日 (土曜日)

コメント

jyo-3

>単純にCodeの和ではダメなことはあきらかなので、自乗和で比較・・・・

ここだけ見ました。

で、
1(和)はだめ
2(自乗)こわい気がする
3乗
4乗
もーう・・・・5乗だーー
ってことで、68文字。

{=SUM(CODE(RIGHT(1&B4,ROW(A:A)))^5,-CODE(RIGHT(1&B6,ROW(A:A)))^5)=0}

考え方も、式も単純でしょ・・・・
でも、、ちょっと、・・・・・不満足だった。

からくち

>からくちさんはRow(1:12)は使ってないとのこと。
これに付いての疑問点を半分だけ答えます。(半分とは、、、ケチ)

>{=VAR(CODE(MID(B4,ROW(1:12),1)&0))=VAR(CODE(MID(B6,ROW(1:12),1)&0))}
この式はROW(1:12)が使われています
勿論これを使った式、全てが間違いとは言いません
ただし、VAR関数では間違いだからです

B4=AAAAAAAAAAAA
B6=BBBBBBBBBBBB

jyo-3

sakudaさんーーーすごいですーーー
VAR ???忘れてました。

ん、、、、
と思ったとたん・・・・・

からくちさん、、、すごいですーーー。

おれのも、なんか、ないですか、、、
からくちさん、、、
ちょっと自信ないジョー3

y sakuda

ジョー3は5乗和ですかw

>ただし、VAR関数では間違いだからです
なるほど、Varにしちゃうと文字一種の時ダメになっちゃいますね。
気が付かなかったです^^;


jyo-3

>ジョー3は5乗和ですかw
あはは、、、65536行だから、良かった。

ヤッテナイが、きっと、2007では・・・・
問題があるよねーーー

む印

はじめの失敗式56は
{=SUM(MOD(LEN(SUBSTITUTE(B4&B6,CHAR(ROW(1:90)),)),2))=0}
 

とりあえず応急処置をした72は
{=SUM(MOD(LEN(B4)/LEN(B6)*LEN(SUBSTITUTE(B4&B6,CHAR(ROW(1:90)),)),2))=0}
これも怪しい・・・

jyo-3

>はじめの失敗式56は
{=SUM(MOD(LEN(SUBSTITUTE(B4&B6,CHAR(ROW(1:90)),)),2))=0}


おおーーーーー
わたしの、58にそっくりで・・・・
たいへんたいへん・・・・・・
・・・・・・うれしいですーーー

jyo-3

そっくりだから、、、出してみます。
{=MAX(MOD(LEN(SUBSTITUTE(B4&B6,CHAR(ROW(32:122)),)),2))=0}

なんか、、、わたし、、、数字がへんかも、、

どんなとき、例外的なことが
起こるか・・・・面白かったけど、,

jyo-3

>なんか、、、わたし、、、数字がへんかも、、

あーーー
大文字だったかーーー失敗・・・

からくち

何か今回は悪役に徹する、、、かな

>はじめの失敗式56は
>これも怪しい・・・
B4=AAAA
B6=AA

からくち

>そっくりだから、、、出してみます。

>B4=AAAA
>B6=AA

む印

>CHAR(ROW(32:122))
ああっ、なるほど!

jyo-3

>B4=AAAA
>B6=AA


そそ、、、、
書いてすぐ、気付いてしまった。
で、、・・・・
おい!!ジョーーー
書く前に気付けよなーーー
だった。

2文字続くと・・・・がっくりなのだ。

jyo-3

>>CHAR(ROW(32:122))
>ああっ、なるほど!

そそ、、、小文字ばかり使ってました。
・・・・・・・(思い込み怖い)

む印

>B4=AAAA
>B6=AA

>ああっ、なるほど!×2

またまた修正して76文字
{=SUM(MOD((LEN(B4)<>LEN(B6))+LEN(SUBSTITUTE(B4&B6,CHAR(ROW(1:122)),)),2))=0}

くまぷー

>くまぷー様お疲れ様です。
>今日くまぷーさんお忙しいようですが

お気遣いありがとうございます。
往復で5時間くらい運転したので
少々疲れました。

・・・風呂に入ってから、みなさんの投稿を
拝見させて頂きます。m(__)m

からくち

今更ですが、、、鉄腕アトムは凄い(TBS)

>またまた修正して76文字
B4=AA
B6=BB

jyo-3

>B4=AA
>B6=BB
ん、、、ーーーー

短縮こわーーい


くまぷー

 この問題を見て初めに感じたのは
式の検証の難しさでした。今、みなさんの
書き込みを見ているとやはり、苦労されて
いるようで、私だけではなかったと少し安心しました。

・・・で私の考えたのは・・・
まず、二つの文字列の長さを比較する・・・

異なればFalse

同じならば循環参照でSubstituteをぶんまわして
1文字ずつ消していく・・・

全部消えればTRUE・・・なんてやつでした。

結局、頭の中で考えただけでしたが・・・(^^ゞ

min

昨日あんまり寝ていなかったので、夕食の後寝てしまいました。
さっき目が覚めました。
最初にやった97はsakudaさんと同じでした。

昨日紙に書いたやつを元に作ったやつは、
71{=SUM(CODE(MID(B4,ROW(1:12),1)&1)^2-(CODE(MID(B6,ROW(1:12),1)&1)^2))=0}
53{=SUM(CODE(MID(B4:B6,COLUMN(A:L),1)&1)^2*{1;0;-1})=0}
で二乗にするか何乗にするかはジョー3さん同様迷いましたが、とりあえず二乗のやつを掲示しておきます。どっちみち完全にあっていると証明出来ませんので。

jyo-3

>全部消えればTRUE・・・なんてやつでした。

そそ、、、それやりましたーーー

で、8段階で・・・・・挫折・・・

jyo-3

>  )^2*{1;0;-1})=0}
おーーーー
  このへんは、、、

技術だねーーーー


おらは、そのあたりは、、、だめだめ、、、

min

>結局、頭の中で考えただけでしたが・・・(^^ゞ
循環参照は私も頭の中では考えました。

y sakuda

ちょっと外出してたら、沢山投稿が^^;
うーーんからくちさん鋭い指摘の連発ですねーー

これから、皆さんの改めて拝見しまーーす。

min

>技術だねーーーー
というより、私の71の式は明らかに式を繰り返しているので、COLUMNを使って、配列を整理して短縮しただけです。

y sakuda

む印さん、ジョー3のB4&B6とまとめて処理するのは私も考えたんですけど、ダメっぽいと思い深く追求せずに止めちゃいました。(実際に形にまではしてない)

minmaxさんの
>{1;0;-1}
はさすがですねーー
そもそも B4:B6と言う発想がないから、行くはずもなかったんですがw
(一セル離したのにも他意はないです)

からくちさんの早く見たいな^^


からくち

>からくちさんの早く見たいな
あれっ、答えは出ているも同然ですが、、、
ROW(1:12)は・・・・・・×
それなら
ROW(1:13)にしてしまえばOK

ROW(A:A)でマイナス2

>そもそも B4:B6と言う発想がないから
これ、短い式と考えたとき1番先に頭に過ぎりました
、、、が、即却下
理由はB4乃至B6は勿論OKですが
B5は空白とは言え参照している限り作業列に当ってしまう、、、と言う判断で・・・

y sakuda

>ROW(1:12)は・・・・・・×
>それなら
>ROW(1:13)にしてしまえばOK

全然意味が分からんw
どういう状況でROW(1:12)がダメなんでしょ?

からくち

わたしの68、、、ROW(A:A)を使えば66とした式は、、、

この問題
>単純にCodeの和ではダメなことはあきらかなので
{=PRODUCT(CODE(RIGHT(0&B4,ROW(1:12))))=PRODUCT(CODE(RIGHT(0&B6,ROW(1:12))))}
{=SUM(1/CODE(RIGHT(0&B4,ROW(1:12))))=SUM(1/CODE(RIGHT(0&B6,ROW(1:12))))}
これはOKなのですが、苦手なより短い式でとなると・・・

そこで使ってみようと思ったのがVAR
過去に殆ど使ったことの無い関数なので
どんな計算をしているのか改めてヘルプを見返すと
何のことは無い、、、分散を得ているだけ
と言うことは例え違う値でも分散が無いと・・・
つまりは何がB4・B6に入ろうが強制的?に分散させてしまえばいいだけ

{=VAR(CODE(RIGHT(0&B4,ROW(1:13))))=VAR(CODE(RIGHT(0&B6,ROW(1:13))))}

{=VAR(CODE(MID(B4,ROW(1:13),1)&0))=VAR(CODE(MID(B6,ROW(1:13),1)&0))}


多分同じ式と思ったのですが、、、
ROW(1:12)では不具合があるのでROW(1:13)を使っています
と、書いては不味いと思い
ROW(1:12)は使っていません
と、書いた次第

y sakuda

そうか・・・・・
ROW(1:12)だと同一文字12文字の時だけコケル・・・・・
逆にROW(A:A)なら大丈夫ですね。
私のやってること同じですが、そこに気が付いたかどうかで天と地の差だな^^;
脱帽です。

y sakuda

からくちさんのProduct版
この場合は桁落ちするのは全く関係ないですねーー
Sum(1/X)これも、32、65~90の文字に限ってるから全く大丈夫みたいですねーー
倍数になるケースがなければ大丈夫と言いながら、SQRTやらLNは考えてましたが一番単純なの忘れてたw

min

>B5は空白とは言え参照している限り作業列に当ってしまう、、、と言う判断で・・
からくちさんは自分にも厳しいですね。
確かにB5を参照しているのは間違いないですが、B5が空白でなくてもエラー値以外なら結果は変わらないので良いとの自分に甘い判断でした。

今さらですが、これなら許せるのかな?
62{=SUM(CODE(MID(INDEX(B4:B6,{1,3}),ROW(1:12),1)&1)^2*{1,-1})=0}

それにしてもVARは考えなかった。

y sakuda

minmaxさんおはようございます
この62ですが、どうもIndexの所が上手く動かず、B4しか拾ってこないみたいです。
よさそうなんだけど、なんでだろ?

min

INDEXでそういう使い方はダメなんでしたっけ?
じゃあチューズとか別の関数かな?
現在出先で検証できません。

む印

>B4=AA
>B6=BB
やっぱりB4&B6では駄目でしたねー^^;>

minさんの考え方いいですねー
それをヒントに66
{=SUM(CODE(MID(B4&10^12&B6&10^12,ROW(1:12)+{0,12},1))^2*{1,-1})=0}

こんなのもあり?(確信はありません)
=FTEST(CODE(MID(B4,ROW(1:12),1)&1),CODE(MID(B6,ROW(1:12),1)&1))>98%
=TTEST(CODE(MID(B4,ROW(1:12),1)&1),CODE(MID(B6,ROW(1:12),1)&1),2,1)=1

himi

検証が難しいってそういうことだったんですね
思ったより数理的な問題だったんだなあ
感心するしかできないやw

む印さんの
>{=SUM(CODE(MID(B4&10^12&B6&10^12,ROW(1:12)+{0,12},1))^2*{1,-1})=0}
B4:AAAAAA
B6:AAAAAA
がFALSEになるみたい

>=TTEST(CODE(MID(B4,ROW(1:12),1)&1),CODE(MID(B6,ROW(1:12),1)&1),2,1)=1
B4:A
B6:A
でDIV0エラーになってしまいました(全く理解してないけど^^;;;)

む印

あぁー、また根本的に間違ってました^^;

y sakuda

>{=SUM(CODE(MID(B4&10^12&B6&10^12,ROW(1:12)+{0,12},1))^2*{1,-1})=0}

む印さんのこれ、B4&10^12の方はLeftで12ケタにそろえないとまずいですね。

>思ったより数理的な問題だったんだなあ
いえ、上手い判定手段を模索するとそうなるだけで、出題者解答の103とか97とかでは数理的要素全くなしです。

himiさん119っておっしゃってたけど、Frequency版かなにかなんでしょうか?

himi

>himiさん119っておっしゃってたけど、Frequency版かなにかなんでしょうか?

いえ、そんな高等な関数は全く考えつかなくて(^^ゞ

{=AND(SMALL(CODE(MID(B4&REPT("a",12),ROW(1:12),1)),ROW(1:12))=SMALL(CODE(MID(B6&REPT("a",12),ROW(1:12),1)),ROW(1:12)))}

97に贅肉をゆったりつけたかんじでしょうかw
CODEは先頭文字をみるので、RIGHTで上手く作れたんですね。納得です。

y sakuda

>>himiさん119っておっしゃってたけど、Frequency版かなにかなんでしょうか?
>いえ、そんな高等な関数は全く考えつかなくて(^^ゞ

高等とかなんとかではなく、私は問題作った直後、Frequencyしか思いつかなかったw
でも結局Large、Smallの方が短くなりました。

Rightなんかは、慣れですねーーw

himi

あ、Frequency、使われてるのは見かけても目がスルーだったので、
今、ヘルプを見てみました。(たぶん過去にも見たはずだけど…)
ああ、なるほど、配列を返す希少な関数なんですね
便利そうな意味がようやくわかった気が^^
使いこなせるかは別問題w

y sakuda

>ああ、なるほど、配列を返す希少な関数なんですね
そうなんですが、私なんかもここでからくちさんが色んな応用みせてくれるまで、ほとんど使ったこと無かったです。
確か過去には1回、田中さんの掲示板で、Frequencyの例題見たいな質問に答える際、使ってみただけかも^^;

y sakuda

どうやら、出尽くした見たいですねーー
この問題、本当にACUOブログの提灯持ちになにかと考えて作っただけで、面白くなるとは全く考えてなかったんですが、私自身もvarで落とし穴に落ちちゃったし、結構奥が深かったですねーー。
意外でした^^

明日辺り、次のからくちさんの難問が出題されるのかな?

くまぷー

>明日辺り、次のからくちさんの難問が出題されるのかな?


そうですね。
そろそろですかね・・・

ますたあ

あぁぁ・・・・・、結局一つの式にできなかったです。(p_-)

複数回出てくるアルファベットをいかに処理するかで
皆さんのようにまとめてって言う発想にならなかったです。

T1、T2、T3、みたいに切り出して比較する
と言う考え方から抜け切れなった。^^;

作業セルでできましたから、配列数式でも
作れそうな気がしたんですけどね...。^^;

H4=IF(COUNTIF($L$4:$L$15,J4),TRUE,FALSE)
I4=MID($B$4,ROW(A1),1)
J4=I4&COUNTIF($I$4:I4,I4)
K4=MID($B$6,ROW(B1),1)
L4=K4&COUNTIF($K$4:K4,K4)
これらの式を15行目までコピー。

これを配列数式に作りたかった。^^;

min

>どうやら、出尽くした見たいですねーー
私的にはそうなんですが、
>62{=SUM(CODE(MID(INDEX(B4:B6,{1,3}),ROW(1:12),1)&1)^2*{1,-1})=0}
がうまくいかなかったので、
代わりに
59{=SUM(CODE(MID(IF({0,1},B4,B6),ROW(1:12),1)&1)^2*{1,-1})=0}
これならちょっとはいいかな?

y sakuda

なんか、ますたーさんの却って難しいw
分かるようで分からん^^;
ところで、
Abbb
A
がTrueになっちゃいますね。

y sakuda

minmaxさん、今度のは大丈夫みたいですねーー
それにしても50台は凄いな。

む印

>IF({0,1},B4,B6)
ぎょえーーー、

IFの分岐で、二つの配列を作るとは、すばらしいアイデア!

これはいろいろ使えそうです!!

min

む印さんお疲れ様です。
お宝でも変なことやってたの思いだしました。

y sakuda

>お宝でも変なことやってたの思いだしました。
これのことかな?
=left("\",mod(counta(a$7:a7,a1:if(rows(1:$8)=2,$d1:$h2,$f1)),9)=6)

これだけ見ると一体全体なんじゃ?って感じw
久しぶりに↓見ましたが並べるとなかなか壮観ですねーー。綺麗だし。
http://www.geocities.jp/kuma_pooh1958/sub7.html

ますたあ

>がTrueになっちゃいますね。
検証してもらったんだ。^^;
すいませんね~。

確かに、Trueになっちゃいますね。
空白数字と数字の比較になるんだけど
イコールの判定になってしまうんですね。

未完成品の式ですが、
考え方だけでも説明しようかと思って書いたのですが...。
^^;;;;;;;;

y sakuda

>考え方だけでも説明しようかと思って書いたのですが...。
しばらくいじってたのですが、よー分からんかったですw

コメントの確認

コメントのプレビュー

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

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

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

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

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

処理中...

コメントを投稿

アカウント情報

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

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