« 第39回 時計の針 | メイン | 第40回 時計の針2 »

2018年3 月31日 (土曜日)

コメント

maron

91=TEXT((MOD(C3+D3/60-D3,60)-30)*(MOD(C3+D3/60-D3,60)-MOD(B3*5+C3/12+D3/720+30-D3,60)),"×;○")

ni

すみません、出先なので考え方だけ
その1(87)
2つの針の角度をmmult で求めて絶対値を180度相当から引いて絶対値、これを3つ足して180度相当なら内側

その2
針の角度をmmultで求めて、角度を大きい順に並び替え、隣の針との角度の最大値が180度超えたら外

その3(90) 三角関数の方法
imabs(imsum(imexp(mmult(c3:e3,{係数})&“i”)))>1なら外

明日upします

jyo3

先程帰りましたけど、、、、

ちらっと、、、気になって・・・・安易に、、問題にしました。

えーーーー
皆さん、、、すごいですねーーー

なんでも、、、どなたかが、、、、解いちゃうのね!!

問題作成の、、、専門でも・・・いけそうですねーーー


なら、、、
時計問題
・・・
閃き型3問、、、出すかも。


jyo3

あと、、、
今回

niさんが
3角関数・・・って

なんで、、、わたし・・・・

思ったのかなーーーー

・・・・・・・・・・・・・・なんかあった気がするが・・・忘れた。

y sakuda

ジョー3の理屈は私の105と同じですね。
中身ちゃんと見てませんが、普通のケースが誤判定します。どこか違ってる?
maronnさんの91はさっぱり理屈が分かりません^^;

y sakuda

しかし、今回のは私には面白かったですけど、変な感じです^^
最初VBA作ってる間、つまり第一週末の時点で式のアイデア何も持ってませんでした。
中心角で判定するのを思い付いて、117かなんかで出来ましたが、そこから先二けたまでが遠かった。
何時もは長さはともかく最初の二時間くらいでそこから後、指加えて見てる。
今回は数日何もできず、そこから後できるなんてとってもレアです。

maron

>maronさんの91はさっぱり理屈が分かりません^^;
1)秒はそのままで、長針は「分+秒/60」、短針は「時*5+分/12+秒/(12*60)」にします
2)秒針を0に位置にするため、それから秒を引きます(「分+秒/60-秒」、「時*5+分/12+秒/720-秒」)
3)しかし、それではマイナスになる場合があるので、MOD(C3+D3/60-D3,60)とします
4)分が30分(秒)より前か後か判定するため、-30として、プラスかマイナスかを判定します、これが「MOD(C3+D3/60-D3,60)-30」
5)先程の、換算時<換算分「(MOD(C3+D3/60-D3,60)-MOD(B3*5+C3/12+D3/720+30-D3,60))」を出して、
6)条件4)*条件5)として、+なら○、-なら×としています

maron

>閃き型3問、、、出すかも
◆jyo3さん、問題待っています。
◆今回の問題は、2週間を少しも長く感じませんでした。

からくち

=TEXT((MOD(B3*5+C3/12-D3,60)-30)*(MOD(C3+D3/60-D3-30,60)-MOD(B3*5+C3/12-D3,60)),"○;×")

maronさんの式を見た時わたしの式と全く同じではと思ってしまった、、、
でも文字数が違う、、、中も微妙に違う、、、

からくち

書き忘れ、、、
わたしの式は6:0:0の様に線上は○です

maron

>でも文字数が違う、、、中も微妙に違う、、、
◆でも、発想は同じではないでしょうか。

>わたしの式は6:0:0の様に線上は○です
◆maronの式は、6:0:0は×です。

からくち

>maronの式は、6:0:0は×です
やっぱ違うのか、、、

>発想は同じではないでしょうか
式を見る限り、、、同じではと思います
この問題、、、最初のコメントを見ると一目瞭然ですが
最初からこの考え方しか書かなかった
最初120位からで、、、最後に
D3/720は数値が小さく結果を変動させる程では無い事を確認出来たので
これを消して、、、

y sakuda

