09/08/17 17:57:46
自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L
名言集 その1
『アパッチ砲はワシが作った』
URLリンク(jbbs.livedoor.jp)
自分の管理するしたらばで借りた掲示板にて
> 5062 :自動保守 ◆AOIMAD.NZM [] :2009/08/16(日) 00:46:29 ID:nQYgq9jg0
> そもそも、アパッチ砲っていうのは、私が指揮官になった時代に私の先輩たちが導入して
> 先輩たちが命名したもの、っていうかまぁ、そういう砲は今まで存在してないから
> 名前つけなくちゃいけないしw
>
> ってことで、使っているうちに広まった名前なので、それが正式名称になるんじゃないかと。
>
> URLリンク(www.paradisearmy.com)(俺の先輩が命名)
> URLリンク(www.paradisearmy.com)(俺が命名?)
※注 「アパッチ砲」の正式名称は「Apache Jmeter」で、もちろん自動焼人の先輩が作ったものではありません
----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
スレリンク(sec2chd板)
にて自動焼人 ★までご連絡ください
542:デフォルトの名無しさん
09/11/09 05:02:04
平方根を求めるアルゴリズム下さい
小数点演算を使用せず整数のまま演算し、
実数の平方根を超えない最大の整数を返すものとします
543:デフォルトの名無しさん
09/11/09 06:29:51
isqrt.c でググれ
544:デフォルトの名無しさん
09/11/09 08:42:18
つ 「ニュートン法」
545:デフォルトの名無しさん
09/11/09 12:09:28
1から元の値の間で二分法が簡単かな
546:デフォルトの名無しさん
09/11/09 20:55:55
int sqr(int n){int i=0;for(;i*i<=n;i++);return i-1;}
547:デフォルトの名無しさん
09/11/11 09:09:02
f(x)=x^2-n
f'(x)=2x
2a(x-a)+(a^2-n)=0
x=(n+a^2)/2a
>>> def x(n, a):
... b = (n+a*a)/(2.0*a)
... if b - a > -0.000000001 and b - a < 0.000000001:
... print b
... else:
... x(n, b)
...
>>> x(2, 1)
1.41421356237
548:デフォルトの名無しさん
09/11/11 09:43:10
小数使うなって書かれた上に、>>546 がそれ用の答え書いてくれてるのに
なんでニュートン方の実装例出してるの?
549:デフォルトの名無しさん
09/11/11 10:39:58
>>546 を「答え」とか
550:デフォルトの名無しさん
09/11/11 10:49:46
>>548
2の平方根が1とかって意味あんのか?
551:デフォルトの名無しさん
09/11/12 01:38:30
以下のような多次元項の因数分解を近似的に行うプログラムを書きたいのですが…、
最小自乗などなら解けるかなと思ったのですが…、どなたかご教授願います。
問題:
ΣCkX^k→Σ(AkXk-Bk)^k+e
すべて実数スカラ値。kの範囲は0<k<n。eは誤差値。^kはk乗の意。
左辺が与えられた時に、eを最小にするAnとBnを求める。
552:551
09/11/12 01:58:02
訂正です
ΣCkX^k→Σ(AkXk-Bk)^k+e
ではなくて
Σ(CkX^k)→Π(AkXk-Bk)^k+e
でした
553:デフォルトの名無しさん
09/11/12 12:50:07
Σ(CkX^k)→Π(AkX-Bk)^k+e
でなく?
554:551
09/11/12 13:38:17
Σ(CkX^k)→Π(AkX-Bk)^k+e です
555:デフォルトの名無しさん
09/11/13 10:02:20
>>546
それバグってルし
556:デフォルトの名無しさん
09/11/13 12:28:15
小数使うなって書かれた上に、>>546 がそれ用の答え書いてくれてるのに
なんでニュートン方の実装例出してるの?
557:デフォルトの名無しさん
09/11/13 12:42:55
>>556
2の平方根が1とかって意味あんのか?
558:デフォルトの名無しさん
09/11/14 23:12:53
>>557
なんで無いと思うんだ?
559:デフォルトの名無しさん
09/11/15 09:52:32
>>558
>>548-550
>>556-557
560:デフォルトの名無しさん
09/11/15 10:20:04
>>557
いや、そういう仕様だし。
これを平方根だというから誤解が生じるんであって、
「(int)floor(sqrt(x)) の値を float 介さず求める関数を作れ」でしょ。
561:デフォルトの名無しさん
09/11/16 23:15:10
単に開平法をさせたいだけじゃないの?
562:デフォルトの名無しさん
09/11/16 23:33:04
いやいや、ちゃんと >>542 読めよ。
「実数の平方根を超えない最大の整数を返すものとします」
563:デフォルトの名無しさん
09/11/17 23:52:09
高速 sqrt 整数 でググったらおもしろいの見つけた
整数なら各ビット毎に収束させる事で必要ビット数の半分のループ(32bitなら16)で解がでるのね
564:デフォルトの名無しさん
09/11/18 02:02:43
>>563
事実上>>545の亜種のような気がするが…
565:デフォルトの名無しさん
09/11/18 12:28:24
亜種と言うかまんま
566:デフォルトの名無しさん
09/11/18 12:43:06
unsigned int isqrt(unsigned int x)
{
unsigned int s, t;
if (x == 0) return 0;
s = 1; t = x;
while (s < t) { s <<= 1; t >>= 1; }
do {
t = s;
s = (x / s + s) >> 1;
} while (s < t);
return t;
}