[過去ログ] C++相談室 part156 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
696(5): 2021/07/12(月)10:11 ID:5HFqt1x5(3/3) AAS
>>693
y の小数部分が 0.9999999998 とかだと失敗しますよね?
iy = round(y) として abs(y - iy) < 1e-12 で判定しようかなと思います
714(1): 2021/07/12(月)22:51 ID:MoTlox7M(1) AAS
数値計算としては>>693,696がもっとも正統派の方法だよ
素直に累乗根を求めて誤差を評価して判定する
わざわざトリッキーな手段を採る必要性は無い
720(1): 2021/07/13(火)00:31 ID:u8F7J+OY(2/10) AAS
>>701
質問者自身が int にキャストとか round とか言ってるんだからどう見ても自然数の話でしょ
バカ
>>702
> n乗根の候補を求めたあと整数領域でn乗してもいいし
> 元の数を(割り切れる判別をしながら)候補で割っていってもいいし
なんで今更質問者(>>696)より筋の悪い方法を提案するの?笑
> 与えられた整数が32bitの範囲であれば、2分検索やリニア検索してもいい
これしきの問題で何を探索することがあるんだよバァ〜〜〜カ
つーかわざわざ二分探索とかするならそれこそ桁数めっちゃ多いときの方が有効だろ
省1
735: 2021/07/13(火)02:42 ID:2F1zpnof(3/3) AAS
>>734
round という語が出た回数とその場所も調べたまえ
指摘するまでもなく質問者は>>691,696にして早々それに気付いている
736: 2021/07/13(火)03:09 ID:itar1i0e(1/2) AAS
そもそも>>696の処理であれば切り捨て誤差は発生しない
round() と abs() の2段構えで対策はされてるよ
0.5 を加算するよりずっとスマートな記述だな
746: 2021/07/13(火)13:03 ID:u8F7J+OY(8/10) AAS
>>745
それ、キミの言ってる32〜64bitの範囲だと尚更>>696と比べたときにメリットないよね???笑笑笑
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.041s