maronさん解説ありがとうございます。
しばらく考えてましたがまだ理解できてない^^
針を0の所にずらしてって発想は私の74でもやってますが、判定基準が見えてないから理解できないんだろうなと思ってます。
まあ、これ、自分のだってしばらく後で見たら、判定の考え方書いたメモ見ても理解できなさそうですからしょうがないんですけどね。
からくちさんのも同じ発想なのは式の形から推測できるけど、線上の○×の違いがどこで発生してるのか見えない^^
しかし、ジョー3の問題考える方向性ってのはすごいですねーー

y sakuda

からくちさんので試してみると、0:12:31等線上に乗ってると判定されてるケースが結構出てくる。
私のにも、線上〇と出ちゃう式が残ってたんで試してみると×つまり外と判定されます。
1週を1.0とした場合1000分の1程度の差で判定が分かれてるってことなんですが、

>D3/720は数値が小さく結果を変動させる程では無い事を確認出来たので これを消して、、、
の影響なんかな?
私がの式でチェックすると、完全に線が中心点を通るのはN:30:0 とか6:0:0の時だけでした。

ni

今帰ってきました

その1
87=IF(SUM(ABS(ABS(MMULT(B3:D3,{-360,360,0;66,6,72;1.1,-71.9,-70.8}))-2160))=2160,"〇","×")

その2
119=IF(MAX(MMULT(LARGE(MMULT(B3:D3,{360,0,0;6,72,0;0.1,1.2,72}),{1,2,3}),{1,0,-1;-1,1,0;0,-1,1})+{0,0,4320})>2160,"X","O")

その3
90=IF(IMABS(IMSUM(IMEXP(MMULT(B3:D3,{360,0,0;6,72,0;0.1,1.2,72})*PI()/2160&"i")))>1,"×","〇")

y sakuda

お互い様でしょうが、niさんのもパッと見じゃさっぱり分かんないw
それぞれに、一言どういう発想かコメント願えませんか^^

ni

解説その1
MMULT(B3:D3,{-360,360,0;66,6,72;1.1,-71.9,-70.8})
これは、2つの針間の角度を計算で、2160が180度に相当します。
プラスマイナスも無茶苦茶なので、絶対値を計算して
180度(2160)を引いて絶対値をとることで、何角って言ったっけ?
それを3つ足してやると、三角の中に中心があると180度になります。

元々、2つの針の角度の180度より小さい方の角度を3つ足して360度になれば○という考えでやりました。

ni

解説その2
MMULT(B3:D3,{360,0,0;6,72,0;0.1,1.2,72})
は、おのおのの針の角度
LARGE(MMULT(B3:D3,{360,0,0;6,72,0;0.1,1.2,72}),{1,2,3})
で角度が大きい順に並び変えて
MMULT(LARGE(MMULT(B3:D3,{360,0,0;6,72,0;0.1,1.2,72}),{1,2,3}),{1,0,-1;-1,1,0;0,-1,1})
で大きい角度から小さい角度を引く針間の角度差計算
一番小さい角から一番大きい角を引くと360度小さい値になってしまうので、そこだけ360度を足す
+{0,0,4320}
で、その中で一番大きい角度が180度を超えていたら三角の外という判定です。

y sakuda

>元々、2つの針の角度の180度より小さい方の角度を3つ足して360度になれば○という考えでやりました。

これは最初の式ですかね?
中心角で判定する奴ですね。
二つの針の角度両方だして小さい方足して360はなるほどです。
思いつかなかった。

ni

解説その3
MMULT(B3:D3,{360,0,0;6,72,0;0.1,1.2,72})*PI()/2160
各々の針の角度をラジアンで求めます。
&"i" で複素数にしちゃいます。
IMEXP(MMULT(B3:D3,{360,0,0;6,72,0;0.1,1.2,72})*PI()/2160&"i")
e^-Θ はオイラーの式で、cosΘ+isinΘ という複素数になります。
IMSUM(IMEXP(MMULT(B3:D3,{360,0,0;6,72,0;0.1,1.2,72})*PI()/2160&"i"))
で複素数ベクトルの足し算
IMABS はこの合成された複素数の絶対値、つまり合成ベクトルの長さになります。
中心が内側にあるとこの合成ベクトルの長さが1以下になります。

