« 優秀者発表 第99回 鏡 (数字を作る その9) | メイン | 第100回 分数の足し算問題 解答例 »

2011年6 月 6日 (月曜日)

コメント

y sakuda

>やってみましたが、糸口が見つかりませんね。。
ありゃ、minmaxさんらしくないな^^;

jyo3

>やってみましたが、糸口が見つかりませんね。。
信じられない、、、、、

jyo3

>やってみましたが、糸口が見つかりませんね。。
もしかしたら、、、
凄いこと、、、、、
・・・・・・・・・・・
どなたもやらない、、、・・・・・・
そんな手法を、、、、、探っておられる??・・・でしょうねーーーー
・・・・・・・・・と、、思うしかない。。

jyo3

いまごろ、、、、・・・ですが、、、、


実は、、、、
1)
=1/RANDBETWEEN(1,100)+1/RANDBETWEEN(1,100)
で、出題するか、、、、
2)
=1/RANDBETWEEN(1,10)+1/RANDBETWEEN(1,10)
が、よいか、、、、迷った。

2)のほうが、、、いろいろあったかなーーーー
・・・・・・・・・・・・・・・・・
ごまかし技が、、、、・・・・・・

min

今日やってみて一応出来たことは出来ましたが、
チェックを通らない。。
既約分数じゃないって怒られますぅ。。

y sakuda

>既約分数じゃないって怒られますぅ。。
どういうケースですか?
どうも、ジョー3のケース見たいにチェックプログラムの方の問題もありそうですが?

min

>48/47
でも怒られますがそれを回避して
もう一回チャレンジしても
次は
70分の9でも怒られますぅ

y sakuda

とりあえず、既約分数のチェックをはずすなら↓をお使いください
(既約分数のチェックをコメントアウトしてあります)

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

min

あらsakudaさんすみません改良版作ってくれたんですね。
その前に長いけどくまぷーさんに解答送ってしまいました。
すみません。

む印

全く破ちゃ滅ちゃな解答かと思いますが
参加したさに答案を送ってしまいました、、、

あしからず、、、ご容赦を・・・・。

min

む印さん
やっと来ましたね

からくち

>全く破ちゃ滅ちゃな解答かと思いますが
どんな式であろうと正解は正解
わたしが送った回答は不正解の式
ただのお遊び式です、、、ごめんなさい

くまぷー

Sakudaさん、いちぎょうさん、ジョー3さん
minさん、む印さんから解答例を頂きました。

これで7人

そして私を加えると8人・・・

りすさん、そしてジョー3さんのところの方は
どうしたんだろう?

今夜いっぱい待ちますよ。
まだの方、まだ大丈夫ですよ~ (^O^)/

min

一応10文字減りました
が、短くない。。

からくち

何故に、不正解の式を自身の回答としたのか、、、その1つ

仮に2つの式をA・Bとして
分子A=分子B、、、TRUE
分母A=分母B、、、TRUE
(因みにこの4つの値は全て小数点以下15桁まで表示している)
しかし
分子A/分母A=分子B/分母B、、、FALSE、うう~ん

つまり、、、式Aで得た4つの値=式Bで得た4つの値
ですが、、、正しい?値は片方の1つのみ
これ本当に正しいの、、、これ本当に間違ってるの

ni

ちょこっと変えると・・・
1/5+1/85 で、変な答えが出た・・・
割り算による誤差のため・・・
これを修正すると、103文字に。

ちょこっと変えなければ変な答えにならないし・・・
チェックプログラムもクリアしたことだし・・・
このまま黙っておこう・・・ ^^;

y sakuda

niさんのも結構微妙な綱渡りやってるみたいですねーー
それにしても、りすさんとジョー3とこの方たち参加してくれないのかな?
100回記念でにぎやかな方がいいのに^^

コメントの確認

コメントのプレビュー

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

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

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

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

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

処理中...

コメントを投稿

(URLは自動的にリンクされます。)

アカウント情報

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

処理中...

2025年1 月

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

メールを送信