« 第108回 バイクの免許 解答例 | メイン | 第109回 最大値は? 解答例 »

2011年12 月 5日 (月曜日)

コメント

jyo-3

ありゃりゃーーーー
こりゃまた。・・・・・・
破天荒な、、、

からくち

>破天荒な、、、
[名・形動]前人のなしえなかったことを初めてすること。
また、そのさま。前代未聞。未曽有(みぞう)。

そんな大それたものではありません
問題が無くなってしまった、、、と言うことなので
ただ、思いついたままの問題ですので

因みに現在、、、82

jyo-3

うーーん、、、、
まず、、、
nomuka,,,,,

くまぷー

う~ん、またまた難解なり・・・

む印

う~~~ん、、
今のところ何も閃かない、、、

む印

PC使わせてもらえたので、とりあえずやってみました。
・・・で、とりあえずありきたりな84です、、、

y sakuda

今日は遅く帰って来て、さっきみただけですが・・・・
ひらめきはなしです^^;

y sakuda

私も何とかやるだけやったら、ありきたりの上長い・・・・89です。
どっちかっていうとエラーなんかになるのも含めて検証方法が問題ですね。
明日にでも何か作ろうかな?

y sakuda

結局私も84む印さんと多分同じだと思われます。

りす

う~ん、86で出来たけど、たまに間違いが表示される。数十回~数百回に1回?
それを修正すると、90。

jyo-3

みなさんすごいです。
私はまだ方向が定まってません
時々、ふっと、、、眺めてるだけ・・・・・

で、、、なんとなく興味が出てること・・・・
9が30個ぐらい出る確率はどうなんだろう・・・・とか・・・・
変なことが、、、興味深い・・・・

で、
9が18個あったり、、
8が19個あったりは、、考えなくて良いのですね、、
・・・・・・・・・・・・・・・・

y sakuda

>う~ん、86で出来たけど、たまに間違いが表示される。
合ってるのかどうか不明ながら、現在80です。

jyo-3

できたーーー・・・・・ながいーーーー・・・・
・・・・・・・・・・・・・・・・・・・

jyo-3

お昼作った式で、f9・・・・・
押してたら、・・・・・へーーーーーー
7が20個以上並んだり・・・・・
・・・・・・・・・・・・・・・・・・
むむーーーーー
15個以上でも、、、正確に出す式は、、、、、大変かーーーー
、、、
なんて、気になったり、、、

春

参りましたね(+_+)
どうやってこれを・・・

りす

脳内では、完璧な式を書いているけど、たまに、下のように、
0が含まれた結果が出てくる。
こんな結果がでるような式じゃないんだけどな。

44444444444444400000

あれ?ちなみに、結果をLENで監視すると、ほとんど15桁以内
なんだけど、良いんだよね?(上記のようなエラーだけ20桁になる)

jyo-3

>7が20個以上並んだり・・・・・
あ、、これは、元データの目視でのことです。
式の結果は、、7が15個です。

jyo-3

みなさん、、すごいなーーー
何でも、すぐ答えが出て・・・・・・
うまくいきません、、、
1)長くて、2)不完全的ケース発見(理由も:100回に1回ぐらい)、、
・・・・・・・・・・・・・・・・・

1)15個以上でも、、、答えを出したい・・・、、だが、、、無理そう。
2)15個以内での、、、短手数・・・・なんかありそうで、、だが、、無理そう。
・・・・・・・・・・・
てことで、今のところ、、、がっくり、、、・・・・
・・・・駄目駄目モード・・・なのだジョー、、、

min

面白い方法が思いつきません。。
しょうがないから単純にやってみました。
結果は80文字でした。

y sakuda

本題そっちのけで、検証プログラム作ってますが・・・・
うまく行かない^^
答え合わせまでにできるかなw

くまぷー

>本題そっちのけで、検証プログラム作ってますが・・・・
>うまく行かない^^

えーっ?!
それで何でワークシート関数でできるんだろう?!
?(・_。)?(。_・)?

y sakuda

>それで何でワークシート関数でできるんだろう?!
そういう意味じゃなく、Calculateイベントで捕まえる必要があるんですが、
そこを考えてやっているつもりなんですが、結果が変わっちゃうんで、上手く正解
を捉えられないんです。

くまぷー

>Calculateイベントで捕まえる必要があるんですが

単純に・・・
ワークシートの下のプロシージャを利用するだけでは
ダメなんですね?

Private Sub Worksheet_Calculate()

End Sub

くまぷー

職場に到着してちょっと実験してみました。

>結果が変わっちゃうんで

なるほど・・・
そういうことですか・・・
Excelに結果を残そうとするとCalculateイベントの嵐が・・・
・・・とすると結果はメモ帳でも起動してそちらに残すしかないのかな・・・


