問2 (ウ)(エ)に入れる数式は? (但し、既約分数になるようにする)
(出題 ジョー3さん)
解答用参考ファイル:Q100_2011をダウンロード
)**********************************************************************************
尚、解答締め切りは06/11(土)の午後8時の予定です。(状況によっては
変更される可能性があります)締め切りまでに私までメールで解答をお知らせ下さい。
解答発表までは直接数式を書き込むこと・ポイントとなる関数名を
書き込むことはご遠慮ください。
********************************************************************************
>やってみましたが、糸口が見つかりませんね。。
ありゃ、minmaxさんらしくないな^^;
投稿情報: y sakuda | 2011年6 月11日 (土曜日) 午後 06時11分
>やってみましたが、糸口が見つかりませんね。。
信じられない、、、、、
投稿情報: jyo3 | 2011年6 月11日 (土曜日) 午後 06時13分
>やってみましたが、糸口が見つかりませんね。。
もしかしたら、、、
凄いこと、、、、、
・・・・・・・・・・・
どなたもやらない、、、・・・・・・
そんな手法を、、、、、探っておられる??・・・でしょうねーーーー
・・・・・・・・・と、、思うしかない。。
投稿情報: jyo3 | 2011年6 月11日 (土曜日) 午後 06時19分
いまごろ、、、、・・・ですが、、、、
実は、、、、
1)
=1/RANDBETWEEN(1,100)+1/RANDBETWEEN(1,100)
で、出題するか、、、、
2)
=1/RANDBETWEEN(1,10)+1/RANDBETWEEN(1,10)
が、よいか、、、、迷った。
2)のほうが、、、いろいろあったかなーーーー
・・・・・・・・・・・・・・・・・
ごまかし技が、、、、・・・・・・
投稿情報: jyo3 | 2011年6 月11日 (土曜日) 午後 06時23分
今日やってみて一応出来たことは出来ましたが、
チェックを通らない。。
既約分数じゃないって怒られますぅ。。
投稿情報: min | 2011年6 月11日 (土曜日) 午後 06時32分
>既約分数じゃないって怒られますぅ。。
どういうケースですか?
どうも、ジョー3のケース見たいにチェックプログラムの方の問題もありそうですが?
投稿情報: y sakuda | 2011年6 月11日 (土曜日) 午後 06時44分
>48/47
でも怒られますがそれを回避して
もう一回チャレンジしても
次は
70分の9でも怒られますぅ
投稿情報: min | 2011年6 月11日 (土曜日) 午後 06時50分
とりあえず、既約分数のチェックをはずすなら↓をお使いください
(既約分数のチェックをコメントアウトしてあります)
Sub Q100check()
Const wEps = 10 ^ -15
Dim wFormula As String, wZ1, wZ2, wZ3, I As Long, J As Long
Dim wFlg As Boolean, wErr As Long, wMsg As String
Dim wB6, wD6, wF5, wF6, wType As Long, wStep As Long
'簡易モード/フルチェック
wType = 1 'フルモードの時は0にしてください
'
If wType = 0 Then
wStep = 1
Else
wStep = 17
End If
wFlg = False
With ActiveSheet
wFormula = .Range("B10").FormulaLocal
wZ1 = .Range("Z1")
wZ2 = .Range("Z2")
wZ3 = .Range("Z3")
.Range("Z1") = 1
.Range("Z2") = 1
.Range("B10").FormulaLocal = "=1/Z1+1/Z2"
.Range("Z3").FormulaLocal = "=gcd(F5,F6)"
'画面が変わるのが見たければ、↓の行をコメントアウトしてください
' Application.ScreenUpdating = False
'
On Error Resume Next
For I = 1 To 100 Step wStep
For J = 1 To 100
.Range("Z1") = I
.Range("Z2") = J
wB6 = .Range("b6")
wD6 = .Range("D6")
wF5 = .Range("F5")
wF6 = .Range("F6")
If wB6 > 0 And wB6 0 And wD6 < 101 Then
If Abs(1 / wB6 + 1 / wD6 - .Range("B10")) < wEps Then
If Abs(wF5 / wF6 - .Range("B10")) < wEps Then
' If .Range("Z3") = 1 Then
' Else
' wFlg = True
' wErr = 3
' End If
Else
wFlg = True
wErr = 2
End If
Else
wFlg = True
wErr = 1
End If
Else
wFlg = True
wErr = 4
End If
If wFlg Then Exit For
Next
If wFlg Then Exit For
Next
On Error GoTo 0
Application.ScreenUpdating = True
If wFlg Then
Select Case wErr
Case 1: wMsg = "B6,D6が正しくありません"
Case 2: wMsg = "F5,F6が正しくありません"
Case 3: wMsg = "F5,F6が既約分数になってません"
Case 4: wMsg = "B6,D6が1~100以外になっています"
End Select
MsgBox "エラーです:" & I & " - " & J & " : " & wMsg
Else
MsgBox "おめでとうございます!"
End If
.Range("b10").FormulaLocal = wFormula
.Range("Z1") = wZ1
.Range("Z2") = wZ2
.Range("Z3") = wZ3
End With
End Sub
投稿情報: y sakuda | 2011年6 月11日 (土曜日) 午後 07時04分
あらsakudaさんすみません改良版作ってくれたんですね。
その前に長いけどくまぷーさんに解答送ってしまいました。
すみません。
投稿情報: min | 2011年6 月11日 (土曜日) 午後 07時13分
全く破ちゃ滅ちゃな解答かと思いますが
参加したさに答案を送ってしまいました、、、
あしからず、、、ご容赦を・・・・。
投稿情報: む印 | 2011年6 月11日 (土曜日) 午後 08時13分
む印さん
やっと来ましたね
投稿情報: min | 2011年6 月11日 (土曜日) 午後 08時17分
>全く破ちゃ滅ちゃな解答かと思いますが
どんな式であろうと正解は正解
わたしが送った回答は不正解の式
ただのお遊び式です、、、ごめんなさい
投稿情報: からくち | 2011年6 月11日 (土曜日) 午後 08時29分
Sakudaさん、いちぎょうさん、ジョー3さん
minさん、む印さんから解答例を頂きました。
これで7人
そして私を加えると8人・・・
りすさん、そしてジョー3さんのところの方は
どうしたんだろう?
今夜いっぱい待ちますよ。
まだの方、まだ大丈夫ですよ~ (^O^)/
投稿情報: くまぷー | 2011年6 月11日 (土曜日) 午後 08時42分
一応10文字減りました
が、短くない。。
投稿情報: min | 2011年6 月11日 (土曜日) 午後 09時43分
何故に、不正解の式を自身の回答としたのか、、、その1つ
仮に2つの式をA・Bとして
分子A=分子B、、、TRUE
分母A=分母B、、、TRUE
(因みにこの4つの値は全て小数点以下15桁まで表示している)
しかし
分子A/分母A=分子B/分母B、、、FALSE、うう~ん
つまり、、、式Aで得た4つの値=式Bで得た4つの値
ですが、、、正しい?値は片方の1つのみ
これ本当に正しいの、、、これ本当に間違ってるの
投稿情報: からくち | 2011年6 月11日 (土曜日) 午後 09時53分
ちょこっと変えると・・・
1/5+1/85 で、変な答えが出た・・・
割り算による誤差のため・・・
これを修正すると、103文字に。
ちょこっと変えなければ変な答えにならないし・・・
チェックプログラムもクリアしたことだし・・・
このまま黙っておこう・・・ ^^;
投稿情報: ni | 2011年6 月11日 (土曜日) 午後 11時47分
niさんのも結構微妙な綱渡りやってるみたいですねーー
それにしても、りすさんとジョー3とこの方たち参加してくれないのかな?
100回記念でにぎやかな方がいいのに^^
投稿情報: y sakuda | 2011年6 月12日 (日曜日) 午前 12時07分