- 1投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 01時51分36秒
- 文系だし大学出てからまったくやってないので
- 2投稿者:1 投稿日:2004年11月29日(月) 01時52分43秒
- ちょっと僕なりにやってみたものを貼り付けます。
間違ってないか見てください。
自信ないです。
- 3投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 01時52分52秒
- IQ120の力で何とかしてやろう
- 4投稿者:1 投稿日:2004年11月29日(月) 01時53分24秒
- ある外貨の両替取引(日本円→アメリカドル)について下記のように定義する。
レート r
※小数点以下2桁までの正の数で公示される。
例:USD1 = JPY102.60
※100倍すると自然数になることに留意すること。
支払額 Y
※日本円につき自然数とする。
例:10,000円
外貨額 F
※国内では外貨コインを扱わないので自然数とする。
- 5投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 01時53分29秒
- 数学できんで、何が悪いとや〜〜〜〜!!!
- 6投稿者:1 投稿日:2004年11月29日(月) 01時54分16秒
外貨両替において、取引が成立するためには以下の条件を満たす必要がある。
Fr < Y + 1
※Fr ≦ Y ではない点に注意。
代金計算時、日本円の小数点以下は切り捨てられるため。
例: Fr = 10,000.12円の場合、10,000円の予算で購入が可能。
- 7投稿者:1 投稿日:2004年11月29日(月) 01時55分10秒
- 連貼りすいませんね
今夜だけ堪忍して
- 8投稿者:1 投稿日:2004年11月29日(月) 01時56分11秒
- 両辺を100倍すると、
100Fr < 100Y +100
100rは整数なので両辺とも整数であるため、
100Fr ≦ ( 100Y + 100 ) - 1
= 100Y + 99
- 9投稿者:1 投稿日:2004年11月29日(月) 01時57分09秒
よって F ≦ ( 100Y + 99 ) / 100r
= ( Y + 0.99 ) / r
Fは自然数なので、条件下で最大となるFは、
max( F ) = | ( Y + 0.99 ) / r |
にて求められる。
- 10投稿者:1 投稿日:2004年11月29日(月) 01時58分51秒
- 、、どうでしょうか、
どこか間違ってるところとか
強引な表記とかないでしょうか
10年ぶりの数学?なので不安でしょうがないです
- 11投稿者:1 投稿日:2004年11月29日(月) 02時01分15秒
- SEもどきの仕事やってた事あるのに
なんでこんな計算でわかんなくなるのかもうトホホです
- 12投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 02時01分59秒
- あってるんじゃないの?
眠くてよくわかんないけど
- 13投稿者:1 投稿日:2004年11月29日(月) 02時03分55秒
- いいんでしょうかね、
これでロジック組んじゃって。。
- 14投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 02時05分05秒
- >>8
のところがなんかよくわかんない
- 15投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 02時08分09秒
- 8は何をしたいんでしょうか
- 16投稿者:からす 投稿日:2004年11月29日(月) 02時09分03秒
- 簡単にいえば、小数点のある計算は
コンピュータでは誤差がでやすい。ってこと。
むづかしくいえば、小数点データを2進であつかう世界では
変数の型によって、分解能の限界があるため
計算結果は、その分解能であらわせるところに収束してしまう。
このため、0になる計算が0にならなくなったり
1になる計算が1にならなくなる。
それをさけるためには、少数を使わないようにプログラムを組む
そのようにして計算した結果が少数となる場合は
自分で結果を必要な桁数でまるめる。などする。
作ったプログラムは、きちんとテストすること。
- 17投稿者:1 投稿日:2004年11月29日(月) 02時11分59秒
- >>16
そう、そんなあたりで悩んでるんですよ
もう発狂しそう
- 18投稿者:1 投稿日:2004年11月29日(月) 02時13分55秒
- 8はその、
この計算のツボっていうか
やっとたどり着いた何かっていうか
自分でもよくわからないみたいな
- 19投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 02時15分12秒
- いや、だから何のために
- 20投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 02時15分27秒
- まず目的を書いてほしいなあ
- 21投稿者:1 投稿日:2004年11月29日(月) 02時16分55秒
- 1万円で何ドルまで両替できるか計算したいだけなんです
すいませんイッパイイッパイで
- 22投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 02時19分01秒
- フロート型じゃ駄目なの?
- 23投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 02時19分05秒
- 俺なら毎回電卓使う
- 24投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 02時20分54秒
- そういう両替計算の機能ついた電卓あるよね。
- 25投稿者:1 投稿日:2004年11月29日(月) 02時22分11秒
- あぁ、
微妙に何かが伝え切れてない
どう説明すれば伝えられるのか
- 26投稿者:元バイク便ライダー 投稿日:2004年11月29日(月) 02時22分21秒
- >Fは自然数なので、条件下で最大となるFは、
>max( F ) = | ( Y + 0.99 ) / r |
>にて求められる。
Y∈N , r > 0が前提なんだから絶対値は不要じゃないの?
あと、
Y <= Fr < Y + 1 で括って、それぞれの不等号について解いたほうが
結論部分で分かりやすくなると思う
- 27投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 02時24分25秒
- 物事を順序よく筋道立てて伝えられないのが文系なのか
- 28投稿者:1 投稿日:2004年11月29日(月) 02時27分11秒
- >>26
(Y+0.99)/rが自然数にはならないので絶対値、
あ、いや、||って絶対値って意味だったっけ?
整数化、インテジャーって
どう書くんだったっけ
- 29投稿者:牛丼 投稿日:2004年11月29日(月) 02時28分52秒
両替手数料は掛からないのだろうか。
・・・つーか、掛からないなら単なる割り算1発じゃないの?
- 30投稿者:1 投稿日:2004年11月29日(月) 02時32分02秒
- レートに手数料は含まれてるって事にしてください
>>26
確かに||は絶対値の記号でした
間違いが1つみつかりました
ありがとう
- 31投稿者:1 投稿日:2004年11月29日(月) 02時34分02秒
- 数学的には
条件下におけるF(∈N)の最大値は
( ( Y + 0.99 ) / r ) + 1 の整数部分
とか書くとか
- 32投稿者:元バイク便ライダー 投稿日:2004年11月29日(月) 02時34分34秒
- ハンドル間違えた
- 33投稿者:1 投稿日:2004年11月29日(月) 02時37分19秒
- >>31
あ、いや1は私なんですが、
整数部分を求める記号ってなかったでしたっけ?
なかったっけなー
幻だったのかなー
- 34投稿者:1 投稿日:2004年11月29日(月) 02時38分30秒
- INT(x)なんだけど
数学でなかったっけなー
- 35投稿者:元バイク便ライダー 投稿日:2004年11月29日(月) 02時39分34秒
- あ、ガウス記号か[]
- 36投稿者:1 投稿日:2004年11月29日(月) 02時40分48秒
- それだ!それだよ!
どうかくの?
- 37投稿者:1 投稿日:2004年11月29日(月) 02時42分05秒
- http://www.google.co.jp/search?q=%83K%83E%83X%8BL%8D%86&ie=SJIS&hl=ja
助かりました
無学がばれずにすみそうです
ありがとう
- 38投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 02時42分45秒
- int(F*r)<=Yなる最大の自然数Fを求めるんですか?
- 39投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 02時47分45秒
- いや、
Fr > Y でもいけちゃうケースがあるのがこわいところなんだよ
それをもっとちゃんと伝わるようにしないと・・
>>6のところ、もっとちゃんと書かないとダメか
- 40投稿者:1 投稿日:2004年11月29日(月) 02時50分51秒
- 39は僕です
もっとちゃんと書いてまた来ます
すこし改善されました
ありがとう>all
- 41投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 02時56分07秒
- なにげに難問だな
- 42投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 02時56分39秒
- テキトーに考えると[Y/r]求めるだけで終わりそうな気がするんだが
- 43投稿者:元バイク便ライダー 投稿日:2004年11月29日(月) 02時58分11秒
- {Y/n]まくら
- 44投稿者:1 投稿日:2004年11月29日(月) 03時00分20秒
- 1ドル102円52銭の場合、
10ドル買うのに必要な代金は1025円ですよね
- 45投稿者:1 投稿日:2004年11月29日(月) 03時02分35秒
- では、
1025円で何ドル買えるかというと、
1025/102.52=9.xxxxxx
なんですが、
10ドル買えるんですよ
計算上。
- 46投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 03時02分41秒
- [Y/r]で出るじゃん
- 47投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 03時03分18秒
- ああごめんだめだね
- 48投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 03時04分07秒
- あ、そうか、
切り捨てがあるんだな
- 49投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 03時05分08秒
- どうせプログラムでやるならY/rの上下の自然数二つ調べて
条件を満たす大きいほうの数字取れば細かいこと考える必要はない
- 50投稿者:1 投稿日:2004年11月29日(月) 03時06分02秒
- この例を冒頭に書くべきだった
ほんとうにすみません
- 51投稿者:1 投稿日:2004年11月29日(月) 03時08分29秒
- >>49
そう、そうなんですよ
今までそうやって求めてたんです
でも不可解なコードになって
説明に四苦八苦してたんですわー
- 52投稿者:からす 投稿日:2004年11月29日(月) 03時09分20秒
- int((1025+1)/102.52)
では?
- 53投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 03時19分30秒
- それだと10252円で計算が狂うから>>8なんだろ
- 54投稿者:1 投稿日:2004年11月29日(月) 03時19分58秒
- >>52
そのロジックだと、
1万円の買い物のとき1万1円頂戴する計算になってしまうケースがあるみたいなんです
1円オーバーするケースがあります
わかりづらいもんいきなり貼ってすいませんでしたね
- 55投稿者:1 投稿日:2004年11月29日(月) 03時22分29秒
- 明日仕事なんで寝ます
こんどは万人が納得できる証明を書いて持ってきます
ほんとうにありがとうございました
- 56投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 03時32分05秒
- 実例書いてから説明すれば一発だと思います
よくわかりました
- 57投稿者:からす 投稿日:2004年11月29日(月) 03時43分45秒
- とりあえず。エクセルにどばっと表をだしてみた。
Sub hyou()
Dim d As Double
Dim r As Double
Dim y As Double
Dim x As Double
Dim x10 As Double
Dim f As Single
Dim f100 As Single
Dim r1 As Long
d = 0.01
y = 1025
x = 0.99
x10 = 99
ri = 1
For r = 80 * 100 To 120 * 100 Step d * 100
f = Int((y + x) / (r / 100))
f100 = Int((100 * y + x10) / (100 * r / 100))
If f - f100 <> 0 Then Stop
If fr >= y + 1 Then Stop
Cells(ri, 1).Resize(1, 2).Value = Array(f, r / 100)
ri = ri + 1
Next
End Sub
- 58投稿者:からす 投稿日:2004年11月29日(月) 03時49分43秒
- そのへんは
こんな感じだ
10 102.48
10 102.49
10 102.5
10 102.51
10 102.52
10 102.53
10 102.54
10 102.55
10 102.56
10 102.57
10 102.58
10 102.59
9 102.6
- 59投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 03時54分53秒
- 何的外れなことをやってるんだ
- 60投稿者:元バイク便ライダー 投稿日:2004年11月29日(月) 04時33分41秒
- 直感とか解析と数学的な証明は全く別物だと思うな
- 61投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 09時48分12秒
- これ、なんか名前のある公式(定理)ですか?
当然そうだろうと思って使ってるんですが・・・
N1 , N2 ∈ N とすると N1 < N2 の時 N1 ≦ N2 - 1
- 62投稿者:1 投稿日:2004年11月29日(月) 09時49分05秒
- あ、61は僕です
- 63投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 10時10分05秒
- 自然数だから当たり前としか思えない
- 64投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 10時11分05秒
- そろばんでいいじゃん
- 65投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 10時19分03秒
- 全部読んでみたが多分浮動小数点の誤差でなやんでいるのだと思う
ロジックは当たっているが結果がちがうんだろう。にやりって感じ
- 66投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 10時53分41秒
- 【解決】
細かいこと気にするな!!禿げるぞ!!!
- 67投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月29日(月) 10時55分39秒
- 10進法であつかえるCPUとか開発されないの?
- 68投稿者:まりぃ@ 投稿日:2004年11月29日(月) 10時55分47秒 ID:fuEeRCpL
- 全裸で新宿駅前を走れば嫌なことも悲しいことも面倒な事も
ぜ〜んぶ消え去りますよ。
貴方の未来も消え去りますが
- 69投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年11月30日(火) 12時38分23秒
- 解決したかな
- 70投稿者:元バイク便ライダー 投稿日:2004年11月30日(火) 13時06分47秒
- >>61
定理じゃないが特に補足は不要だと思う
- 71投稿者:1 投稿日:2004年12月01日(水) 01時24分33秒
- 何とか上司を納得させ、コードを書き換える事が出来ました。
ご要望があれば上司に出した説明書も貼ります
ありがとうございました
- 72投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年12月01日(水) 01時29分43秒
- 夜中で寝ぼけ気味のカロビ住人を使って
上司に対する説明をシミュレートしていたのですね
つまり上司は寝ぼけていると
- 73投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年12月01日(水) 01時31分20秒
- だからシュミレーションじゃないと何度言ったらわかるんだ
- 74投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年12月01日(水) 01時33分46秒
- 誰に言ってるんだ
- 75投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年12月01日(水) 01時40分54秒
- 全部読んだが結構面白かった
- 76投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年12月01日(水) 01時53分01秒
- Fは
F<(Y+1)/r
を満たす最大の自然数
eps=十分小さい数
(Y+1)/r-[(Y+1)/r]<=epsのとき
F=[(Y+1)/r]-1
それ以外のとき
F=[(Y+1)/r]
- 77投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年12月01日(水) 02時04分01秒
- >>76 次はこっちを助けてやれ
http://amezor.on.arena.ne.jp/lobby/041201014047.html
- 78投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年12月01日(水) 02時06分59秒
- >>76
1はIF文を排除するために苦労してんのに
場合分け入れたら元の木阿弥やん
- 79投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2004年12月01日(水) 03時03分00秒
- >>49-51のような簡単だが不可解なコードを変えたかっただけで
場合わけをなくしたいわけじゃないのでは?