jyo3さんの「三角関数で」をヒントにsin,cosを考えたんですけど長くなってしまうので、
複素数でいっぺんに計算してみました。

秒針の角度を引いて1と短針、長針のベクトル合成してみましたが、1文字しか減りませんでした
89=IF(IMABS(IMSUM(1,IMEXP(MMULT(B3:D3,{360,0;6,72;-71.9,-70.8})*PI()/2160&"i")))>1,"×","〇")

jyo3

ちらっ・・・

皆さん凄いです。

さてさて、、

わたしは、、、
あれこれ、
しなきゃーーーが、多くて、
・・・・で、、、集中できなかった。

y sakuda

niさんありがとうございます・・・・って言っても最後のはさっぱり分かってないw
今晩研究してみんべーー
しかし、私もMDETERMなんか持ち出したけど、複素数まで飛び出すかいなwww

jyo3

でも、、、
無責任に、、、作るのは・・・・長い時間が、、、要らないこともある。

この頃、思って来た。

皆さんを信じて、、、、

回答例がなくても、、、いいかなーーーー
(一応今までは{今回も}回答例があれば、、、長くてもいいよね)
って感じだったけど、、、無視してもいいかもね、、、

ni

私も逆行列わかりません^^;

jyo3

昔の問題をたまに、、、ちらっと見ます。

すると、、、えーーーーわかんない。

分かるまで、見てると、、、すげーーー疲れます。

。。。。
この問題も、、、、疲れそうだなー・・・・

y sakuda

>私も逆行列わかりません^^;
似たようなもんです。
一応知ってるってだけで、かなりの期間数学飯のタネにしてましたが、多次元連立方程式解いたりなんてことは全く縁がないから、使ったこと無いです。
大体線形数学なんて50年前大学で単位取った時以来近づいてませんwww

従ってExcelさんでもMINVERSEもMDETERMも試したのも初めて。
気が付いたのは、3×3のしかも値が1,0の単純な行列眺めててもしやと思っただけで偶然みたいなものです^^

ni

>e^-Θ はオイラーの式で
あ、マイナスはいらなかった
e^Θ=cosΘ+i*sinΘ でした

y sakuda

>オイラーの式で
かすかに覚えてる程度
これも間違えなく50数年ぶりw

ni

ダメな86=IF(SUM(ABS(ABS(MMULT(B3:D3,{-360,360,0;66,6,72;1.1,-71.9,-70.8}))/2160-1))=1,"〇","×")

私のその1で、2160引いて絶対値が2160の判定を、
2160で割って1引いて1になるとしたのですが、63個もNGでした。

y sakuda

>2160で割って1引いて1になるとしたのですが、63個もNGでした。
割り算しちゃうと特殊な場合を除いて、誤差が出ます。ですから解析的なのは放棄しました。

ni

三角関数というか、複素数のやつは同じ割り算でしかもπまで掛けているのにうまくいったんですけどね

y sakuda

>三角関数というか、複素数のやつは同じ割り算でしかもπまで掛けているのにうまくいったんですけどね
なんででしょうね??

niさんのは線に乗ったのOKって判定ですね。
2番目のは基本的に私の105とやってること同じなんで一応理解できました。
最初のは71.9とかどこから0.1が出てきてなんでそれでうまく行くのか理解できてない。
(小さい方を足して360ならOKってのはなるほどなんですけどね)
三角関数の奴は座標を出すとこまでは分かりましたが、そこから・・・・・・
今回のは他の方の式全然理解できない^^;

しかし、今回ラジアン出すのにTime使う方いなかったのは意外。
私はNPVとか色々やったけど、結局TimeでMod1にするのが一番短かったです。

min

遅ればせながら、1週間前に一応やったということで