これから期末試験の監督です・・・

y sakuda

>Excelに結果を残そうとするとCalculateイベントの嵐が・・・
それは初めからわかってるので実行中EnableEventsをFalseにしてるんですが、それでも同じにならないので、次の手を考えてます^^;

y sakuda

チェック用プログラムを作りました。
使用方法は次の通りです。

1.標準モジュールを一つ入れる
2.そこに↓を丸ごと貼り付け

Function Check(ByVal pStr As String)
Dim wLen As Long, wBChar As String, wChar As String
Dim I As Long, J As Long, K As Long, wMax As Double
Dim wAry() As Double
wLen = Len(pStr)
J = 0
K = -1
wBChar = Left(pStr, 1)
For I = 1 To wLen
wChar = Mid(pStr, I, 1)
If wChar = wBChar Then
J = J + 1
If I = wLen Then
K = K + 1
ReDim Preserve wAry(K)
wAry(K) = CDbl(String(J, wBChar))
End If
Else
K = K + 1
ReDim Preserve wAry(K)
wAry(K) = CDbl(String(J, wBChar))
wBChar = wChar
J = 1
End If
Next
wMax = 0
For I = 0 To UBound(wAry)
If wMax < wAry(I) Then
wMax = wAry(I)
End If
Next
If wMax > 1E+15 Then
Check = "error"
Else
Check = wMax
End If
End Function

3.計算式のあるシートで好きな所に
=check(A1)
と入れてください。正解が表示されます。
なお、数字の並びが16桁以上の場合はerrorと表示するようにしてあります。
正解?と式の結果を比較したい場合は
A4に上記の式が入っており、回答式がA7に入っているとして
=IF(ISERR(A4+0),A4,A4+0)=A7
見たいにします。
多分大丈夫なような気がしますが、保障の限りでは・・・・・

jyo-3

あ、、、
不具合は修正しましたが、、、
皆さんより・・・だいぶ・・・・長いです。
で、、
9が、複数の場合が、、、一番多いですよね。

y sakuda

本題の方は、別法は何も思いつかない^^;

min

2007以上が許されるなら、75でした。

y sakuda

>2007以上が許されるなら、75でした。
×2


min

>2007以上が許されるなら、75でした。
どうやらsakudaさんも同じ式のようですね。
ちなみに、2007以上なら、もう1文字減って74になりませんか?

y sakuda

>ちなみに、2007以上なら、もう1文字減って74になりませんか?
さて・・・・
正直なところ、2007、2010で増えた関数はあまり使う習慣がないので見落としている
可能性大ですw

からくち

う~~ん、、、
皆さんのコメントを見ていると
全員同じ式の可能性。。。<<<大>>>

つまらない問題でした。。。すみません
最小値(ゼロを除く)の方が面白かった、、、かも

y sakuda

>最小値(ゼロを除く)の方が面白かった、、、かも
そういえば、オールゼロのストリングが出てくるってのは考えてなかったな・・・・
でも結果おーらいでゼロのみのストリングの場合、0って表示されます^^


からくち

>現在80です。
>結果は80文字でした。
>2007以上なら、もう1文字減って74になりませんか?
この流れからしてどう見てもみな同じ式
そして出題者解答例もまた同じ

これは出題者責任で
最大値を求める関数の使用禁止
で急遽作った式(117)を出題者解答例とするつもりです

そうでもしないと皆さんが回答式を出せなくなってしまう
反省。。。

jyo-3

>この流れからしてどう見てもみな同じ式
へーーー
わかってないジョーもいる。

>そういえば、オールゼロのストリングが出てくるってのは考えてなかったな・・・・
>でも結果おーらいでゼロのみのストリングの場合、0って表示されます^^

では、これを、、、文字列のまま・・・・出してみた。
000000000000000000000000
とか、、出してみました。


y sakuda

>最大値を求める関数の使用禁止
どこまで禁止したんだろ?
何種類か使えそうなものがありますが、すべて禁止かな?

min

>最大値を求める関数の使用禁止
愚問ですが。。
最大値を求める関数を禁止ということですので
最小値を求める関数も禁止ですよね。

ま、やってないんですが。

からくち

>すべて禁止かな?
>最小値を求める関数も禁止ですよね。
この手の関数はSMALLを使っています
ただしSMALL(範囲,135)の様に数値を得る使い方では無く
並び替えに使っています

あっ、、、これはヒントになってしまうかな
関係無いか、、、誰もこんバカバカしい式書かないから

くまぷー

からくちさんから出題者解答例を頂きました。
ありがとうございます。

む印

アレから減らせたのは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 メニュー