95回 数字の分解
ジョー3回答案です
188文字
12桁対応版です。
あと、セルD4のこの式を右にドラッグで、二位、三位と出てきます(該当がある場合)
{=SMALL(SUBSTITUTE($B4/(IF((ROW(A:A)+65536*{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17})>$B4^0.5,1,ROW(A:A)+65536*{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17})),".",10^10)*1,COLUMN(A1))}
さてさて、皆さんの解答が楽しみです。
(ジョー3さん)
***************************************************************************************************
この問題、あまり深い意味はなく、素数計算の延長線で思いついたものです。
問題作って見た時の解は↓の83でした。
{=MAX((MOD(B4,ROW(INDIRECT("1:"&INT(B4^0.5))))=0)*ROW(INDIRECT("1:"&INT(B4^0.5))))}
83
アッと言う間に50台がでてきたので、あわててネジまきましたが、ありきたりの54しか思いつきませんでした。
{=MAX((MOD(B4,ROW(A:A))=0)*ROW(A:A)*(ROW(A:A)^2<=B4))}
54
毎度の事で、出題者完敗ムードですが、別発想の回答がありそうなので、
楽しみにしてます。
(sakudaさん)
******************************************************************************************************
数学的なのは至って苦手です、、、適当にやってみたら、一応なんとかできてるみたい、、、
56 {=INT(B4^0.5+1-MATCH(,MOD(B4,INT(B4^0.5-ROW(A:A)+1)),))}
MODを使わないというだけで、根本的には56と代わり映えしませんが、
59 {=INT(B4^0.5+1)-MATCH(1,-1^(B4/INT(B4^0.5-ROW(A:A)+1))^2,)}
とにかく参加できてよかったです^^ (む印さん)
**********************************************************************************************
こんにちは niです。 14桁対応版、間違い修正と文字数ダイエットしたので再送します。
{=IF(TYPE(D4)<>1,-ROUNDUP(SQRT(B4),0),IF((B4/D4=INT(B4/D4))*(D4>0),D4,IF(D4<0,IF(MAX((B4/(MAX(-(D4+4^8),0)+ROW(A:A))=INT(B4/(MAX(-(D4+4^8),0)+ROW(A:A))))*(MAX(-(D4+4^8),0)+ROW(A:A)))=0,MIN(1,D4+4^8),MAX((B4/(MAX(-(D4+4^8),0)+ROW(A:A))=INT(B4/(MAX(-(D4+4^8),0)+ROW(A:A))))*(MAX(-(D4+4^8),0)+ROW(A:A)<SQRT(B4))*(MAX(-(D4+4^8),0)+ROW(A:A)))),-ROUNDUP(SQRT(B4),0))))}
循環参照&配列数式です。363文字
(niさん)
**************************************************************************************************
<第95回 数字の分解 回答>
途中経過を見る限り、今回は色々な回答が出そうで楽しみです
関数式って、それなりになった人達(ここの人達も)には
その人なりの特徴(個性?)が現れるようで、それが面白い
50 : {=MATCH(SQRT(B4),IF(MOD(B4,ROW(A:A))=0,ROW(A:A)))}
ただし文字数は1文字増えますが(MATCH 5文字・LOOKUP 6文字)
同様の書き方でも、考え方としては下記の方が好みです
51 : {=LOOKUP(SQRT(B4),IF(MOD(B4,ROW(A:A))=0,ROW(A:A)))}
SQRT(B4)を B4^(1/2) に変えても文字数は変わらない
(マイクロソフトはそこまで考えていたのか ← そんな訳無い)
51 : {=LOOKUP(B4^(1/2),IF(MOD(B4,ROW(A:A))=0,ROW(A:A)))}
>大きい方 - 小さい方 = 差
>字数はともかく是非見たいですね。
差 : {=MIN(IF(MOD(B4,ROW(A:A))=0,ABS(ROW(A:A)-B4/ROW(A:A))))}
>大きい方を先に見つける手段があればそれも是非見たいですね。
この問題、文字数を気にせずにそのまま書いたなら
下記のどちらかを書くのでは、、、
小さい方 : {=MAX(IF(ROW(A:A)<=SQRT(B4),IF(MOD(B4,ROW(A:A))=0,ROW(A:A))))}
大きい方 : {=MIN(IF(ROW(A:A)>=SQRT(B4),IF(MOD(B4,ROW(A:A))=0,ROW(A:A))))}
(からくちさん)
****************************************************************************************************
今晩は、いつもお世話になっております。遅ればせながら解答を送付いたします。
実行環境は、エクセル2007で互換モードでやりました。 今回は、ほぼ初日でおわりました。
初日にやったなんにも考えずにやったもの。
100{=LARGE(IF(MOD(B4/ROW(A:A),1)=0,ROW(A:A)*{0,1}+B4*{1,0}/ROW(A:A)),COUNT(IF(MOD(B4/ROW(A:A),1)=0,)))}
そのあとすぐに単純に考えたなおしたもの。
46{=MATCH(B4,IF(MOD(B4,ROW(A:A))=0,ROW(A:A)^2))}
46{=MATCH(B4,IF(MOD(B4,ROW(A:A)),余,ROW(A:A)^2))}
で初日終わり。 後は、ほとんどPC使わず頭の中で考えていましたが、全くいい方法が思いつかず。
niさんの52に刺激されてちょっとだけ短縮したもの。
44{=MATCH(B4,ROW(A:A)^2/(MOD(B4,ROW(A:A))=0))}
今日(土曜)作ったものこれは完全にだめですが、
{=MATCH(,MOD(B4,ROW(A:A)+INT(B4^0.5)),)+INT(B4^0.5)}
特別気に入ったものはなく、結局あっているのか評価される式なのかよくわかりませんでした。
桁数の多いものもちょっとやりましたが、できませんでした。みなさんの解答を楽しみにしております。
( minさん)
私の52はこれです。
52 {=MAX(ROW(A:A)^((ROW(A:A)^20),D4,IF(D4<0,IF(MAX((B4=(MAX(-(D4+4^8),0)+ROW(A:A))*INT(B4/(MAX(-(D4+4^8),0)+ROW(A:A))))*(MAX(-(D4+4^8),0)+ROW(A:A)))=0,MIN(1,D4+4^8),MAX((B4=(MAX(-(D4+4^8),0)+ROW(A:A))*INT(B4/(MAX(-(D4+4^8),0)+ROW(A:A))))*(MAX(-(D4+4^8),0)+ROW(A:A)
こっちはまだまだムダがありそう。
投稿情報: ni | 2011年4 月24日 (日曜日) 午前 10時09分
ありゃ?なんだか無茶苦茶になった。もう一度。
52={=MAX(ROW(A:A)^((ROW(A:A)^2<=B4)-MOD(B4,ROW(A:A))))}
配列数式
投稿情報: ni | 2011年4 月24日 (日曜日) 午前 10時11分
15桁対応(締め切りすぎてからできた物)うまく投稿できないので、インデント付きで。
362={=IF(TYPE(D4)=1,
IF((B4=INT(B4/D4)*D4)*(D4>0),
D4,
IF(D4<0,
IF(MAX((B4=(MAX(-(D4+4^8),0)+ROW(A:A))*INT(B4/(MAX(-(D4+4^8),0)+ROW(A:A))))*(MAX(-(D4+4^8),0)+ROW(A:A)))=0,
MIN(1,D4+4^8),
MAX((B4=(MAX(-(D4+4^8),0)+ROW(A:A))*INT(B4/(MAX(-(D4+4^8),0)+ROW(A:A))))*(MAX(-(D4+4^8),0)+ROW(A:A) -ROUNDUP(SQRT(B4),0))),
-ROUNDUP(SQRT(B4),0))}
配列数式、循環参照
D4が1になっているときは、B4に文字列を入れて一度エラーにしてからD4に値を入れて下さい。
答えがマイナスのときはF9を押してください。
投稿情報: ni | 2011年4 月24日 (日曜日) 午前 10時18分
>)うまく投稿できないので
半角不等号があるとダメみたいです。
全角不等号に取り合えず変えていただければ・・・
投稿情報: くまぷー | 2011年4 月24日 (日曜日) 午前 11時48分
あらもう出てたんですね。
今時間がないのでちょっと見ただけですが・・・・
ジョー3の無茶苦茶重いw
他の方のもいろいろありますねーー
バリエーションあまりないと思ったの認識不足でしたね^^;
今晩ゆっくり拝見します。
ところで、今度も採点するんでしょうか?
投稿情報: y sakuda | 2011年4 月24日 (日曜日) 午前 11時51分
まず、ぱっと見まして、,,
sakudaさん、、、
INDIRECTは、、、考えなかった。・・・ふーーん、、
む印さん、、
B4^0.5 二回、、面白い。
niさん、、、うひゃーーー。。。
昔から、長いの気にしないねーーーー、、、すごいーーー。。
からくちさん、、、
思考が,,ぱっと、、見えて、美しい、,、、いいなーーー。
minさん、、短縮がいつも凄い、,・・・・
って、わけで、あとでまたゆっくり見ます。
(今日は今帰って、また午後、出かけます)
投稿情報: ジョー3 | 2011年4 月24日 (日曜日) 午前 11時51分
>ジョー3の無茶苦茶重いw
あはは、、、動かさない方が良いと、思う、,,
・・・・・・・・
10位ぐらいまで出すと、,,
・・・・・・・
エクセルが、計算嫌だって、だだこねることがあるし、,
・・・・・・・・・
投稿情報: ジョー3 | 2011年4 月24日 (日曜日) 午後 12時02分
観念的にはこんな感じで数列の配列を作れば、巨大な配列を作れますが、配列を大きくするとリソース不足に陥るので、15桁の数値を判定するのは途中でやめました。
{=COUNT(ROW(1:1000)+TRANSPOSE(ROW(1:1000)-1)*1000)}
みなさんの数式は、あとで再度見させていただきます。
投稿情報: min | 2011年4 月24日 (日曜日) 午後 01時01分
長いので15桁の解説を。
最初のIFはエラーチェック。エラーだったら初期値を設定。
次のIFで解が出ているかのチェック。
次のIFで解があるかチェック。解が無ければ次の探索をマイナス表示。
解があればその解を表示。
解があるかのチェックと、実際に解を求めるところで同じような式が2度出ています。
で、解があるかのチェックで、最初、int(B4/候補)=B4/候補 としていたのですが、15桁を割り算すると桁落ちしてしまい、うまくいきませんでした。
それで、B4=int(B4/候補)*候補)で判定しています。
投稿情報: ni | 2011年4 月24日 (日曜日) 午後 01時22分
>ところで、今度も採点するんでしょうか?
そうしましょーー、、
そうしましょーー。。
・・・・・・・・・・・
むむーーーーー
・・・・・・・・
投稿情報: ジョー3 | 2011年4 月24日 (日曜日) 午後 04時28分
>ジョー3の無茶苦茶重いw
で、大きい数を、
1位から17位まで一気に出してみた。
うひゃーーー、、、3分かかった。
みなさーーんすみませーーん、、、
200,560,490,130
448,630 × 447,051
451,605 × 444,106
452,166 × 443,555
453,530 × 442,221
454,894 × 440,895
458,490 × 437,437
460,598 × 435,435
461,890 × 434,217
465,465 × 430,882
472,719 × 424,270
472,758 × 424,235
474,145 × 422,994
476,238 × 421,135
476,905 × 420,546
479,570 × 418,209
482,885 × 415,338
490,314 × 409,045
投稿情報: ジョー3 | 2011年4 月24日 (日曜日) 午後 04時40分
皆さん、matchが多いですね。からくちさんのLookupもそうですが、この問題には使えないと見切りをつけちゃいました・・・・
ですから、回答拝見して?状態でした。
やはり、完敗でしたねーー
投稿情報: y sakuda | 2011年4 月24日 (日曜日) 午後 07時04分
matchは解でないものを0とか1とかにしてしまったため、順番に並んでないのでエラーになりました。
みなさん、関数使い込んでおられますね。
投稿情報: ni | 2011年4 月24日 (日曜日) 午後 07時44分
ジョー3さんのは大きいほうが出るのですね。
小数点をぶっ飛ばすとは、さすがジョー3さん。
投稿情報: ni | 2011年4 月24日 (日曜日) 午後 09時36分
>小数点をぶっ飛ばすとは、さすがジョー3さん。
どもども、、、、
さて、
採点ですねーーーー
今日、明日・・・・くまぷーさんに送ろうと、思ってます。
(先回で銅賞6人としても予算が、使い切れてませんので)
審査担当の皆さん、、、宜しくお願いします。
・・・・・・・・・・
で、いいですよね、、くまぷーさん!!・・・・
(おしごとふやしてごめんね、)
投稿情報: ジョー3 | 2011年4 月25日 (月曜日) 午後 12時50分
>で、いいですよね、、くまぷーさん!!・・・・
了解しました。
また前回同様、私のところに来たものを
ジョー3さんに転送致します。
投稿情報: くまぷー | 2011年4 月25日 (月曜日) 午後 04時54分
sakudaさんより評価メールを頂きました。
ありがとうございます。
それでは審査委員長に転送致します。m(__)m
投稿情報: くまぷー | 2011年4 月25日 (月曜日) 午後 09時45分
今回もなんとか答案を提出できましたが、、
MATCH関数をまだまだ理解できていませんでした、、、
からくちさんの
{=MATCH(SQRT(B4),IF(MOD(B4,ROW(A:A))=0,ROW(A:A)))}
おお、、流石としかいいようがない!
minさんの
{=MATCH(B4,ROW(A:A)^2/(MOD(B4,ROW(A:A))=0))}
おおお、、私は逆から攻めて余計なものがいっぱい…、、、、
・・・ということは
{=MATCH(B4,-1^(B4/ROW(A:A))+ROW(A:A)^2)}
これでもいいかなぁ~?
ああ、、数学は苦手、、、、、
投稿情報: む印 | 2011年4 月26日 (火曜日) 午後 06時18分
うんうん、、おふたりとも、
すごいです。・・・・・・・・
・・・・・・・・・・・・・
はっぴょうしてないのも、、
沢山有りそうだし、、、・・・・・
・・・・・・・
で、む印さんも、すごいですねーーー
・・・・・・・・・・・・・・・・
研究心が、、、
投稿情報: jyo3 | 2011年4 月26日 (火曜日) 午後 07時14分
あ、、でも、、、わたしも、、
36が、、、4になったりしました。
投稿情報: jyo3 | 2011年4 月26日 (火曜日) 午後 07時16分
で、96問目は、今日出るのかなーーー
でないなら、、、
うちの社員が、、、
VBAで、、、
セルA1から、、、素数を・・・・ずーと出していた。
ん、、、出来るのかなーーー関数でも、、、と、思った。
セルA1に式を書いて、・・・・・
オートフィルで、、100行ぐらいどうだろう??
出来そうな気がするが、、、やってはいない!!
投稿情報: jyo3 | 2011年4 月26日 (火曜日) 午後 07時22分
>で、96問目は、今日出るのかなーーー
でません。
95問目の賞発表が済まないうちに
だらだらと次に行くのはどうかと・・・
投稿情報: くまぷー | 2011年4 月26日 (火曜日) 午後 07時57分
>だらだらと次に行くのはどうかと・・・
そかそか、、、、
投稿情報: jyo3 | 2011年4 月26日 (火曜日) 午後 08時06分
>オートフィルで、、100行ぐらいどうだろう??
最初の頃素数の問題出したような気がしますが?
>で、96問目は、今日出るのかなーーー
96問目ってまた私のかしら?
つまんないな^^;
ジョー3とこの社員の方も何か出題してくれないかな?
こんなんできるわきゃねーってのでからくちさんとminmaxさんあたりに挑戦状w
あっさりやられちゃうとショックかもしれませんがねwww
投稿情報: y sakuda | 2011年4 月26日 (火曜日) 午後 09時04分
>最初の頃素数の問題出したような気がしますが?
あらら、、、全部忘れてる、、、、、
からくちさんに、、、
唯一・・・・勝つ自信のあるのは、、、、
忘れる、、、技術、、、、かも。
しれない、、、
投稿情報: jyo3 | 2011年4 月26日 (火曜日) 午後 09時27分
あぁ、また提出するの忘れてました、、、orz
ちなみに、皆さんとほぼ同じですが、INT関数で整数に
しなくて済んだOFFSET関数を使ってみました。
53 {=MATCH(1,IF(MOD(B4,ROW(OFFSET(A1,,,B4^0.5,))),"",))}
投稿情報: いちぎょう | 2011年4 月27日 (水曜日) 午後 12時02分
いちぎょうさん、、、
どうもですーーー
で、、、、
・・・・・・・・
ここに書くのも何だけど、,,
孫が、、2人目・・・・・
・・・・・・・・・・・・
が、、、、、
がーーん、、、
数日前に出来たのだ、,,
・・・・・・・・・
忙しいーーーー・・・・・・・
・・・・・・・・・・・・・
あはは、、、、
投稿情報: ジョー3 | 2011年4 月27日 (水曜日) 午後 08時27分
>数日前に出来たのだ、,,
おめでとうございます。
これで、ますます絶好調!!
投稿情報: くまぷー | 2011年4 月27日 (水曜日) 午後 09時38分
からくちさんより評価メールを頂きました。
ありがとうございます。
それでは審査委員長に転送致します。m(__)m
投稿情報: くまぷー | 2011年4 月27日 (水曜日) 午後 09時39分
>あぁ、また提出するの忘れてました、、、orz
いちぎょうさん、どもです(^。^)
こんどは忘れないで下さいd(^-^)ネ!
投稿情報: くまぷー | 2011年4 月27日 (水曜日) 午後 09時40分
>数日前に出来たのだ、,,
おめでとうございます。×2
ところで、評価の集まり悪いですね^^;
投稿情報: y sakuda | 2011年4 月27日 (水曜日) 午後 11時17分
ちょっと時間が出来たので、
テストしてみました。
おおーーーー面白いです。・・・・・
みんな答えが同じなのは、、面白い。(=当然?)
あと、、
双子素数。。。。
9999161
9999163
みつけたり、、
・・・・・
で、さて、、、
投稿情報: ジョー3 | 2011年4 月28日 (木曜日) 午後 02時51分
minさんの評価を転送致しました。
ジョー3さん、それでは結果をまとめて下さい m(__)m
投稿情報: くまぷー | 2011年4 月29日 (金曜日) 午前 07時29分
む印さんの
>これでもいいかなぁ~?
発想がすごいと思って、、式を見てもさっぱりでした。
で、
{=MATCH(B4,-1^(B4/ROW(A:A))^2*ROW(A:A)^2)}
これならいいのかな?
なんか、む印さんの術中にはまった気分。。
投稿情報: min | 2011年4 月29日 (金曜日) 午前 08時11分
ジョー3さん~
評価のまとめをお待ちしていますよ~
投稿情報: くまぷー | 2011年4 月30日 (土曜日) 午後 05時30分
>これならいいのかな?
あああ、、いいとおもいます、、、
>術中にはまった気分。。
あらら、、わたしはただ、
ボケた脳みそのリハビリをさせて頂いております、、、。
投稿情報: む印 | 2011年4 月30日 (土曜日) 午後 05時32分
>評価のまとめをお待ちしていますよ~
はいーーーー。。。。。。
・・・・・・・・・・・・・・・・・
おもしろいーーーー
・・・・・各人の評価も、,,,,
投稿情報: ジョー3 | 2011年4 月30日 (土曜日) 午後 09時04分
それでは当選者の発表をしますよ~
投稿情報: くまぷー | 2011年4 月30日 (土曜日) 午後 09時23分