なんの工夫もないものですが、
139
=IF(AND(SMALL(B3*{5,0,0}+C3*{"2:0",1,0}+D3/{720,60,1},{1,2,3})+{30,30,-30}>SMALL(B3*{5,0,0}+C3*{"2:0",1,0}+D3/{720,60,1},{2,3,1})),"○","×")

それにしても、皆さんよくいろいろ考えますね。
さっぱりわからない、、とてもついていけません。。

からくち

>今回ラジアン出すのにTime使う方いなかったのは意外
他の方は分かりませんが、、、
わたしは計算にTIMEを使う気が起きません
理由は最大値が32767
という事は最大time(32767,32767,32767)です
これ、、、10:13:07です
勿論その理由は分かっています
でも、、、

からくち

若し、、、ジョー3さんの許可が下りれば
この問題のPART2をあります
ただジョー3さんもあるようなので被っていなければの話ですが、、、

y sakuda

minさんのも中心角ですね。
しかし、”2:0”かけてる意味が分からなくて悩んじゃった^^

y sakuda

ジョー3とからくちさんの時計第2、第3が続いたら、楽しそうだけど、その反面フラストレーションの塊りになっちゃうかも^^

jyo3

>この問題のPART2をあります
>ただジョー3さんもあるようなので被っていなければの話ですが、、、
どうぞ、どうぞ、、、素材提供ですから、、、

からくちさんと、かぶらなければ・・・・
私がART3でいいです。

>それにしても、皆さんよくいろいろ考えますね。
>さっぱりわからない、、とてもついていけません。。
わたしも、そうです。
よくみなさん、、、考えますねーー

y sakuda

maronさんと、からくちさんのやっと式の意味分かった^^
niさんの1と3は理解するのあきらめーー

ni

>71.9
係数は文字数減らすため1/10してます。

y sakuda

>係数は文字数減らすため1/10してます。
そりゃわかるんですけどね、なんで1減じてるのか、式のからくりが理解できてないから見えてこないってだけです。
説明読んで式眺めて、中の数値見ても、分かった!って感じがないのでどこかでつまづいちゃってるんでしょうね^^

jyo3

しかし、、、、、
>複素数でいっぺんに計算してみました。
複素数は、、、高校の時まじめに勉強しなかった。

今回は、ちらっ、、ちらっ・・・皆さんの進行を、、、見て、、、
自分は集中できませんでしたが、、、、

どもども、、、、

からくちさんのパート2
お待ちいたします。


からくち

>お待ちいたします
ありがとうございます
では、、、早速送ります

からくち

今、、、送りました

今回の問題が出題されましたら
今回のみですが、、、
文字数は解答日まで書かないでください

使っている関数名は書いて構いません
ただしその関数の使用個数は書かないでください

余りに小さな文字数で気落ちしない為に、、、わたしがですが

y sakuda

>使っている関数名は書いて構いません
>ただしその関数の使用個数は書かないでください
新機軸^^

maron

>ジョー3とからくちさんの時計第2、第3が続いたら
◆楽しみです。当分時計シリーズが続きそうですね。

jyo3

>文字数は解答日まで書かないでください

>使っている関数名は書いて構いません
>ただしその関数の使用個数は書かないでください
もろに・・・うれしい、、
金曜まで忙しいとして、、、

土曜・・・げげーーーーそんな、短いの出来ませーん、、、
で、、、終わり・・・が、なくなる。

jyo3

私のも、、、だいたい出来まして、、、、、

題は、、、「孫がケーキを食べる時」です。

2問1組です。

くまぷー

>今、、、送りました

ありがとうございます。
まだ月曜日ですがこれからアップします。m(__)m

ni

>なんで1減じているのか
角度の計算と、2つの針の角度差の計算をいっぺんにやっています

jyo3

>角度の計算と、2つの針の角度差の計算をいっぺんにやっています
すげーーー
きちんと見てないけど、、、、

y sakuda

>角度の計算と、2つの針の角度差の計算をいっぺんにやっています
ああ、そうか^^

コメントの確認

コメントのプレビュー

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

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

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

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

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

処理中...

コメントを投稿

アカウント情報

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

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