トップページ⇒tech
1001コメント324KB

プログラミングの為の数学と算数

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
数学(まあ算数の範囲も含めよう)的な問題のTIPS/Q&Aスレです

個別にあるとすぐに下がってしまうのでこの領域の話題をまとめましょう

関連スレ>>2
0002デフォルトの名無しさんNGNG
フーリエ変換について教えてください
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=996929748

交差判定アルゴリズム
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=996157997

サウンドプログラミング
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=996171508

最速の素数判定アルゴリズム 
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=993457354

公開鍵の高速な生成
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=991992977
00031NGNG
早速だけど、
非力なCPUで対数を計算させたいのです。
log(a)を求めるのに、a=b*2^n として
bを0.5〜の範囲に調整し
x = 1-b として(xは0〜0.5の範囲)
ln(b) = -(x+x^2/2+x^3/3+x^3/4+x^5/5+x^6/6+x^7/7)

さらに高速なのは
x=(1-b)/(1+b) として(xは0〜0.333の範囲)
ln(b) = -2*(x+x^3/3+x^5/5+x^7/7+x^7/9)
log(b) =-0.86859*(x+x^3/3+x^5/5+x^7/7+x^7/9)

というのは考えました。
これでまあなんとかなりそうだけど、

c=log(a)が求まっている時に aとそう違わないa'に対して
c'=log(a') をもっと効率的に求める方法は無いでしょうか?

つまりニュートン法みたいに、ある計算をすると精度が
少し上がるような計算方法は無いでしょうか?

ニュートン法をそのまま適用するとexp(x)を計算しなけりゃ
いけないようなのですが、これを巧く消す方法が無いかな?
00041NGNG
具体的な応用は、いわゆるスペアナみたいなものなんで、
精度は少数以下6ビット程度です。
 (だから前回の結果とはそんなに極端には変わりません)

最悪テーブルを引く方法でもいいのですが、メモリ
も極小なので巧い計算方法があればという所なんです。
0005デフォルトの名無しさんNGNG
俺は差し迫って必要ってわけでもないので
ゆっくり勉強するのだ。
大学受験もあるしな。
0006デフォルトの名無しさんNGNG
>>3
除算がそれほど苦じゃないなら 0.5〜1にした後で
√0.5以下なら√0.5で割ってから級数展開すれば収束が早くなるよ
後でlog(√0.5)を足せばいい。

あるいは平方根(lこれはニュートン法3回程度で十分)出してから
級数展開してもいいし

テーブルを作る方法でも、荒いテーブルを作っておいて
補間する方法でいいんじゃないの?
log(x)の傾きは1/xだから、これで補間してもそれなりの精度出るでしょ。
00071NGNG
>>6 レスありがとうございます。

色々考えてみて、やっぱり逐次的に精度が上がる方法は難しいようです。
テーブルを補間する方法で考えてみます
00081NGNG
CPUは除算命令は持ってるけど24クロックかかるという奴なんで除算も苦しいです
0009デフォルトの名無しさんNGNG
前から気になってた事があるんだけど、

ニュートン法で逆数を計算するって
ttp://member.nifty.ne.jp/kaz1-iwata/divsqrt.htm

Xi+1 = Xi * (2 - b*Xi)
これで、実際計算は出来るんだけど、これってどうやって導いたの?

x*b=1 から x*b-1=0とおいて 微分して b
x-f(x)/f'(x) = x- (x*b-1)/b = x-x+1/b =1/b になっちゃうんだけど?
00101NGNG
log(a)を求める方法ですが、a=b*2^n として
bを0.5〜1の範囲に調整し
log(a)= -0.933*b*b + 2.775*b -1.8437 + log(2)*n

で求める精度が出ました

>>9
>x*b=1
じゃなくて
b=1/x から b-1/x としてやったらどうでしょ?
00119NGNG
>>10 うわぁ 恥じぃ そういう事か。。。。
0012デフォルトの名無しさんNGNG
こういう話題って数学板が参考になるかも
0013デフォルトの名無しさんNGNG
最近のプログラムって数学使わないのかな?
0014デフォルトの名無しさんNGNG
IE6でMathMLに対応していれば、数学の教科書作りたいと思っているけど、
その辺知ってる?
0015コメント無しさんNGNG
>>13
昔は使ってたのか?
プログラム技術は数学使うけどプログラム自体には数学使わないような気が。
0016デフォルトの名無しさんNGNG
IE6ではMathML対応してないんじゃないかなぁ。
0017デフォルトの名無しさんNGNG
MathMLに対応してるのはAyamaくらいでは。
0018デフォルトの名無しさんNGNG
age
0019デフォルトの名無しさんNGNG
>>15
ド・モルガンの法則とか、その程度かねえ。
0020デフォルトの名無しさんNGNG
ラ・セーヌの☆
0021デフォルトの名無しさんNGNG
DSPのプログラムするのに、数式とか弄る方だと思うんだが
mathCadとか使うからもはや自力じゃ何にも解けないな
因数分解とか2次方程式の解とかみんなオマカセさ

解いて欲しい問題あったら出してみてよ
0022双六野郎NGNG
双六で、上がりまでnマスの位置に居るとき、何回ダイスを振ればあがれるか?
ぴったり上がりにはいらなくても(行き過ぎても)ok。ダイスの目は1〜6。
n=1 なら 1.000000000 回
n=2 なら 1.666666666.. 回
n=50なら14.761904780.. 回
帰納的解法で解いたけど、一発解の出し方がわからない。
綺麗な一発解があるはずなんだけど...どお?
0023双六野郎NGNG
あ、何でプログラミングの為の数学かというと、私が
帰納的解法をプログラムで使っているからです。
そのプログラムは、フリーの双六ゲームです。とほほ..
0024デフォルトの名無しさんNGNG
ひさびさに面白そうなお題だね。
ちょっと考えてみよう
0025デフォルトの名無しさんNGNG
n=2で1.66666回?
0026デフォルトの名無しさんNGNG
E(x<=0)=0 として、
E(n) = 1 + 1/6*(E(n-1)+E(n-2)+E(n-3)+E(n-4)+E(n-5)+E(n-6))
になったりする?
0027双六野郎NGNG
>25
失礼。
n=2で1.16666..の間違いでした。
>26
そのとおり。それが「帰納的」解法だね。
(E(n)を求めるためにはE(n-1)が必要)
int goal(n)
{
int i;
double cast[51];
for(i=0;i<n;i++)
cast[i]=0;
for(i=1;i<n;i++){
for(j=i-1;j>=0;j--){
if((i-j)>6) break;
cast[i]+=cast[j];
}
cast[i]/=6;
cast[i]++;
}
return cast[i];
}
どう?美しくないでしょ?
さて、一発解は有るかな?
0028デフォルトの名無しさんNGNG
単に期待値 3.5 で割るだけじゃだめなの? >>27
50/3.5 で大体 14 ぐらいだけど、

もしかして罠はってる?
0029双六野郎NGNG
>27 (自己レス)
ありゃ?関数がint型に。jも宣言してない。おまけに返すのは(引数-1)の解だ。大変失礼をば。
>28
n→∞ならE(n)はn/3.5に収束しますね。でも、n=1の場合は、明らかにE(n)=1/3.5じゃ無いですよね。
サイの目は下限の有る離散数で、おまけに上限まで有るからやっかいですなぁ。
003026NGNG
E(n+1)=7*E(n)/6 - E(n-6)/6
だから(E(n+1)-E(n)を計算)
プログラムはもう少し簡単になるのではないでしょうか?
0031双六野郎NGNG
>30
おお。シンプルですね。素晴らしい。解けそうな予感。

ちょっと解説。
私の言ってる「一発解」を説明しますと、
例えば、E(O)=0 かつ E(n)=E(n)+1
の場合、E(n)=n ですよね。
このように、E(n)を求めるのに、E(n-i)
を必要としないやりかたは無いものかと..
003228NGNG
なるほどわかった、バカだな>自分
0033双六野郎NGNG
訂正
X : E(n)=E(n)+1
O : E(n+1)=E(n)+1
また、一発解があったとして、実際にコーディングする際には、pow(6,n-1)が
入ってきそう。doubleでも無理かな。コーディング注意ですね。
003426NGNG
乱暴だが、
E(n+1)=r * E(n) (1<r<7/6)
のような近似式にして、等比級数を出してしまうとか。
0035デフォルトの名無しさんNGNG
ねえねえ、夜中の通販番組で売っている、

「アーサー・ベンジャミン教授のMath Magics」

って買った人いる?あれってなにかのアルゴリズムに役立つのでは
なかろうか。(ネタ半分、マジ半分)。

外出だったらすまんこ。

(Math Magicsとは、「ある数の全部の桁を足して3の倍数になったら
その数は3の倍数である」みたいな知識をたくさん集めて、暗算を早くやろう、
という教材です。)
00361NGNG
>>22
チラっと見た感じで、近似式は

n /3.5 + 10/21 + sin(2*π*n/6+φ)/EXP(a*n+b)

n=50程度迄で1割程度の精度の近似係数は
φ=0
a=1
b=0
sin,の位相や指数の係数を調整すればもっと精度上がると思う
00371NGNG
>>35

プログラマ向け?

1)偶数か奇数かは LSBを見よ
2) a MOD 2^n は a AND 2^n-1 で計算せよ
3) 3で割った余りは a=(a>>2+a & 3) を繰り返せ
4) 7で割った余りは a=(a>>3+a & 7) を繰り返せ
5) a*2^n は a <<n で計算せよ
6) a/2^n は a >>n で計算せよ

みたいな感じかなあ? もはや不要なテクニックだろうけどね
00381NGNG

正確に求めるには Z=1/z として Z変換

        1
--------------------------
1-(Z+Z^2+Z^3+Z^4+Z^5+Z6)/6

を解けばよいのかな?
0039デフォルトの名無しさんNGNG
>>37
CなのかBasicなのかわからん(w
00401NGNG
38は間違いだね
>E(n+1)=7*E(n)/6 - E(n-6)/6
だから 1/(1-7/6Z+Z/6) かな?

>>39 ごめん
0041双六野郎NGNG
22です。
おお、参考になる。みなさん有難う。
>>36
sinが入るんですか。
振動はしないと思っていたので意外。フーリエ変換の結果でしょうか?
たしかに、n={7,13,19,...}で特異な点が出現しますなあ。
収束E(n)/nは収束するから、expが入るのはなんとなく理解。
00421NGNG
>>41 フーリエ変換はしてないけど、Excelで表を書くと振動が見えたし
   とりあえずZ変換に出来そうだから、線形だと思う。
  だから、振動項と指数減衰項があれば良い近似が出来そうというのが直感

 φ=0 は間違いで 90°つまりcos(2πn/6) にしてみて

 オフセットは 10/21でいいと思うけど検算してね
00431NGNG
自分で検算しました。

n/3.5+10/21+ sin(2*M_PI/24*(n*4+2)) /exp(n-1)*0.238095
n 誤差
1 +0
2 -0.07
3 -0.04
4 +0.02
5 +0.05
6 +0.03
7 -0.05
8 -0.01
以下どんどん誤差は小さくなります。
これで実用的には十分だと思います
00441NGNG
さらに、係数を調整してもあまり精度が向上しません。

もっと精度が必要なら
n/3.5+10/21+ cos(2*M_PI*(n-1)/6)/exp((n-1)*A)*B + sin(2*M_PI*(n-1)/6)/exp((n-1)*C)*D

としてA,B,C,Dの係数を調整すると良いと思います


近似式がこういう格好をしてるので、正確な解は簡単な表現では出来ないように思います
0045双六野郎NGNG
1さんへ。感謝です。
なるほど、私には十分な精度です。
厳密解がなさそう と解ったこともおおきな収穫でした。
2chって素晴らしい。
004626NGNG
数学板で聞いてみたらあっさり答えを出してくれた。
特性方程式の一般化みたいなことをやるみたいだ。

-----
E↑(n) = [E(n), E(n-1), E(n-2), E(n-3), E(n-4), E(n-5), E(n-6)]
と置くと、
E↑(n+1) = A・E(n)
だから
E↑(n) = A^(n-1)・E(1)

Aは7×7の行列で、
A11 = 7/6, A17 = -1/6
A21 = A32 = A43 = A54 = A65 = A76 = 1
それ以外の要素は0。

Aのn乗は自力で計算してね。
-----
Aのn乗はO(log n)の計算で出来るし、
疎な行列なのでうまくやれば軽いコードになると思う。
0047双六野郎NGNG
>46
美しいですね。
要素を見ると正解の予感がするんですが、
"↑"の記号の意味を知らない自分が悲しい。
修行してきます。
004826NGNG
縦のベクトルです。
あ、
E↑(n+1) = A・E↑(n)
E↑(n) = A^(n-1)・E↑(1)
の間違いかな。
004926NGNG
漸化式が線形だから、線形代数で解けるのは当たり前なのか…。
似たような問題は同様の行列をつくれば解けるということみたい…。
00501NGNG
たぶん ↑はベクトルにするという事でしょう
E(n-6)〜E(n) の 7個の要素を持つベクトルを E↑(n)と書くという事だと思います

この表現は、>>26 や >>30 の表現と意味は同じだけど
行列のn乗は 2進分解すれば高速に計算出来るという仕掛けが利用出来ると
いう事だと思います
0051双六野郎NGNG
>48
26さん、ご親切痛み入ります。
了解しました。7行1列の行列ということですね?
やってみます。
>うまくやれば軽いコードになると思う。
これは自信ありません。
27に書いたものに限りなく近くなりそうで恐い。
0052双六野郎NGNG
次から次へと、ここは知識の宝庫ですね。
"↑"が解ったら今度は"2進分解"が解らない。
googleで調べても論文のインデックスが1件だけ。
日本語じゃだめか。"binary partition"で良いですか?
00531NGNG
>>52
たとえば a^8 を計算するのにaに7回aを掛けるかわりに
a^2^2^2 と計算します
つまり a2=a*a a4=a2*a2 a^8=a4*a4 と3回に分けて計算します

つまり a^n のnを2進数で表現してべきを高速に計算する方法の事です
005426NGNG
例えば、
X^4=(X*X)*(X*X)=(X*X)^2
で掛け算が2回で済みますってことでしょう。
つまり、
A^(2^x)の値を計算しつつメモリに置いておけば
A^nのnが大きいときでも
A^(2^x1+2^x2+....)とすることにより
計算の手間が減るということです。
また、A^nは上三角行列に似た(1つ下にずれてる感じだが)
行列になります。
0055双六野郎NGNG
検索に疲れて帰ってきてみれば...
有難うございます。たしかに速いし、
有効桁あふれのチェックも兼ねられそう。
この2日間でずいぶん賢くなりました。
重ねて感謝。
00561NGNG
バイナリ法(2進分解)が使えるとしても、行列の2乗は結構重い処理です。
nが小さい時には、あまり意味が無いでしょう。

n>12 なら 近似式 n/3.5+10/21 で良い精度の答えになりますから

実用的には n<=12 で>>26の計算を使うかテーブルを引き
n>12 で n/3.5+10/21 を使うという方法が一番効率的かと思います
00571NGNG
12は見間違いでした

n E(n) 近似値 誤差 近似値= n/3.5+10/21
10 3.324  3.333  +0.010
11 3.613  3.619  +0.006
12 3.906  3.905  -0.002
13 4.197  4.190  -0.007
14 4.476  4.476  +0.000
15 4.760  4.762  +0.002
16 5.046  5.048  +0.001
17 5.333  5.333  +0.000
18 5.620  5.619  -0.001
19 5.905  5.905  -0.001
20 6.190  6.190  +0.000
0058デフォルトの名無しさんNGNG
プログラマだからどうしても真の値より不正確でも速い方法に走ってしまうんだね

なんか面白いな
0059双六野郎NGNG
最初は真の値の方に興味があったんですけどね。
近似は近似で奥が深い。sinの中身が6周期になる所なんか、宇宙の意思ですね。
ちなみに、私の作った双六ソフトは本双六と呼ばれる平安期に流行ったもので、
n は最大19です。その代り、15個の石をあやつるので、どっちが優勢かの判別が
難しい。そこで27に書いたような方法でインジケーターをつけました。
0060デフォルトの名無しさんNGNG
>59
n<20なら27の方法でサイズ・速度ともに十分だろうに。
(ただし、配列は6要素で循環再利用するのがエコロジカルよ。)
そこで一般解が気になるあたりが数学の魔力か。
006160NGNG
ところで、本双六ってなに?
石が15個って、自分の駒が15個ってこと?
0062デフォルトの名無しさんNGNG
これって >>30 の方法だと
double goal(int n)
{
int i;
double a[7]={1,0,};
double r=1;
for(i=1;i<n;i++)
 {int j=i%7;
  r+=(r-a[j])/6.0;
     a[j]=r;
 }
return r;
}
だから、真面目に計算しても十分だよな
0063デフォルトの名無しさんNGNG
>>61
これだ、バックギャモンっぽいものらしー
0064デフォルトの名無しさんNGNG
http://www.vector.co.jp/soft/win95/game/se081546.html
貼り忘れた、逝ってくる
0065デフォルトの名無しさんNGNG
もうひとつ。
vectorには>>63とこれの2つしかないな。
http://www.vector.co.jp/soft/win95/game/se202098.html
0066デフォルトの名無しさんNGNG
前回との差だけ前後させる方法でやったらどうだと思ったが
 doubleだと計算誤差で元に戻れない
  long doubleでも誤差1%チョット出るな

long double a[7];
int pg;
int n;
init() { pg=0;for(int i=0;i<7;i++)a[i]=0;a[0]=1;n=1;};
double inc(){
long double r=a[pg];
 pg=(pg+1) % 7;
 r+=(r-a[pg])/6.0; //E(n ) =E(n-1) + (E(n-1)-E(n-7))/6
 a[pg]=r;
 n++;
return r;
};
double dec(){
int pg0=pg;
long double r,r0=a[pg];
 pg=(pg+7-1) % 7;
 r=a[pg];
 a[pg0] = r*7-r0*6;
  n--;
  return r;
};

double goal(int m)
{ while(n>m)dec();
 while(n<m)inc();
 return a[pg];
}
0067デフォルトの名無しさんNGNG
× a[pg0] = r*7-r0*6 ;   これを
○ a[pg0] = r+(r-r0)*6.0;  こう修正すると1桁精度が上がった
0068デフォルトの名無しさんNGNG
>>66
n<50 なら10万回繰り返しても精度落ちなかったから何の事かと思ったけど
n=100付近から戻れなくなるんだね
0069デフォルトの名無しさんNGNG
>>66 ひとつの関数にまとめとこう

double goal(int m)
{
static long double a[7]={ 1 , 0 , };
static int pg=0;
static int n=1;
 while(n<m) {
 long double r=a[pg];
  pg=(pg+1) % 7;
  r= r+ (r-a[pg])/6.0;
  a[pg]=r;
  n++;
 }
 while(n>m){
 int pg0=pg;
 long double r;
  pg=(pg+7-1) % 7;
  r=a[pg];
  a[pg0] = r+(r-a[pg0])*6.0;
  n--;
 }
 return a[pg];
}
00701NGNG
精度の問題を解決するには、 E(n)の代わりに R(n)=E(n)-n/3.5-10/21 とすれ
ばいい。 こうすればR(n)はnに応じて値が小さくなり、浮動小数点なら情報落ち
が少ない。

すぐに判るように R(n)はE(n)と同じ式になる。
初期値だけを変更すればいい。


double goal(int m)
{
#define c0 (10.0/21.0)
static double a[7]={1.0-1.0/3.5-c0,0-c0,1.0/3.5-c0
,2.0/3.5-c0 ,3.0/3.5-c0 , 4.0/3.5-c0 , 5.0/3.5-c0};
static int pg=0;
static int n=1;
 while(n<m) {
 double r=a[pg];
  pg=(pg+7-1) % 7;
  r= r+ (r-a[pg])/6.0;
  n++;
  a[pg]=r ;
 }
 while(n>m){
 int pg0=pg;
  double r;
  pg=(pg+1) % 7;
  r=a[pg];
  a[pg0] = r+(r-a[pg0])*6.0;
  n--;
 }
 return a[pg]+(double)m/3.5+c0;
}
00711NGNG
何かネタない? age
0072デフォルトの名無しさんNGNG
age
0073デフォルトの名無しさんNGNG
メタボールと視線ベクトルとの交差判定の方法を知りたいんです。
たぶん3D系よりもこっちの方が向いてそうだと思うんですが。
0074デフォルトの名無しさんNGNG
>>73 専門スレ以外で聞く時は専門用語の解説をしておくのがエチケットだよ
0075デフォルトの名無しさんNGNG
>>73
そこまで行ったら数学板逝って訊いた方がいい。
0076デフォルトの名無しさんNGNG
>>74 ごめんなさい。
http://www.kaigisho.ne.jp/literacy/midic/data/k34/k3434.htm
こういうヤツです。あのターミネーターでも使われてたヤツ。

>>75

できるだけ高速に、無駄なく、精度良く調べたいんです。
http://www.eml.hiroshima-u.ac.jp/member/jrs/nis/javaexampl/metaj/metajav.html

ニュートン法じゃダメですよね・・・
0077デフォルトの名無しさんNGNG
>>76 それじゃまだ判らないよ

3次元上の点 Pn と その距離 Rn に応じた濃度 f(Rn)
Σ f(Rn) = C になる点の集合で表現するようだという事は判るけど

fはどんな関数? (1/Rn)^2 みたいな感じ?
0078デフォルトの名無しさんNGNG
>>77 アウアウア- 説明下手でごめんなさい。


基本的には、f(Rn)=^{def}(1/Rn)^2で結構です。
それ以外にもいろいろ種類はあります(直方体とか)が、
まずはメタボール球を表示したいと思いまして。

アルゴリズムにはレイトレーシングを使ってます。
0079デフォルトの名無しさんNGNG
各点ごとに 重みみたいなのが違うんですね?

Pn迄の距離 Rn から Σ (Wn/Rn^2) =1 になる点の集合って事ですね

ニュートン法でいいんじゃないでしょうか?
0080◆3DelPhIMNGNG
結局、精度のよい初期値をどう求めるかという問題じゃないかな
先に荒く多面体近似してそれとの交点を求めてからニュートン法かな
008178NGNG
あと、問題としては法線ベクトルがあるんです。
法線をどうにか取得しなきゃいけないのです。


やっぱりニュートン法ですかね・・・
008278NGNG
http://www.ceres.dti.ne.jp/~dycoon/program/meta/emeta.html

自己レス。求めてた物は見つかりました。
でも法線がわっかんないんだよなぁ。
0083デフォルトの名無しさんNGNG
78って・・・もしかして
0084デフォルトの名無しさんNGNG
>>83
はっきり言え
008578NGNG
>>83
何ですか?
008678NGNG
>>83

なぁ。なんなんだよ。
0087デフォルトの名無しさんNGNG
>>85-86
8分戻ってる!
とか一瞬思ってしまった。
0088デフォルトの名無しさんNGNG
>>87 ありがとう(笑
0089デフォルトの名無しさんNGNG
http://cheese.2ch.net/test/read.cgi?bbs=math&key=998375037&ls=50
見て
0090デフォルトの名無しさんNGNG
Physics for Game Developers
http://www.oreilly.com/catalog/physicsgame/
10月に出版予定。
0091デフォルトの名無しさんNGNG
#include<stdio.h>
int main(void)
{
char *s = "age";
printf("sage");

return 0;
}
0092デフォルトの名無しさんNGNG
四則演算で7行かあ・・・
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=994908590&st=551&to=551
これでも頑張ってる方だと思うからなあ
0093デフォルトの名無しさんNGNG
お室こもひねの瑠璃の暦鼓膜誌筆祖トンはさきくかんまならむ゜まなゆやかおんえかうおやんゆなのよにわほにりのまくきはしちそしすかひきんくみなにのりらせれめろ゛瑠璃にね幕費は差費そしすかんまののれけりのまみきひしはしいすかになせるめむ゜理の門子祖は
0094デフォルトの名無しさんNGNG
ここのスレッドに該当するかどうかは分かりませんが、質問します。
24時間制の"時刻"は、"秒"と"分"が60進数、"時"が24進数と分かっていて
「0時丁度から12345秒経過した時点での時・分・秒の値を求めよ」という問題も
簡単に解くことができます。求めるべき値が3個、○進数の要素が2つしかないからです。

これを一般化して"N個の数"があり、それぞれが独立して"○進数である"という
属性を持っているとき、前述の"12345"のように「ある値」を指示されたとき
N個の数におけるそれぞれの値を効率良く求める算法・アルゴリズムのようなものは
存在するのでしょうか? 勿論「ある値」は"N個の数"で表せる数値
(冒頭の時刻の例なら 24*60*60-1=86399)を超える値ではないものとします。
0095デフォルトの名無しさんNGNG
>>94 n進数であるという事はあまり関係なく

x = Σ an*ΠAj ただしan<ΠAj に必ず解があるかという問題のような気がしますが?
0096デフォルトの名無しさんNGNG
>>94
n桁目の値 = (ある値 / (nより小さい桁の進数の積)) % nの進数
// 桁ってのは24時間制なら 時=3桁目 分=2桁目 秒=1桁目 ってな感じね。

これじゃダメ?
効率が悪くてダメ?

>>95
意味わかんねえ…鬱。
009795NGNG
ごめん
ΠAj = A0*A1*A2・・・An という掛算のつもりです
0098デフォルトの名無しさんNGNG
age
0099デフォルトの名無しさんNGNG
AGE
0100頭文字?NGNG
ところでこれって>>95 >>97
Σummation = 加算
Πroduct = 積
とかなの?
とかここで訊いちゃダメ?
0101ヤパーリNGNG
age
01021NGNG
N進数M桁の多倍長の計算方法

 負数 各桁毎に(N-1)の補数を取り、 キャリーcyを1にする
cy=1;
for(i=0;i<M;i++){
 cy = a[i]+(N-1-b[i])+cy;
  c[i]=cy % N;
  cy =cy / N;
}
01031NGNG
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1001998049&st=863&to=863&nofirst=true
あめ猫さんはちょっと間違ったみたい
0x10000 じゃなくて 0x10000-1 です

で補数を取った時の掛算のやり方
 1、 絶対値を求めてから掛算して 結果の符号によって再度負数にする方法
    桁数を可変にする多倍長の場合はこっちでやった方がいいかも

 2、そのまま掛算する場合は
    Bが負数の場合 Bを単純整数とみなすと B-N^Mになりますから
    A*(B-N^M)=A*B-A*N^M
   A,Bがともに負数の場合は
    (A-N^M)*(B-N^M)=A*B-(A+B)*N^M+N^M^2 ・・・・N^M^2 は桁外になるので

   結局 A,Bを符号無整数とみなして掛算して 負数なら M桁目から引けばよいという事になります
01041NGNG
10進数でやってみます。2桁としますが符号の為に3桁目を用意します

 23−49 の計算
最下位桁:CY=1; 3−9+CY = 3+10−1−9+CY=4
次の桁 :CY=0; 2−4+CY = 2+10−1−4+CY=7
最上位桁:CY=0: 0−0+CY = 0+10−1−0+CY=9

結果974となります。最上位の9は負数を示します
これをさらに符号を反転するには0から引算します。
最下位桁:CY=1; 0−4+CY = 0+10−1−4+CY=6
次の桁 :CY=0; 0−7+CY = 0+10−1−7+CY=2
最上位桁:CY=0: 0−9+CY = 0+10−1−9+CY=0

掛算のやりかた
掛算2桁X2桁で4桁になり、符号の為に5桁目を用意します
 −26*12=-312 の計算
まず負数を補数表現にして
 974*12=>74*12−7400=888-1200=−312
0105デフォルトの名無しさんNGNG
アッカーマン関数っておもしろいですね。
普通は大学で習うのですか?
0106デフォルトの名無しさんNGNG
>>102-104
解説ありがとうございます。
これをもとに実装できそうです。

もしよければ、除算の手がかりなんかも
アドバイスしてもらえないでしょか。
01071NGNG
多桁除算の方法は、
1)シフトしながら減算出来れば減算するという方法

2)ニュートン法>>9

があります。
 桁数が多く、掛算が高速に実装出来ているならニュートン法が良好です
 ニュートン法は初期値が悪いと収束迄時間がかかりますから、
 初期値は多桁の2数を浮動小数点化するか対数化して精度良く求めるのが
 後の計算回数を劇的に改善する事になります。
0108デフォルトの名無しさんNGNG
FFTを使った高速な掛算はここでみかけたよ

   最速の素数判定アルゴリズム 
http://piza2.2ch.net/test/read.cgi/tech/993457354/
0109Delあめ猫にゃNGNG
>>103 フォローありがと
0110106NGNG
>>107
ニュートン法は色々サンプルがあるようなので、2の方法で実装できそうです。

>>108
私もそこは読んでました。最終目標はそれなんですけど、
まずは動くものから作り上げないとしょうがないので、今は手を出せません。
0111デフォルトの名無しさんNGNG
http://piza2.2ch.net/test/read.cgi/tech/1003559977/
x>yとして、荒い √(x*x+y*y) の計算でx+ (y*y/x)* 0.429で近似できるってのの
導出過程がちゃんと分かる方います?

(y/x)^2でテイラー展開すればそれっぽい形になるような気もするけど、
0.429がちょうどいいって所まではちょっと分からないです。
01121NGNG
>>111

√(x^2+y^2)=x*√{1+(y/x)^2}
√(1+a^2)を級数展開すると 1+a^2/4-a^4/8 + ・・・

だから 2項で止めると x+(y*y/x)*0.5

そこで、a0*x+a1*(y*y/x) として a0,a1が最適近似になるように調整したのでは


荒いhypotの計算方法はここに色々あるようです
ttp://www.infoeddy.ne.jp/~tensyo/prog/linealgo.htm#hypotenuse

精度の良い高速な計算方法はここ
http://www.sra.co.jp/people/miyata/algorithm/hypot.txt
0113ななしヘタぐらまNGNG
>>61, >>63
化石レスですが
本双六=バックギャモンです.
確か奈良時か平安時代に日本に入ってきて,
江戸時代に現代の双六になった…んじゃなかったかな.
01141NGNG
質問・問題 募集中
0115デフォルトの名無しさんNGNG
n個線分を含むような、最小の長方形を出すにはどうすればよいですか。
ここで、長方形の縦・横の辺は
必ずしもX,Y軸に対して垂直、水平であるとは限りません。
0116デフォルトの名無しさんNGNG
>>115
とりあえず質問.長方形の大きさの定義は?
縦 a, 横 b の場合,a*b, a+b, max(a,b) のどれ?それ以外?
0117デフォルトの名無しさんNGNG
質問の意味もよくわかんない。
n個の線分って、どこからn個の線分とって来るの?
0118デフォルトの名無しさんNGNG
>>116
辺の合計が最小になるような長方形です

>>117
X,Y平面状にある線分をn個です。
0119デフォルトの名無しさんNGNG
XY平面上にランダムに線分がたくさん配置してあって、
その中から(ちょうど?)n個の線分含む長方形のなかで、
縦横の長さの和が最小のものを見つけろってことね?

あってる?
0120デフォルトの名無しさんNGNG
>>119
違います。
メモ帳で開いた時にちゃんとできるってことです。
0121デフォルトの名無しさんNGNG
あ、いえそういうことではなく、
XY平面状に任意の線分が N 個配置してある場合です。
そのN個を全て含むような、最小(辺の長さの和が)の長方形を。
0122デフォルトの名無しさんNGNG
115 の質問内容は,与えられたn個の線分を全て内包する最小長方形を求める方法
を教えてくれってことだと思った.でも,その問題は,与えられた点を全て内包
する最小長方形を求める問題と本質的に同じような気がする...

きっと,「平面上の線分集合を管理するデータ構造に関する研究」とかいう題の
卒論をやることになった学生が,卒論の主要部分を質問してるんだね.当たり?
0123デフォルトの名無しさんNGNG
当たり。

鬱陀氏嚢…
01241NGNG
外包絡線=凸しか含まない多角形を求めて転がしながら最小になる場所を見つけるんだろうけど

設問:その線分のどれかの辺が必ず接していれば最小かどうか

  が問題かな
0125115NGNG
あー
卒論がらみというのは当たっているんですが、
研究テーマは違いますです。
最小長方形問題は研究のメインな部分ではなく、
目的を達成するためのアプローチの1つ、というべきでしょうか。
01261NGNG
という事は正確でなくても良いのなら
 単純に外包絡線上の2点間の距離で最も長くなる組み合わせを見つけて
 その方向に回転して収まる長方形を求めればよいのでは?
01271NGNG
 解決したのかな? >>115

 >>126の方法で初期値求めて谷を探すようにしないといけないと思うけど
0128デフォルトの名無しさんNGNG
>>17
> MathMLに対応してるのはAyamaくらいでは。
s/Ayama/Amaya/
0129デフォルトの名無しさんNGNG
>>17
Mozillaも可能
http://www.math.hokudai.ac.jp/~nami/MathML/
http://jt.mozilla.gr.jp/projects/mathml/
0130デフォルトの名無しさんNGNG
>>90
> Physics for Game Developers
> http://www.oreilly.com/catalog/physicsgame/
> 10月に出版予定。

ようやく出たかな?
http://www.amazon.com/exec/obidos/ASIN/0596000065/
0131デフォルトの名無しさんNGNG
あげます
0132デフォルトの名無しさんNGNG
3点選んで外接長方形を作る、を、すべての3点の組み合わせに対して
行ったら、その中の最大のものがすべての点を含む最小の外接長方形
なんじゃないの?
0133132NGNG
大嘘でした、頭足りませんでした、
0134デフォルトの名無しさんNGNG
age
0135デフォルトの名無しさんNGNG
なんか話題ない?
0136デフォルトの名無しさんNGNG
今MビットのデータRがある
無理数の少数点以下のように無限に続くビット列にRが出現する位置をN
とする
1)log2(N)<M-1 である確率を求めよ
2)log2(N)>M+1 である確率を求めよ
0137センター試験NGNG
こういうのが共通一次時代にあったらなぁ・・・
当時からこういう問題があったらスラスラ解けたのに。(遠い目)
http://www.mainichi.co.jp/edu/center02/sugaku1A/13.gif
http://www.mainichi.co.jp/edu/center02/sugaku1A/14.gif
0138 NGNG
>>137
高校時代、いまどきBASICかよとか思いながらといてたっけなぁ。
懐かしい。

でも、そんなの数学じゃねぇ。
ついでに言うと、プログラミングでもない。
頭の体操って所だと思うんだけどな。
これをセンター試験に入れる文部省の感性を疑う。
0139デフォルトの名無しさんNGNG
高校のときは、BASICしか知らなかったら、それがプログラミングだと思ってた。
いまは、10種類くらいの言語は一応読めるんで、この問題がいかに糞かってのは分かるな。
0140デフォルトの名無しさんNGNG
>>137
ちょっと待てぃ、これまさか今年の問題なん?
そりゃないぜベイビー(死語)

0141デフォルトの名無しさんNGNG
転載:

10 名前:デフォルトの名無しさん 投稿日:02/02/03 03:44
いくつかのベクトルが、一時独立かどうか調べるアルゴリズムって
なんだろ?


独立の定義が曖昧だけど、普通 畳込 Σ(Xi*Yi) がゼロかどうかが定義でかつ調べる方法かと
0142デフォルトの名無しさんNGNG
age
0143デフォルトの名無しさんNGNG
>>137
漏れセンター受けたとき、ベーシックわからなかったけど満点取れたよ。
0144デフォルトの名無しさんNGNG
昔はマジメにコードの話してたのねアゲ

理想的2次方程式の解法を考えよう
http://piza.2ch.net/tech/kako/984/984447845.html
0145デフォルトの名無しさんNGNG
数学は大事なのでage
0146デフォルトの名無しさんNGNG
>>141
それは直交だと思われ。

一次独立って、高校数学の幾何代数(今は呼び方違うかも)でいう
一次独立だよね?
だったら掃き出し法かな。零ベクトルができなかったら一次独立。
0147デフォルトの名無しさんNGNG
直交してるなら独立なんじゃないの?
0148デフォルトの名無しさんNGNG
>>147
 たとえば平面上で直行するとは文字通り 90度角度の違うベクトル
1次独立とは平面上なら3個以下で2個なら0度=平行でない事
  ・・・もちろんゼロベクトルは除いてね

1次独立の定義は文字通り 1次変換で独立なペア つまりn個の集合があったら
 どの1個を取り出しても残ったn-1個の集合のΣai*Vi で表現出来ない事

0149デフォルトの名無しさんNGNG
だから直交してるなら独立でしょ?
0150デフォルトの名無しさんNGNG
>だから直交してるなら独立でしょ?
それはそうだが、
>>いくつかのベクトルが、一時独立かどうか調べるアルゴリズム
としては失格だな。
0151デフォルトの名無しさんNGNG
必要十分!!!
0152sageNGNG
>>149,151
悪いことはいわんからもう一回中学校行って来い。
0153デフォルトの名無しさんNGNG
>>151 は必要十分な条件をちゃんと提示しろっていう意味で書いたんではないかと。
0154141 != 147NGNG
いやご迷惑をおかけしました。
 そういう意味の一次独立なら直交とは違いますね

そういう意味の独立って統計処理以外に役立つのかな?
0155141NGNG

148さんの一次独立定義を変形すると
i=1..n として Σai*Vi =0 となる係数aiが存在しない事 になります

そこで、ベクトルを並べた行列から、148さんのいう掃き出し法で順に
消去してゼロベクトルが出来るかどうかを調べればOKです
 掃き出し法は検索するとみつかるでしょう

正方行列なら行列式がゼロになるかどうかでもOK


0156デフォルトの名無しさんNGNG
何か質問ない?
0157デフォルトの名無しさんNGNG
割り算の筆算を教えてください(w

ってか、マジで忘れてしまってかなり鬱・・・
0158デフォルトの名無しさんNGNG
はいはい
 128÷7 12に注目7x1を引いて残り5

これを8をつけ足して58 7x8=56を引いて 残り2

結果18 余り2
0159デフォルトの名無しさんNGNG

10000000b ÷0111b

10000000
-111
  x10000 <-結果はこれを加算
--------
00010000
-000111
   x10 <--これを加算
--------
00000010 <---余り

結果 10010b 余り 010b
0160157NGNG
>>158
参楠。

AAで書くとこんな感じ?

   18
 ___
7)128
   1
 ___
   58
   56
   __
    2

ってか小学校入り直した方がよさそうだ・・・
スレ汚し失礼。
0161157NGNG
>>159
どうもどうも。
ビット演算なんて久しくやってないなあ・・・
最近CGIしか作ってないし(苦笑)。

PGになって以来、
小数点演算→二次方程式→一次方程式→分数の計算→整数の割り算
の順に忘れていってる。
人生やり直した方がよいでしょうか・・・
0162デフォルトの名無しさんNGNG
>>160
おい、間違っとるぞ
0163棄教者 ◆witdLTi2 NGNG
>>160,162
>>162の訂正
   18
 ___
7)128
   7
 ___
   58
   56
   __
    2
0164デフォルトの名無しさんNGNG
age
0165デフォルトの名無しさんNGNG
あはは。三角関数ってなんだっけ?
0166デフォルトの名無しさんNGNG
>>159
ふ〜ん
2進数の割り算ってこうやるんだ。
0167デフォルトの名無しさんNGNG
>>165 底辺×高さ÷2
0168棄教者 ◆witdLTi2 NGNG
              /|
             / |
           c /  |
           /   | b
          /θ   |
          ------
            a

乱暴な議論ですが
直角三角形で
sinθ = b/c
cosθ = a/c
tanθ = b/a
のことを三角関数と呼びます
θ>90のときの話とか詳しいことはまじめに本を読むか
神がこのスレに降臨するのを待って下さい
0169棄教者 ◆witdLTi2 NGNG
>>167三角形の面積
0170デフォルトの名無しさんNGNG
>168
それは三角比。
そこから三角関数に至るには角度の拡張を考えなくてはならない。
0171デフォルトの名無しさんNGNG
>>165

一度に二人の異性から告白され、その間で思い悩む人の苦労指数
を時間軸に沿ってグラフにしたものです。至る所で微分不可能な
のが特徴。
0172デフォルトの名無しさんNGNG
つまんね
0173デフォルトの名無しさんNGNG
七行プログラミング
http://pc.2ch.net/test/read.cgi/tech/984182993/282-288
のように "\" "/" を2値に割り当てれば自動的に適当な図形になったけど

塩基配列のように
AGCTのような4値 を 適当に割り当てて図形になる図形ってあるかな?

あるいは平面上で N値をランダムに割り当てて図形になるデータ

感じとしては 端点の位置が操作(たぶん回転と鏡像)によって変わらず
N回操作したら元に戻るような図形があればいいんだろうけど 
0174棄教者 ◆witdLTi2 NGNG
>>168
>>θ>90のときの話とか詳しいことはまじめに本を読むか
>>神がこのスレに降臨するのを待って下さい
というわけで>>170さん, 神になって下さい
0175デフォルトの名無しさんNGNG
ヲイヲイ、図を使わないで説明するなんてかえって難しいぞと思いつつ
単位円を書いてみたりした。以外と覚えてるな => 俺。
すごく前に習ったことなのに。

なんかこの辺詳しいHPあったんだけどURLわかんないや。
0176173NGNG
なんだ・・・自分が書いてるとおりに

/○  <− みたいな図形を 90度回転して作れる図形でいいんだ
\/

例:
/\/\/\/○○\
\○\○○/\/\/
/\/○/\○\/\
\○\/\○\/○/
/○○\/○/\/○
\/\/\/○/\/
○\/\○\/\○\
\/○/\/\○\/
0177デフォルトの名無しさんNGNG
数学学力低下・・・
どうする?
0178デフォルトの名無しさんNGNG
教え方が悪い。中高生全員に3Dプログラミングやらせろ。
そうすりゃ代数幾何微積分に力学とことごとく
何に使うのか分かって学びやすくなるだろう。
ちょうど今の俺みたいに。
0179棄教者 ◆witdLTi2 NGNG
>>178に禿堂age
0180デフォルトの名無しさんNGNG
質問です。
(平面上の)閉曲線上の点で距離が最大になる2点を求めたいです。
閉曲線と行っても離散値で1k点ぐらいあります。
1000C2回距離の計算するのは避けたいです。
0181棄教者 ◆witdLTi2 NGNG
要するに曲線 f(x) 上の点 (x[i], f(x[i])), (x[j], f(x[j])), ただし i,j <1000
で距離が最大になるやつだよNE?
俺もわからないのでage
0182デフォルトの名無しさんNGNG
>>181
必ずしもxの関数ではないのでは?
曲線(f_x(p),f_y(p))とパラメータ表示するべき?
fの関数によっては妙案があるかもしれないが、考えられるあらゆる関数において、
となると平面上に任意に分布した点、ということになるから・・・どうなんだろう?
0183早理菜NGNG
この問題解けてもらえませんか

次のデータを格納するためのテータ型について考える。

クラブの情報を格納する変数のデータ型club: このデータは次の内容を保存する
i.クラブ名称 (文字例型、最大20文字)
ii.クラブの種別 (体育系(taiiku),文科系(bunka), サークル(circle)を区別する列挙型)
iii.クラブの人数 (整数型)
iv.クラブメンバーの名簿を格納する線形リスト、その要素にかくメンバーの
  (a) 氏名 (文字列型、最大20文字) (b)年齢(整数型)

1. 上のii. に必要な列挙型をclubtypeとして、iv.の線形リストの要素型をmemberとして定義せよ。
2. データクラブを定義せよ。
3. クラブに新しいメンバーを追加する次の手続きjoinを与えよ。
   Procedure join(var c:club; n:member)
{クラブcにメンバーnに追加 する}
   追加したので、人数も増えることに注意。
4. 2つのクラブを合併して新しいクラブを作る手続きmergeを与えよ。 
   Procedure merge (c1, c2;club; var c3:club)
{c1とc2のメンバーと合併せた新しいクラブc3つくる。名称等はc1を引き継ぐ}

 
0184デフォルトの名無しさんNGNG
おいおい、宿題丸投げかよ・・・Pascalねぇ。
1.だけ解いてやるよ。
type
clubtype = (taiiku,bunka,circle);
pmember = ^member;
member = record
name: array[0..20]of char;
age: integer;
next: pmember;
end;
こんなもんかな?
0185デフォルトの名無しさんNGNG
>>183
これのどこが数学なんだよ、↓に逝けよ、しかもメアドだしてるし。
http://pc.2ch.net/test/read.cgi/tech/1011722640/l50
といいつつ続ける・・・
type
 club=record
  name: array[0..20]of char;
  kind: clubtype;
  number: integer;
  members: pmember;
 end;

0186デフォルトの名無しさんNGNG
>この問題解けてもらえませんか

解けてもらえません。

0187デフォルトの名無しさんNGNG
>>182
閉曲線なので曲線(f_x(p),f_y(p))で考える必要があります。
もう少し制約を考えると、
閉曲線上の任意の点(f_x(0),f_y(0))を考えたとき
閉曲線の順番(用語がわからないです)で(f_x(i),f_y(i)) (i<1000)
となる。
ここで(f_x(p0),f_y(p0))から(f_x(p_i),f_y(p_i))の距離Dを
D=g(i)
とすると、
(必要があれば)gを適当な次数の整式で近似して最小値を求める。

任意の点を(f_x(t),f_y(t))とおき直すとgの最小値Mは
M=h(t)
となる。(と思う)

こんな感じではないかと思っているのだけど同でしょう?
(日本語がわやですいません。)
0188188NGNG
メタボールの話題が出ていたので.

ポリゴンで表現する場合は,正方格子で離散化し,密度の閾値の境界で
ポリゴンを貼っていくのが基本的な方法だと思うのですが,
三次元でとっても素な場合,100*100*100格子で10ポリゴンとかアホらしすぎます.

格子切って,左上から順にマーチンキューブ!しか知らないのですが
いい方法ないでしょうか?
数学じゃねーな...
0189188NGNG
密度はパーティクルがもとで密度関数は一定です.
0190デフォルトの名無しさんNGNG
関連スレ

■■■パソコンと数学(初心者向けスレ)■■■
http://cheese.2ch.net/test/read.cgi/math/1016633956/
0191デフォルトの名無しさんNGNG
>>188
何で表現したいの?
0192デフォルトの名無しさんNGNG
>>190 クソ
0193デフォルトの名無しさんNGNG
>>187
ある点を選んでそこから一番離れた点を選ぶ。
さらに、その点から一番離れた点を選ぶ。
これを繰り返して、収束した2点を求める点の組とする。

今即興で考えたので何かマズイ事があるかも知れないけど、どうでしょ?
0194デフォルトの名無しさんNGNG
>>193
余裕でマズイです。例えば直交座標で四点ABCDがあり、
A=(4,0)
B=(4,6)
C=(0,3)
D=(8,3)
として、初期位置の選択をAとすると、各点の距離は
A-B:6
A-C:5
A-D:5
となりA-Bが最も遠く、これで収束します。でもC-Dは8だぞ。
0195デフォルトの名無しさんNGNG
中学数学ヤリなおそう・・。
0196デフォルトの名無しさんNGNG
> 100*100*100格子で10ポリゴン
要するに、ちゃんと期待した密度でポリゴンが生成されてないって事?
密度関数の影響する範囲を限定して、それを元にメタボール全体を
包括するバウンディングボックスを計算してから格子を適用すればいいと思う。
あと密度関数の勾配で分割数を変化させれば効率いいと思うよ。

って、全然数学じゃないんだけど(^^;
0197デフォルトの名無しさんNGNG
>>187
 問題がよくわからなかったんだけど、 結局
1) 点Pi は Xi Yi という値を持っていて Dij = hypot(Xi-Xj, Yi-Yj) の最大を探す
2) n番目の線分は Lnという長さを持っている
  jからiの距離はΣLnの右回と左回りの小さい方で定義される
  この最大を求める

のどっちなの?
0198デフォルトの名無しさんNGNG
1)なら 外包線を求めて頂点数を減らした後
  回転しながら探せば データ量に比例する程度の処理時間ですむ


2)は、その長さを持つ鎖の頂点を順につまんでは長さを測ればいい
  最初に右側と左側にリストを作って別け
  右側の最初のリストを減じて 左側のリストの最初に挿入
  それぞれの末端のリストを調整して短い方の長さが最大になるようにする
  だけだから これもn^2じゃない
0199名称未設定NGNG
>>180

 閉曲線が微分可能な関数でパラメータ表示できる場合、
2変数関数の最大値問題と思えば、その問題はやさしいよ。
 たくさんの点列を与えられただけなら、これはシラミ潰しで求められる。
0200デフォルトの名無しさんNGNG
浮上
0201デフォルトの名無しさんNGNG
再浮上 質問、話題、募集中
0202デフォルトの名無しさんNGNG
臨界点ですな。
0203デフォルトの名無しさんNGNG
もうこのスレ不要ですか?
0204デフォルトの名無しさんNGNG
http://www.transience.com.au/pearl.html

こんな石取りゲームを数学してみるとか・・・。
これ、何度やっても勝てなくて、「本当に勝てるんか?」と証明したくなった。が、
ごにょごにょプログラム書いてたら、飽きちゃったよ。w
0205デフォルトの名無しさんNGNG
>>204ルールはこんな感じ?
 3、4,5 個のグループがあって、グループ内なら何個取ってもいい

  ○○○
 ○○○○
○○○○○
 最後の1個を取らなければならない方が負け

0206デフォルトの名無しさんNGNG
>>205
そうです。
私がプログラム作ってたときは (3,4,5) みたいに表記してました。
最初が (3,4,5) で、一手やった後にありうるのは、

(2,4,5) (1,4,5) (0,4,5)
(3,3,5) (3,2,5) (3,1,5) (3,0,5)
(3,4,4) (3,4,3) (3,4,2) (3,4,1) (3,4,0)

です。

(0,0,1) これが負けパターン。この状態で自分の番が来たら負け。
0207デフォルトの名無しさんNGNG
後手必勝だから、>>206の1手やったあとのパターンは、全部先手必勝なんだよね。
そのパターンすべてに、一手進めたあとに後手必勝になる手がぞんざいするかどうかの
判定を再帰的にしらみつぶしすれば答えがでちゃう。

けど、こういう問題って、たとえば(n,n,0)|n>1は後手必勝だから(n,n,m)は先手必勝、(n,m,0)は必ず
先手が(n,n,0)の形に出来るから先手必勝とかって解いて行くほうが好きだな。

0208デフォルトの名無しさんNGNG
いまは無きナノピコ教室みたいなスレ(・∀・)イイ!!
数値計算はともかく、パズルプログラミングはみんなどういう言語使ってる?
うちしはSchemeつかってるけど。

>>35
探偵ファイルにあったよ。
http://www.tanteifile.com/baka/math/math01.html
0209デフォルトの名無しさんNGNG
先生、プログラミング教えるより先に中学数学教えて下さい。
0210デフォルトの名無しさんNGNG
アークタンジェントについて教えてください。
高校では習わないので。
0211デフォルトの名無しさんNGNG
タンジェントの逆関数。多分、-90度<引数<+90度で一価関数
0212デフォルトの名無しさんNGNG
atan(1) = π/4

級数展開
atan(x) := x-x^3/3+x^5/5 ・・・ ±x^n/n ・・・

y=atan(x) の時 x=tan(y)=sin(y)/cos(y)
0213デフォルトの名無しさんNGNG
>>211様>>212様
親切にどうもありがとうございました。
名前にだまされてたみたいです・・・
0214デフォルトの名無しさんNGNG
数学って何のためにあるの
0215棄教者 ◆witdLTi2 NGNG
>>214
小学一年生のときに公文式をやりたくて仕方がなかった。
親は吝嗇家で「学校の授業をまじめに聞いていれば十分でしょ」と、
公文式の会費を出してくれそうになかった。
必死で頼んだ。幼いながらも必死で言葉を探して、
「 数 学 を 学 ぶ こ と で 宇 宙 の 神 秘 が 解 明 で き る 」
と。
そしたら親が当時三千円の会費を出してくれた。感謝した。
結局高校時代にQ教材まで進んだ。

今また数学を勉強したくなっているので公文式をやろうと思っているが
大人が受講すると月9000円ほど掛かるらしい。
今はV教材までだっけ?
0216デフォルトの名無しさんNGNG
だめだー三角関数がわからない・・・
0217デフォルトの名無しさんNGNG
ついでに行列も
0218デフォルトの名無しさんNGNG
「オイラーの賜物」、網羅的なわりに安いぞ
0219sageNGNG
>>215
で、宇宙の神秘は解明できた?
0220棄教者 ◆witdLTi2 NGNG
>>219
全然解明できないです。
まあ、消防の時は誰だってでかいことを言うもんだよ。
「認めたくないものだな。若さゆえの過ちというものは」
0221チェキナ名無しさん ◆S9VRCTCU NGNG
>215
私も 公文式やりたいんだよね。
成人でも 入れてくれるの?

意味もなく 数学やりたいなあ と 思って。
0222デフォルトの名無しさんNGNG
>>221
算数と数学の違い、わかってますか?
0223デフォルトの名無しさんNGNG
>>221
あなたは もしかすると マリモーマさん ですか?
0224デフォルトの名無しさんNGNG
こういうスレはいいね

多分 メンツは結構固定してるんだろうけど
もう少し参加者が増えると掘り出し物も出てくるか?
0225棄教者 ◆witdLTi2 NGNG
大人でもできます。厨房の頃、父親もやってました。
>>222公文式では曲面幾何も勉強できます。
0226デフォルトの名無しさんNGNG
>>218
あの本大好き。
高校生くらいで読めていたら人生だいぶ違っただろうなと思う。
「素数夜曲」もいいよ。
(今も買えるのか知らんが)
0227棄教者 ◆witdLTi2 NGNG
>>220
×だな。若さゆえの過ち
○だな。自分自身の若さゆえの過ち
0228デフォルトの名無しさんNGNG
話題募集
0229デフォルトの名無しさんNGNG
すてきな三角関数の実装とかは?
0230デフォルトの名無しさんNGNG
>>229
却下
0231デフォルトの名無しさんNGNG
>>229
こんなのはどう

( ゚Д゚)ノ Delギコ猫のプログラミング相談室part4
http://piza2.2ch.net/tech/kako/1002/10024/1002469894.html
より

// 256 * sin(d256/256*2*π)
function iSin256( d256 : integer):integer;
begin
 d256:=shortInt(d256);
if d256 = -128 then Result:=0 else
    if d256<0  then Result:= -iSin256(   - d256 )
 else if d256> 64 then Result:= iSin256( 128 - d256 )
 else if d256>=32 then
 begin
   d256:=64-d256;
 Result := (4194304-1199*(d256*d256)) div 16384;
 end else begin
  Result:=(d256* 102933 - (d256*d256*d256)*10) div 16384;
 end;
end;
0232デフォルトの名無しさんNGNG
逆行列を求める掃き出し法ってどんな方法ですか?
いい解説サイト教えてください。
もしくは、英語での名称を教えてください。
0233デフォルトの名無しさんNGNG
>>232
google
0234デフォルトの名無しさんNGNG
>>231
なんだその激しく読みにくいコードは….
pascalってそんなんなんだ….
0235デフォルトの名無しさんNGNG
>>232
線形代数の本を読めば最初のほうに書いてあるでしょ。
持ってないなら一冊くらい買っておけば?
0236デフォルトの名無しさんNGNG
>>233
googleで検索してロクなサイトが見つからなかったから聞いたんだけど、
吐きだし法で検索してました(鬱氏
0237デフォルトの名無しさんNGNG
数学の本なら「高専の数学」がおすすめだ.
0238デフォルトの名無しさんNGNG
和田ひでき
0239デフォルトの名無しさんNGNG
保守
0240デフォルトの名無しさんNGNG
数学知ってるとスマートな処理になるときあるね。
0241デフォルトの名無しさんNGNG
>>240
たとえば?
0242今度高校受験NGNG
因数分解と素因数分解の違いを教えてください。
0243デフォルトの名無しさんNGNG
>>242
んなもん本読むか自分で調べろよ・・・
0244デフォルトの名無しさんNGNG
素因数分解 ⊆ 因数分解。分解した各因数が素なら素因数分解。
0245フーリエ変換@数学板住人NGNG
>>242
中学校の教科書には書いてないの?
>>243も言ってるけど、受験生だったらそのくらいのことは自分で調べた方がいいよ。
わからないからってすぐ人に聞くのは、あまり好まれる行為じゃないよ。
以後お気をつけあれ。
0246デフォルトの名無しさんNGNG
>>242
なんのために国語辞典があるんだ?
0247デフォルトの名無しさんNGNG
 測定結果を処理するための、プログラムのためにテストデータを作ろうとしています。
ある測定が確率pで正しいことがわかっていて、n回測定を行うとします。
プログラムで1回の観測データごとに0-1の乱数rをつくってr>pなら観測が失敗したことにして
うそのデータをいれているんですが、nが大きすぎて時間がかかりすぎまず。

 そこで、0からn−1までの乱数iをつくってi番目のデータをうそのデータに入れ替える
ということをn(1-p)回繰り返そうと思っているんですが数学的にはこれであってますよね。
0248デフォルトの名無しさんNGNG
>>247
あってない
0249247NGNG
>>248

nが十分に大きいときでもあってないですか?
できたらどうあっていないか教えてもらいたいんですが。
0250248NGNG
>>249
前半の方法で生成したデータには最大n個の失敗データが含まれる。
後半の方法で生成したデータには高々n(1-p)個の失敗データしか含まれない。
前半のデータ列と、後半のデータ列は数学的に同等とはいえない。

後半の方法のデータが、テストデータとして有効かどうかは条件による。

0251247NGNG
>>250
 確かにそうですね、"数学的に"って書いたのが間違ってたんですね。
nが十分に大きければ実用的には有効ですか?
0252248NGNG
>>251
それは、プログラムで何を処理するかによるでしょ。
直感で、無責任なことを書けば
nが充分大きくて、pが1に近ければ実用上有効だと思う。
0253デフォルトの名無しさんNGNG
>>251
nが1億以上なら有効かもしれないが、
pの値によってはほとんど実時間ではまともな結果がでないと思う。
すなおに、別の数学的にも正しい方法を考え直した方が良い。
0254247NGNG
 nが30億とかになるんで多分大丈夫だと思うんですけど。
念のため測定ミスの確率分布求めて測定ミスの回数を決めるようにします。
ありがとうございました。
0255デフォルトの名無しさんNGNG
数学わからんけどプログラマ…
0256デフォルトの名無しさんNGNG
今だ!0x100番ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
                  ∧∧       (´⌒(´
            ⊂(゚Д゚ )≡≡≡(´⌒;;;≡≡≡
        ⊆⊂´ ̄ ⊂ソ  (´⌒(´⌒;;
           ̄ ̄ ̄   ズザーーーーーッ
0257デフォルトの名無しさんNGNG
あーもうわかんないからWebサイト教えてくんなまし
代数方程式と微分積分と行列と三角関数をバカにもわかるような優しい解説のを
0258 ◆USO800CE NGNG
Youichi.K lives in Okinawa with wife.
0259デフォルトの名無しさんNGNG
数字わからんけどプログラマ…
0260デフォルトの名無しさんNGNG
>>257
高校の教科書読め
0261デフォルトの名無しさんNGNG
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (@´∀`)/< 先生!「30゚の直角三角形」の辺の比が1:2:√3とか書いてあります!
 _ / /   /   \   初耳です!どうしよう
\⊂ノ ̄ ̄ ̄ ̄\  \________________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0262デフォルトの名無しさんNGNG
>>259
プログラミングできるならプログラマでいいじゃん
0263デフォルトの名無しさんNGNG
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (@´Д`)/< 先生!斜辺の長さで高さを割った結果がsineだボケだって・・・
 _ / /   /   \   うっさいわボケと・・・
\⊂ノ ̄ ̄ ̄ ̄\  \________________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0264デフォルトの名無しさんNGNG
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (@´∀`)/< 先生!保守だかんな。
 _ / /   /   \   
\⊂ノ ̄ ̄ ̄ ̄\  \________________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0265デフォルトの名無しさんNGNG
teacher!
hypotenuse is sha he n of triangle?
0266j2NGNG
3点間の最小近似の方程式をどなたか教えてください。
y = ax + b の a 傾き a と切片 b の求めかたです。

2点間近似は分かります。
そのまま2点のx,y座標を代入すればa,bが出ますので。。

Excelの分布グラフ(3点)の近似曲線で方程式を
表示したものと同じ結果を出力するプログラムを
作成したいと考えております。
0267デフォルトの名無しさんNGNG
>>266
ええっとー・・説明するの難しいなあ・・
厳密な手法でなくてよいなら,それこそ自由にアルゴリズムを考えてくれって
結論になっちゃうし,
厳密な手法を知りたいならば「最小二乗法」てのを使うべきですよね。
でもそれを 2ch で説明するにはあまりにもスペースが・・・

ていうことで,「最小二乗法」を解説している本を探してみてはいかが?
0268デフォルトの名無しさんNGNG
最小2乗法といっても X軸へかY軸へか それともXY自由かの3つがありえる

Excelのアルゴリズムがどうなってるか判らないけど 簡単なのは aとbを求めたとして
D= Σ (y[n]-a*x[n]+b) ^2 が最小になるように a,bを定める方式の最小2乗法


a,bについて2次式なので、 これを偏微分して=0の所が最大か最小値になる




0269デフォルトの名無しさんNGNG
どうもお返事ありがとうございます。
>>267
:ええっとー・・説明するの難しいなあ・・
うぅ。。やっぱりそうですか。

:ていうことで,「最小二乗法」を解説している本を探してみてはいかが?
ぐぐるしたとき、最小二乗法については結構ひっかかったのですが、
アルゴリズムを説明しているところまでは見つけられませんでした。
やはりまじめに書籍でお勉強しなきゃいけないんでしょうね。。。。

>>268
:最小2乗法といっても X軸へかY軸へか それともXY自由かの3つがありえる
:Excelのアルゴリズムがどうなってるか判らないけど 簡単なのは  aとbを求めたとして
:D= Σ (y[n]-a*x[n]+b) ^2 が最小になるように a,bを定める方式の最小2乗法
:a,bについて2次式なので、 これを偏微分して=0の所が最大か最小値になる

ありがとうございます。
なんとかがんばってこの式の展開にトライしたいと思います。

さらに詳しく実際僕がやりたいこと説明させて頂くと:
(x1,y1)(x2,y2)  の 2点を通る線上で x3がxxだったら y3は何?
...と言うのを求めたいのです。
で、点は実は複数個あって若干ばらつくのでもう一個点を
任意に増やして 3点で近似したいと言うのが望みです。

参考までに次のレスに 自作へっぽこ2点近似のプログラムつけときます。
さらなるヒントなどございましたらよろしくお願いいたします。
長くなってごめんなさい。
0270デフォルトの名無しさんNGNG
[使い方]
% a.out 1 2 2 4 3
(1.00,2,00)(2.00,4.00) X=3.00
ans: Y=6.00

#include <stdio.h>
#include <stdlib.h>

double *kinji(double, double, double, double, double);

int main(int ac, char **av)
{
static int i;
double vl[5], *ans;
if (ac != 6)
fprintf(stderr, "usage: %s x1 y1 x2 y2 x3\n", *av), exit(1);
while (*(++av) != NULL)
vl[i++] = atof(*av);
ans = kinji(vl[0], vl[1], vl[2], vl[3], vl[4]);

printf("(%0.2f,%0.2f)(%0.2f,%0.2f) X=%0.2f\n",vl[0],vl[1],vl[2],vl[3],vl[4]);
printf("ans: Y=%0.2f\n", *ans);
free(ans);
return 0;
}
0271デフォルトの名無しさんNGNG
double *kinji(double x1, double y1, double x2, double y2, double x3) {
double *y3;
y3 = (double *)malloc(sizeof(double));
if (y3 == NULL)
fprintf(stderr, "error: out of memory.\n"), exit(1);
if ((x1-x2) == 0)
fprintf(stderr, "error: divide by zero.\n"), exit(1);
*y3 = ((y1-y2)*x3+(x1*y2-x2*y1))/(x1-x2);
return y3;
}
0272デフォルトの名無しさんNGNG
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (@´∀`)/< 先生!実はサボってました。
 _ / /   /   \    ごめんなさい、今日から頑張ります!
\⊂ノ ̄ ̄ ̄ ̄\  \________________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0273デフォルトの名無しさんNGNG
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   (;@´∀`)/< 2³ = 8 で 3 = logarithm 底2 真数8 ですか?
 _ / /   /   \  ちょっと正直おっぱいです! 
\⊂ノ ̄ ̄ ̄ ̄\  \________________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0274デフォルトの名無しさんNGNG
http://www.urban-pro.com/news/P=NP/
誰か予告読んで解説キボーン。
0275デフォルトの名無しさんNGNG
>>274
P=NP問題を説明しろということじゃないよな?
つーか15000円は高ぇ…。。。
0276デフォルトの名無しさんNGNG
>>274
あまり悪口は書きたくないのだが、「自費出版」というあたりがポイントかと。。。
0277デフォルトの名無しさんNGNG
>>271
なんで double *y3 = (double *)malloc(sizeof(double));  ?

double kinji(double x1, double y1, double x2, double y2, double x3)
にして 値を返した方がいいよ。 
例え double型が構造体でも返せるから
0278デフォルトの名無しさんNGNG
自費出版っていくら位かかるのかな?と思った。
0279デフォルトの名無しさんNGNG
10/10らしいが、10月に入って致命的なクレームが付いたらどうするつもりなんだろ
0280デフォルトの名無しさんNGNG
http://science.2ch.net/test/read.cgi/math/1027656573
0281デフォルトの名無しさんNGNG
やべ、sage忘れ…ゴメソ
0282デフォルトの名無しさんNGNG
>280
数学板でしたか。
どうもです。
0283デフォルトの名無しさんNGNG
つーか、最小二乗法普通にソースコードがgoogleった始めのほうのウェブサイトにあったのだが。
0284デフォルトの名無しさんNGNG
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (@T∀T)/< 先生! なんか放置されてるっぽいです!
 _ / /   /   \   一人で引き篭もるのは辛いよね!
\⊂ノ ̄ ̄ ̄ ̄\  \________________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0285デフォルトの名無しさんNGNG
>>283
:つーか、最小二乗法普通にソースコードがgoogleった始めのほうのウェブサイトにあったのだが。

お願い!!!!
URI教えてくださいませ。。。。
0286デフォルトの名無しさんNGNG
>>277
:なんで double *y3 = (double *)malloc(sizeof(double));  ?

おおもとのソースは:
y3 = (double **)malloc(sizeof(double **)*cnt + 1);
みたいな感じで配列構造で複数個値を戻すような関数だったのです。
#最初の*y3[0]に個数を入れといてあとでforで展開するみたいな。。。。
#個数は可変でしたので。。。

こんなやりかた変ですか?
0287名無し,,,,NGNG
血液型の話です。
日本人には38%のA型、31%のO型、
23%のB型、8%のAB型がいるとして、

血液型A型のAA型とAO型の割合、
血液型B型のBB型とBO型の割合を知りたいのです。
血液型占いを信じてるばかどもに説明するのに必要なのです。
よろしくお願いします。
0288棄教者 ◆KIKYO7cg NGNG
遺伝子型の出現頻度はハーディー・ワインベルクの法則より
(1) p(A)^2 + 2* p(A) * p(O) = 0.38
(2) p(B)^2 + 2* p(B) * p(O) = 0.23
(3) 2 * p(A) * p(B) = 0.08
(4) p(O)^2 = 0.31
で表せそうな気がする。

(4) より
(5) p(O) = 0.5567
(1), (5) より
(6) p(A)^2 + 2 * 0.556 * p(A) = 0.38
を解いて
(7) p(A) = 0.2739
(2), (5) より
(8) p(B) = 0.1780
(5), (8) を (2) の左辺に代入すると
.0974
あれ、変だぞ。

http://www.genstat.net/kisocont.htm
参照してくれ

0289デフォルトの名無しさんNGNG
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (@´∀`)/< teacher! x²-a = 0
 _ / /   /   \   
\⊂ノ ̄ ̄ ̄ ̄\  \________________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0290デフォルトの名無しさんNGNG
>>287
それって先に AA:AO、BB:BO の比を推定しなきゃ
いかんのではないか
0291デフォルトの名無しさんNGNG
ぐえ読んでなかった
0292デフォルトの名無しさんNGNG
>>287
http://wsrv.clas.virginia.edu/~rjh9u/abofreq.html
0293デフォルトの名無しさんNGNG
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (@´∀`)/< 先公!今日は 2√7 = √28 みたいなことやったよ!
 _ / /   /   \   ちょっと脳みそが漏れちゃいそう
\⊂ノ ̄ ̄ ̄ ̄\  \________________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0294デフォルトの名無しさんNGNG
>285
>つーか、最小二乗法普通にソースコードがgoogleった始めのほうのウェブサイトにあったのだが。
ありがとうございます。
ぐぐるで「最小二乗法+ソース」でお目当てのページがトップにありました。
#なんか変なキーワードを入れてたみたいです。

>>286
:y3 = (double **)malloc(sizeof(double **)*cnt + 1);

y3 = (double **)malloc(sizeof(double **)*(cnt + 1));
。。。の間違いでした。
0295棄教者 ◆KIKYO7cg NGNG
>>293
脳みそが耳から漏れてくるようだったら、
耳かきで一気に脳みそに穴をあけて、
全部掻き出してしまいなさい。
0296デフォルトの名無しさんNGNG
   。。∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ゚(@´∀`)/< 先公!sineθ = (y/x)って公式がやっと出やがったよ。
 _ / /   /   \  うん、ありがとう>>295
\⊂ノ ̄ ̄ ̄ ̄\  \________________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0297棄教者 ◆KIKYO7cg NGNG
────────────────────────────────

      /\                  /
      /  ヽ                / |
     /    |               /  |
    /  ´Д` |             r/   |y
   / \    /ヽ            /   |
   /   \_/  \          /    |
  /          \   ,/ |つ† ------
  (二|⊃⌒⌒ヽ /~ \ \_/ /      x
    |  ⌒⌒ |   \__/
    |      |
    |      |_____E[]∃__________________
>>296 sine theta = (y/r) です。
0298デフォルトの名無しさんNGNG
http://www.dt.takuma-ct.ac.jp/~sawada/math/danwa1html/img36.gif
0299デフォルトの名無しさんNGNG
     ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (@T∀⊂ヽ< うえーん!禿しく間違えたけど気にしないよ!
 _ / /   /   \  >>297-298 サンクスデス
\⊂ノ ̄ ̄ ̄ ̄\  \________________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0300デフォルトの名無しさんNGNG
中卒でPG目指してて数学苦手な引き篭もりは逝っとけ。


http://www.geisya.or.jp/~mwm48961/math/index_m.htm
0301デフォルトの名無しさんNGNG
>>300
すげー、全部当てはまるぞ。
つーことで逝ってくる
0302棄教者 ◆KIKYO7cg NGNG
>>300
カナーリ役に立つね。
0303デフォルトの名無しさんNGNG
ここ読んで数学勉強中。いいスレだ。
0304デフォルトの名無しさんNGNG
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (@´∀`)/< 先公!素因数分解まで復習逝きますた!
 _ / /   /   \  只管問題解いてウマ(゚Д゚)ってようと思います
\⊂ノ ̄ ̄ ̄ ̄\  \________________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0305デフォルトの名無しさんNGNG
1+1=田
0306デフォルトの名無しさんNGNG
>>300
いつなくなってもいいようにwgetしときやす
0307デフォルトの名無しさんNGNG
エラー訂正についてわかりやすい本もしくはサイトご存じないですか?
現在、リードソロモン符号の実装を行いたいと思っているのですが
いかんせんバカなので、ガロア体ってなんじゃホルァという感じなのです。
0308デフォルトの名無しさんNGNG
質問れしゅ。
問1:3.14159 を小数点第 3 位に切り上げると? 答A/B
問2:3.14109 を小数点第 3 位に切り上げると? 答A/B
問3:3.14159 を小数点第 4 位で切り上げると? 答A/B
問4:3.14109 を小数点第 4 位で切り上げると? 答A/B

答A:3.141
答B:3.142
0309デフォルトの名無しさんNGNG
馬場?
0310デフォルトの名無しさんNGNG
309は誤爆しました。ごめん
0311デフォルトの名無しさんNGNG
>ガロア体ってなんじゃホルァという感じなのです。

環や体について解説されている本を読む。
0312デフォルトの名無しさんNGNG
数学書が敷居高かったら情報理論の本にも少し書いてあると思うよ。
0313デフォルトの名無しさんNGNG
http://www.amazon.co.jp/exec/obidos/ASIN/4756904920/qid=1033874101/sr=1-2/ref=sr_1_0_2/249-4826699-8679537
0314デフォルトの名無しさんNGNG
>>308
その記述の仕方(というか言葉の使い方)は正しいの ? っていうのを
考えないといかん気がする.
いや, 聞きたいことは分かるんだけど.
0315デフォルトの名無しさんNGNG
すみませんでした。言葉使いを考えて再質問です。
数学?算数?的には、3,14109を小数点第4位で切り上げると3,141になると思うのですが、
エクセルなどの関数によると3,1412になります。
関数の設定上、小数点第3位に切り上げる為、問題自体が問1や2ということだと思うのです。
みなさんどう思いますか?
3,14109を小数点第4位で切り上げると3,141になるというのは間違っているのでしょうか?
0316デフォルトの名無しさんNGNG
>>315
> エクセルなどの関数によると3,1412になります。

Excel のどの関数よ ? 少なくとも、Excel2000 では Round(3.14109, 3) は 3.141 になるぞ。

ちなみに、3.14109 って π に近いんだけど、勘違いしてないよな ?
0317デフォルトの名無しさんNGNG
>>315

間違っています。
というか、小数点第四位「で」切り上げる、という風に"0"にだけ着目する
ということは通常行わないので、そうした計算が必要な場合には、その定義が
仕様書や法令等にいちいち記述されているはずなのでそれに従ってください。

普通切り上げといえば、例えば「100円単位で切り上げ」とした場合、
100 -> 100, 101 -> 200, ...., 199 -> 200, 200 -> 200, 201 -> 300
というように、切り上げてゆく単位未満に 0 以上の剰余があれば、一単位として
扱ってしまう、という計算を指します。
0318316NGNG
>>316
すまん、おおぼけだった。
四捨五入じゃなくて切り上げだったんだよな。
>>317 が正しいと思う。
3.1410000... をわずかでも超えたら 3.142 となるので合ってると思う。
0319デフォルトの名無しさんNGNG
>>316
Roundup関数です。
Roundは、四捨五入関数ですから3,141になりますね。
0320デフォルトの名無しさんNGNG
>>317
納得です。それで、関数等もその通りに作成されているわけですね。

問題で、「0.0101を小数点第3位で切り上げしなさい。」
には、0.011が正解で、0.01は間違いになるわけですね。

うむ〜、今まで間違った考え方をしていた。。。
0321デフォルトの名無しさんNGNG
いや、小数点第3位で切り上げしなさいという問題が、切り上げという処理自体の定義からすると間違った問いになるわけですね。
正しくは、小数点第2位に切り上げしなさい。ということですね。
ありがとうございます。<317&318

0322デフォルトの名無しさんNGNG
>>321
>いや、小数点第3位で切り上げしなさいという問題が、切り上げという処理自体の
>定義からすると間違った問いになるわけですね。

プログラム的観点から言うと、要求仕様があいまい(またはわかりにくい)という
ことになると思います。間違っているということは無い。こういうときには、「XX
で切り上げる、というのはどういう意味ですか?」と発注者側に確認するのが吉。
0323デフォルトの名無しさんNGNG
さらに忠告するなら、そんなものイチイチ聞いてたらウザイ奴と思われるだけ
両方を実装しておいて、起動時のスイッチで選べるようにしておけ
納品時に実際の担当者に選んでもらうのが一番確実
0324デフォルトの名無しさんNGNG
coeciffientの決定はどうなってるの?
0325デフォルトの名無しさんNGNG
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (@´∀`)/< なんか乗法公式とかやってもプログラミングには
 _ / /   /   \   関係無い気がしてきたけど(゚3゚)キニシナーイ!
\⊂ノ ̄ ̄ ̄ ̄\  \________________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0326デフォルトの名無しさんNGNG
>>323
どうでもいいが、そんなものスイッチにしてたらアフォと思われるだけ。
そうやってワケワカランようなスイッチだらけにしたら
納品時に実際の担当者に
「こんな無駄なコード書いてるヒマがあったら、なんで俺に聞かなかったの?」
と言われるのが確実。

つーか、そのコードのドキュメントにどう記録するんだ?
「なんか仕様がよくわかんないからスイッチにした」ってか?

つーか、そのコードをメンテする奴の気持ちを考えなかったのか?
0327棄教者 ◆egKIKYO7cg NGNG
展開しないで因数分解したままの方が計算が速いかな? どうだろう。
( a + b )^2 = a^2 + 2ab + b^2
0328デフォルトの名無しさんNGNG
( a + b ) * ( a + b )
これ最強。
0329デフォルトの名無しさんNGNG
aが大きい数字で固定 bで検索するような場合は意味があると思うけど
0330デフォルトの名無しさんNGNG
a^2も2aも固定にすりゃ速くなる罠。
0331デフォルトの名無しさんNGNG
bを1に固定すれば、有名な 「奇数を足せば2乗が求まる則」が
0332デフォルトの名無しさんNGNG
C !!
0333デフォルトの名無しさんNGNG
僕をデジタル化してください。
0334デフォルトの名無しさんNGNG
うん、わかった。
0335デフォルトの名無しさんNGNG
>>334
そろそろできましたか?
0336デフォルトの名無しさんNGNG
>>307
こっそり、どっかの大学に潜り込んで、大学の図書館で本読んだら?

あるいは、どっかの大学サイトで講義を盗み見するとか・・・
例:
ttp://www.ma.is.saga-u.ac.jp/uehara/coding.html
0337デフォルトの名無しさんNGNG
>>327

FFTを使って計算する時
上位桁と下位桁に別けて 実数のペアのFFT使って というやり方はやるよね?
0338デフォルトの名無しさんNGNG
保守
0339デフォルトの名無しさんNGNG
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (@´Д`)/< ハァハァ…
 _ / /   /   \  コソーリコソーリ
\⊂ノ ̄ ̄ ̄ ̄\  \________________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0340デフォルトの名無しさんNGNG
| ∧ !
|∀゚)  
⊂)
|ノ
|
0341デフォルトの名無しさんNGNG
(@´∀`)∩ <先生、最近全く進んでません。どうしよう、業いや先生(;゚Д゚)
0342デフォルトの名無しさんNGNG
密度はパーティクルがもとで密度関数は一定です.
0343デフォルトの名無しさんNGNG
知ったか振り
0344デフォルトの名無しさんNGNG
だれか「All-interval series 」の算出法おしえてくれないかなあ。
0345344NGNG
ちなみに「All-interval series 」は
1.0からn-1までのn個の「重複・欠員のない」要素からなる任意の数列Z{0,1,2,3...n-1}
2.それぞれの隣接要素の差による数列も「重複・欠員のない」要素からなる数列となる。
といったものです。
0346デフォルトの名無しさんNGNG
>>345
Q1、それは再帰定義なの? つまり n=1まで再帰的に定義されるの?
Q2、1階層下の数列は 0 を含む必要があるの?
0347 NGNG
>>346

定義の1からして、2の数列は0を含みようがないと思われ
0348デフォルトの名無しさんNGNG
1, をA[k] 2,を B[k] =A[k+1]-A[k] として
 B[k]は0を含めないとしたら

 よって、B[k]が負数と正数を同時に含む事になると B[k] に欠員が出来てしまう
B[k]に欠員が出来ないようにするにはB[k]の全ての符号は同じでなければならない。

 A[k+1]=A[k]+B[k] だから A[k+1]=0 となるのは A[k]=-B[k] かk=0 の時だけ

 ○ もしA[k+1]=0 & A[k]=-B[k] があるとすれば B[k] が全て負となる
   すなわち A[k+1]<A[k]を満たす必要がある。
    [0..n-1] の要素をそういうふうに並べる方法は唯一で 
    A[0]=n-1,..., A[n-1]=0
    その場合 B[k] は全て-1になる

 ○ もし A[0]=0 なら B[k]は全て正となる 
   すなわち A[k+1]>A[k]を満たす必要がある。 同じ理屈から
    その場合 B[k] は全て1になる

結論  B[k]は0を含めないとしたらそのような数列は n=2の時にしかない。
0349 NGNG
2を定義する際の「差」ってのは、「差の絶対値」が正しいみたい。

もともと1オクターブ+1度の音符を一つずつ並べて、1度から11度までの
全ての音階を含む音符列を作るという音楽の問題を一般化したものらしい。
0350345NGNG
失礼しました。説明はしょってしまいました。おっしゃる通り
例えばn=12の場合
1番の数列は「1〜12」もしくは「0〜11(mod 12)」の12個の整数を使ったもので任意の置換
2番の数列は「1〜11」の11個からなる「差の絶対値」の数列
ということでした。

(負数を含める場合は((+,-)*6)-1で11個になります。)
0351345NGNG
あちゃちゃ間違えた
3行目以下訂正
差(interval)は「時計読み」です。
1番の数列の、ある部分が{2,3}となってる場合の差は1
{3,2}となってる場合の差は11となります。
絶対値ではなかったですね(汗
0352345NGNG
説明があやふやですいません。例を挙げます。
A=10,B=11です

1番:0295471AB386
2番:278B369145A(6)

こういう数列を算出するアルゴリズムを考えたいのですが、
是非専門家のお力をお貸しねがえれば・・
どうも2番の数列の真ん中と最後には必ず6がくるらしいのですが・・
0353345NGNG
>>Q1、それは再帰定義なの? つまり n=1まで再帰的に定義されるの?
(n)は個数で(n-1)は数値自身をあらわします。
modulo arithmeticでこのように書くべきでしたね。(12=0)
1番:0295471AB386(0)
2番:278B369145A(6)
0354デフォルトの名無しさんNGNG
2^16382って10進数でいくらですか?
0355594NGNG
本文が長すぎます!
0356デフォルトの名無しさんNGNG
>>354
4932桁の数
297432873839307941271439831657001782690861171774127...3919929342485788115111756822667491016704
になる。
0357354NGNG
(´Д⊂ヽサンクスですた。
0358デフォルトの名無しさんNGNG
別の板からやってきました。
プログラム板へ行って、2ちゃんのセキュリティガードの仕方を教えてもらえと言われました。
どなたかご存知ですか?なんか常識だみたいに言われたんですが。。。
0359デフォルトの名無しさんNGNG
>>358
君は悪い人に騙されたんだよ。
そんなのは存在しないから安心してお帰り。
0360デフォルトの名無しさんNGNG
どのスレにかけばいいかわからなかったのでここにかきます
負の値を2の補数表現を使うとします。
2進数で10000011は10進数で何ですか?
また16進数では?
0361デフォルトの名無しさんNGNG
−125
(83)16かな
0362デフォルトの名無しさんNGNG
>>361
ありがとうございます。
やっぱりこうでいいのか。
0363デフォルトの名無しさんNGNG
>>362
ちゃんと宿題に「2ちゃんで聞きました」って正直に申告しとけよ。
0364デフォルトの名無しさんNGNG
>>345
ベンチマークに使われるくらいだからアルゴリズムは「総当たり」っぽい。
0365デフォルトの名無しさんNGNG
All-int~は素数判定〜みたくポピュラーじゃないからスレッドは立たないずら
0366デフォルトの名無しさんNGNG
プログラミングに微分積分や確率統計は必要ですか?
0367デフォルトの名無しさんNGNG
>>364
一般の場合は知らんが、n+1が素数の時は簡単に構成できるぞ。
0368デフォルトの名無しさんNGNG
ぎくっ
ほんとですかい?
0369デフォルトの名無しさんNGNG
>>367
[n+1が素数]で思いだしたけど
ひょっとしてそれは[等比数列]によってかな?
0370367NGNG
2が原始根という条件も必要だった。
0371デフォルトの名無しさんNGNG
>>364
一つの解だけなら簡単なんだけどな。
0372デフォルトの名無しさんNGNG
原始根か・・
あっ!やっぱりかもしれない・・・しらべてみよ
0373デフォルトの名無しさんNGNG
あ”ーー!なんだかそれっぽいぞ(うるさいか)
367さんに感謝
0374デフォルトの名無しさんNGNG
確かに一般の場合はわからないが、原始根は使えるな・・
0375デフォルトの名無しさんNGNG
原始根ではひとつの素数につき一種類のみそのような数列ができることが判明しました。
0376デフォルトの名無しさんNGNG
っと、「一種類」とは「一種類の郡」という意味です。
0377デフォルトの名無しさんNGNG
1の条件のみだと2種
1と2両方の条件を満たすものは一種
のようです。
0378デフォルトの名無しさんNGNG
0379デフォルトの名無しさんNGNG
>>366
作るものによる。
たとえばシミュレーションには必須だ。

ただし分野によらず高校数学レベルを理解できる程度には論理になれてないと
プログラミングでメシ食うつもりなら苦労するだろう。
(理屈が理解できればべつに公式は覚えている必要はない。そんなものは本に載っている)
0380デフォルトの名無しさんNGNG
任意の閉じたポリゴン体を、閉じた凸型に分解するにはどうすれば
いいでしょうか?

0381デフォルトの名無しさんNGNG
>>380
△に分割するのは楽そうだけど、凸なんて八角形にするのは
大変そうだなぁ。
0382デフォルトの名無しさんNGNG
(@´∀`)∩ <おっぱい
0383デフォルトの名無しさんNGNG
>>380
どっかに片方が凸点になってる凹点から初めて 次に角度が負になる個所で分割したらいいんじゃないの?
これではダメなのかな
0384383NGNG
ああダメなんだ 単純な凹にも対応出来ないや >>383は忘れて
0385デフォルトの名無しさんNGNG
あなたのお陰で383はおろか、すべての記憶をなくしてしまいました・・
0386デフォルトの名無しさんNGNG
>>380
単に凸化するだけなら、
1. 凹点Aを探す
2. A-Bが他の辺と交わらないような点Bを探す
3. A-Bで分割、1に戻る
の繰り返しで出来る。

綺麗な分割にしようとすると、
・できれば分割数を最小にしたいとか、
・鈍角ができるだけ出ないようにしたいとか、
・切断する辺の長さを短くしたいとか、
いろいろあるけど、両立できるとはかぎらないので難しい
評価関数とヒューリスティックのさじ加減の問題になる…
0387380NGNG
>>386
えっと、それだと平面ですよね?
3次元でやりたいんです。
やっぱ難しいですよねー。
0388387NGNG
いや、基本的な方法は一緒ですね。すいません。
3次元で「1. 凹点Aを探す」方法って??
0389デフォルトの名無しさんNGNG
周囲の3点で作られる平面と、その点の高さとか?
0390デフォルトの名無しさんNGNG
外包面を求めてそれに含まれない点とか
0391デフォルトの交点NGNG
線分AB,CDが与えられた時、交点があるかどうか、
もしあるならその座標を求める。
一番きれいに書いた人が優勝。

stuct LINE{
int x1,x2,y1,y2;
};
bool IsCross(LINE line1,LINE line2,POINT *is_cross){
   ・・・・・
   ・・・・・
}

ちなみに俺100行ぐらいかかった(恥)
0392デフォルトの交点NGNG
>>bool IsCross(LINE line1,LINE line2,POINT *is_cross){

失礼
POINT *is_crossはPOINT *cross_pos
の間違いだった。
0393デフォルトの名無しさんNGNG
http://www.yfcbookshelf.com/software's%20books37.htm#フェルマーの最終定理―ピュタゴラスに始まり、ワイルズが証明するまで
0394デフォルトの名無しさんNGNG
0395デフォルトの名無しさんNGNG
矩形と線分の交点存在の有無の判定ってどうやってやるんですか?
矩形の各辺と線分の交点判定をそれぞれやるしかないの?
0396デフォルトの名無しさんNGNG
>>395
やるしか無いと思うけど
先に、点の内外判定やれば頻度は下げられるとは思う
 (内,内) 交点無し
 (外,内) 交点有
 (内,外) 交点有
 (外,外) 可能性あり->判定
0397デフォルトの名無しさんNGNG
>>395
基本は >>396 でいいけど、内外の判定情報を増やしておくと、
(上の外,上の外)なら交点無し
(上の外,下の外)なら交点のある可能性あり→要詳細判定
とか分かるので、もうちょっと頻度は減るし、矩形のどの辺と調べればいいかもわかる。

具体的なアルゴリズムは「クリッピング」「アルゴリズム」をキーワードにすれば見つかると思う
ttp://www.people.or.jp/~fussy/algo/algo1-2.htm
とか。
0398デフォルトの名無しさんNGNG
プログラミングの質問なんですけど、教えて下さい。
使っているのはUBASICです。
三次関数f(x)=x3+ax2+bx+c の係数 a,b,c を入力して、
f(x) の極大値と極小値を出すのを今考えているんですけど、
なかなか初心者なもんでうまくいきません。
お願いします。
0399デフォルトの名無しさんNGNG
>>398
係数a, b, cに関わらず極大値は無限大、極小値は無限小。
0400デフォルトの名無しさんNGNG
>>399
> 係数a, b, cに関わらず極大値は無限大、極小値は無限小。
極大/極小 != 最大/最小

>> 398
2階の導関数を調べればOK.
0401デフォルトの名無しさんNGNG
ビットマップの回転で、30度回転とかの場合の各ドットの色計算が
詳しく説明されているサイトを教えてください。
0402デフォルトの名無しさんNGNG
>>400
1階じゃなくて?
0403デフォルトの名無しさんNGNG
連続していれば、極大極小点は 微分がゼロになる点のどこかにある可能性がある。
ただ、3次関数の場合は、微分がゼロであっても、極大極小点が無い場合がある
0404デフォルトの名無しさんNGNG
例えばb=c=0の時とか
0405IP記録実験NGNG
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0406デフォルトの名無しさんNGNG
おなまえをいちいち考えなくていいからfusianasanっていいよね♪
最初ね、かぶっちゃったこともあったしでもあいぴーっていうのはかぶらないんだね♪
0407IP記録実験NGNG
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0408デフォルトの名無しさんNGNG
とまった
0409デフォルトの名無しさんNGNG
>>1
通報しません!
0410デフォルトの名無しさんNGNG
237 名前:ニュー速から来ました 投稿日:03/01/08 17:51 ID:AX1ZY0DD
IPとは何でしょうか



↑素人は誰だ!!!!!!!
0411デフォルトの名無しさんNGNG
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0412デフォルトの名無しさんNGNG
永遠の19歳。
去年まで単なるメディアアーティストだったけど、TBCと動物病院から告訴されて
二年で数億損害賠償請求された。払う気ないけどね。
初回のみだけど、警察にログ提出を求められても任意だから拒否できる。
●売るだけ売りまくって2ch自体あぼーんすることもできるし、また転送量問題
思い切って持ち出せば50パーセントで信者が2倍になる。
金なきゃ雑誌やTVにもっと顔出せばいいだけ。売名行為にもなる。
「ハッキング」から「夜のおかず」まで色々あるのでマジでお勧め。
http://www.2ch.net
0413デフォルトの名無しさんNGNG
あめぞうという昔旺盛を極めた掲示板は「誹謗・中傷・アダルトお断り」の文字を書き込んだ
事が原因の1つとなって潰れたが、いまの2chは「誹謗・中傷・密告お断り」というのを出したのと
同じ事なんだよなあ、、、
0414デフォルトの名無しさんNGNG
けんすうさん。

先程、「天才」と呼ばれた
ディカブラットさまには頭を下げておきました。
皆さんが何を考えるか知りませんが

個人的に、
「結構ヤバイ」んです。
貴方方は気楽でしょうが。

末期がんに近い感じで追い詰められています(実際のクランケ御免なさい)
コレ、嘘じゃないのです
聞いて下さい
お願いします
0415デフォルトの名無しさんNGNG
もう全板IP取ってるの?
0416デフォルトの名無しさんNGNG
なんか、猛者のフラッシュが見たくなってきた...
0417デフォルトの名無しさんNGNG
よーするに、2ちゃんは悪権力と戦うために必要で
多少の事でゴチャゴチャいうやつらが
自覚無自覚はともかくネットの可能性を潰そうとする
悪権力の子分になってるという現実は理解しようね
0418デフォルトの名無しさんNGNG
単純に2ちゃん以外でやった方がいいような事なんじゃねーの

正直、2ちゃんねるが有名になったから訴えられるようになったと考えた方がいいと思うんだが?
0419デフォルトの名無しさんNGNG
>>540
なんかぼたんおしたらブラクラ風。
0420デフォルトの名無しさんNGNG
確かに一般の場合はわからないが、原始根は使えるな・・
0421デフォルトの名無しさんNGNG

見にくいな。
特にそこの115はまとめになってないし。
それよりなんでそんなに頻繁にまとめ直すんだろう?
0422デフォルトの名無しさんNGNG
根性なしなので、こちらに記念よしあき
ヽ(`Д´)ノ ウワァァン
0423デフォルトの名無しさんNGNG
応えてくれてありがとう。
皮肉な話だが2chで誰かに応えてもらったのって久しぶりだ>365
0424デフォルトの名無しさんNGNG
あれ?ニュー速もip記録してるの?
0425デフォルトの名無しさんNGNG
問題はこれがひろゆきの自由意志によって選ばれた結果ではなく、
「裁判で負けたからしぶしぶ」であることだよなぁ〜。
0426デフォルトの名無しさんNGNG
がんがれ
0427デフォルトの名無しさんNGNG
ですね。
2chはもはや常人がふらっと来て書き込みするような雰囲気じゃない・・・
0428デフォルトの名無しさんNGNG
終わりのはじまり
0429デフォルトの名無しさんNGNG
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0430デフォルトの名無しさんNGNG
匿名を希望する内部告発者もいたりするわけで、IP取られるとそういう情報も減っちゃうねえ・・
0431デフォルトの名無しさんNGNG
まちBBSはIP強制表示だけど、何か不都合あるの?
0432デフォルトの名無しさんNGNG
犯行予告・個人や法人に対する誹謗中傷
内部告発・差別的発言・タメ口・顔文字

ぐらいかな
0433デフォルトの名無しさんNGNG
スターシアも嘆いている
14万8千光年は遠すぎたのだ
0434デフォルトの名無しさんNGNG
541 名前:心得をよく読みましょう 投稿日:03/01/10 20:57 ID:XMZyyjdR
「韓国人は糞」← これくらいならどう足掻いても訴えられないっしょ。

543 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 20:58 ID:jWxHxvti
質の低い書きこみの例549 名前:fushianasan 投稿日:03/01/10 20:59 ID:XOyWB09Q
でも実際の類の書き込みは減らないのでわ?

551 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 21:00 ID:jWxHxvti
逮捕者が出れば、もちっと書きこみ減るかと。
0435デフォルトの名無しさんNGNG
2chで内部告発的な事をするリスクが大きくなるのかな?
発信元がわかるんで、告発された側が「よーし金でねじ伏せちゃうぞー」
とか言って裁判でも起こしまくって。
そんな状況はガクブルだから、面白そうな(真実である事が前提の)投稿は、減る?のかな?
考え過ぎ?って言うか見当違い?どうだ?どうなんだ?
0436デフォルトの名無しさんNGNG
厨房板の荒らしは削除されたようだ
いつか全板で強制表示になるのだろうか?
スクリプトくめばどこの板だって荒らせるだろうし
0437デフォルトの名無しさんNGNG
実際にある人物になんかあった場合、
その人物になんかしたい、と書き込んだ人間についての情報は
おれがもし警察だったら、一応知ろうと努力はする。
なかにはそうとうエグいのもあるし。
0438デフォルトの名無しさんNGNG
っていうか、ひろゆきの意図に反してIPログが流出したらどうすんの?
0439デフォルトの名無しさんNGNG
( ´_ゝ`) フーン
0440デフォルトの名無しさんNGNG
しかもレズですか・・・
0441デフォルトの名無しさんNGNG
管理人もISP責任法で責任負わなくていいとか
ちゃんちゃらおかしい事抜かしてましたが、そこんとこどうよ
0442デフォルトの名無しさんNGNG
そう!ひろとしは偉い!!
0443デフォルトの名無しさんNGNG
IP取得開始前の過去ログが晒されたら、またその時点で侵害行為発生じゃん。
で、書き込み者が特定できないから云々・・となると思うが・・・。
0444デフォルトの名無しさんNGNG
嘘はついていないんだろうけど…。(;^ ^
0445山崎渉NGNG
(^^)
0446デフォルトの名無しさんNGNG
ガックシ・・(鬱
0447山崎渉NGNG
(^^)
0448デフォルトの名無しさんNGNG
hage
0449デフォルトの名無しさんNGNG
ねぇ、最近、なんで数学と算数の話が全然無いの?
0450デフォルトの名無しさんNGNG
算数はつかうけど数学はほとんどの人はいらないんじゃネーノ
0451デフォルトの名無しさんNGNG
>>449
先生、高校数学が馬鹿でも理解できる本教えてん
0452デフォルトの名無しさんNGNG
>>3 連分数使えばもっと高速高精度
0453デフォルトの名無しさんNGNG
age
0454デフォルトの名無しさんNGNG
http://pc2.2ch.net/test/read.cgi/tech/1043246252/
お前ら最強の将棋プログラムしてみろよ part2
から流れてこさせてください。

http://pc2.2ch.net/test/read.cgi/tech/1043246252/148-
の流れで、「麻雀の場合の数」について納得してない人がいます。
0455デフォルトの名無しさんNGNG
>>454
あなたはそこの174と180のどちらの方ですか?
0456デフォルトの名無しさんNGNG
>>455
180でつ。
0457名無し募集中。。。NGNG
>>456
そうですか
もう納得してるかもしれませんね
0458デフォルトの名無しさんNGNG
>>451
与えられた仕様書通りにコーディングするだけなら算数で十分かもなぁ。
でも、研究開発とかでソフトウェア設計するなら数学いると思われ。

あと、理系科目全般、数学の知識は必須。
数学出来る人間は大体なんでも出来る。
0459デフォルトの名無しさんNGNG
ある直線がある円と交差してるか判定するにはどうしたらいいの?
0460デフォルトの名無しさんNGNG
>>459
円の方程式に、直線の方程式から得られる関係を代入して、
虚数でない解を持つかどうかを調べる。
0461デフォルトの名無しさんNGNG
解を持つかどうかの判定はどうすれば?
0462デフォルトの名無しさんNGNG
>>461
お前は中学生か
0463デフォルトの名無しさんNGNG
>>459
1.直線と直角の傾きで円の中心を通る直線の式を求める
2.円の中心から1で求めた直線と元の直線の交点までの距離を求める
3.求めた距離が円の半径より長ければ交差していない
以上
0464459NGNG
れすどうも
483はわかったけど460はわかりそうでわからないっす
脳みそ中学生でした
0465デフォルトの名無しさんNGNG
さて、>>483は脳みそ中学生にもわかるような求め方を提示しなければなりません。
0466デフォルトの名無しさんNGNG
数学板から来ました。
多変数多項式のGCDを求めるアルゴリズムを教えてください。
0467デフォルトの名無しさんNGNG
まずスカートを下ろしてください。
0468デフォルトの名無しさんNGNG
さて、>>465は>>483が何を指すのか脳みそ中学生にもわかるようにしなければなりません。
0469デフォルトの名無しさんNGNG
>>459
 円と交差してるかどうかは、円の中心点から半径以内に直線があるかどうか
 点と直線の距離がわかれば解けます。
 1、円の中心を原点に平行移動して 検索ワード「原点迄の距離」
 2、直線x軸に平行になるよう回転して、y軸との距離
 どちらかを使います


>>466
この板で[多変数多項式のGCD]なんて言われても判りません。
もっと問題を判り易く解説して下さい。
 
多変数多項式とは? その多変数多項式の大小の定義は?
0470デフォルトの名無しさんNGNG
>>466
GCD って最大公約数よね?
多変数多項式クラス作って、それに適切な剰余演算定義してやれば
後はユークリッドの互除法にかけるだけだろ。

多変数多項式の剰余演算をどうやれば作れるかはム板の連中には荷が重いんじゃないかな。
0471デフォルトの名無しさんNGNG
>>470
>ム板の連中には荷が重いんじゃないかな。

といいつつ、間違っている>>470は、はたしてム板の住人でした。
0472466NGNG
>>469
すみませんでした。「多変数多項式」は、

a^2 - b^2 - ca + bc    /* (a + b - c)*(a - b) */
ab + bc + b^2 - c^2    /* (a + b - c)*(b + c) */
というようなものを考えていて、例えばこの二つの式から、共通因数

a + b - c
を導き出す方法が知りたいということです。大小については、

(a^3 * b^3) > (a^3 * b^2) > (a^2 * b^3) > (a^2 * b^2)
という感じがいいです。

>>470
剰余演算とはどういったものでしょうか?
一変数に関する剰余演算(ほかの文字は定数とみなす)はやってみましたが、
全体の次数を減らす方向には動かないようでした。

>>471
詳しく教えてください。

0473デフォルトの名無しさんNGNG
(a^2 * b^2)ニッコニコー
0474デフォルトの名無しさんNGNG
perlあたりが役立ちそうだね。ゲノムのパターンマッチングにも使ってるみたいだし。
それより簡単じゃないかな。
0475デフォルトの名無しさんNGNG
>>472
いわゆる記号数式処理ですか・・・・出来るというかノウハウ持ってる人は限られてるなあ
このスレ見てるかなあ
0476デフォルトの名無しさんNGNG
>>472
結局 GCDはユークリッドの互除法しかないわけで、
ただ、スカラと違って大小関係が定まらないから収束の保証が無いのがネックだね
0477デフォルトの名無しさんNGNG
CRCの計算方法教えてほしい。CRCでいろいろ検索してみたが
俺には難しすぎるページばかり。
例えば8BitのCrcで生成多項式が1+X^3+X^7の場合はどのように
計算すればよいの? サルでも分かるレベルでお願い(;_;)
0478デフォルトの名無しさんNGNG
>>477
>例えば8BitのCrcで生成多項式が1+X^3+X^7の場合はどのように
俺も詳しくないのでビット数があってない(8bitならX^8が無い)場合に
どうすれば良いか分からんので1+X^3+X^7+X^8として説明するが
(恐らくX^8がなければ7bitのCRCとするべきなのだと思うが…)

生成多項式から次のように変換する
876543210 ← X^n のnに対応する値
110001001 ← 多項式にX^nが含まれていれば1

求めるCRCは8ビットなので、そのビットの値を無視して数値化し p とする
p = 0x91 (10010001) ← 多項式のX^0に対応するビットを最上位とする

CRCの初期値を0とする
CRC = 0

CRCを取りたいデータをnバイトのデータの配列 s とし
次からの一連(字下げ)の処理をn回繰り返す

  CRCの最下位バイトに配列sのnバイト目のデータの値をxorする
  CRC = CRC ^ s[n]

  次からの一連(字下げ)の処理を(1バイト内の)bit回繰り返す

  CRCの最下位ビットの値をflagとしCRCを1ビットシフトする
  flag = CRC & 1 ← 最下位ビットを取っておく
  CRC = CRC >> 1 ← そのビットをシフトして消す

  flagが1ならCRCにpをxorする
  CRC = CRC ^ p
0479デフォルトの名無しさんNGNG
以上、最後に残ったCRCです
正確にはCRCの値は、初期化の後に反転させたり、最後に反転させたり
データの扱い方によって変わったりしますが、大体こんな所です

で、この処理が何をやってるのか説明すると

元のデータをビットの列として並べて(この並べ方が結構曲者?)
一番左側を最上位と考え、最下位にCRCのビットに等しい0を追加します
次に1が立ってる最上位のビットに合わせて多項式の値でxorします

00011001000010000000… 元のデータ
000110010001 ← (多項式の値を最上位の1の位置に合わせてxor)
&bnsp; ↓
00000000000110000000… ↑の2つの値をxorした結果
00000000000110010001 ← ( 次の1の位置に合わせて )
&bnsp; ↓
00000000000000010001…
以下略

小細工が入る事を除けば基本は、こんなところで
↑の処理を繰り返し、元のデータの領域の値を全て0にした結果
最下位に付け足したビットに残った値がCRCとなります
0480デフォルトの名無しさんNGNG
>>478
スマソ
字下げが上手く行って無かったので修正

  次からの一連(字下げ)の処理を(1バイト内の)bit回繰り返す

  CRCの最下位ビットの値をflagとしCRCを1ビットシフトする
  flag = CRC & 1 ← 最下位ビットを取っておく
  CRC = CRC >> 1 ← そのビットをシフトして消す

  flagが1ならCRCにpをxorする
  CRC = CRC ^ p
0481本当にスマソNGNG
あぅ…この方法じゃ駄目だったのね…
>>478&480は分かると思うけど
> 次からの一連(字下げ)の処理を(1バイト内の)bit回繰り返す
の文は、最後までの全ての文を対象としています
0482デフォルトの名無しさんNGNG
>>475-476
レスありがとうございます。もう少し調べてみます。
0483デフォルトの名無しさんNGNG
なんか時計が変ね。
0484477NGNG
>>478-481
これを読んで何とか計算するルーチンは分かりました。
丁寧にどうもありがとう。
0485デフォルトの名無しさんNGNG
4つの整数が与えられたときに、その最大公約数を求めるのはどうすれば一番すっきり求められるのでしょうか?

2つずつで最大公約数を求めて、その最大公約数どうしで、また最大公約数を求めようかと思っているのですが、
ほかに何かいいほうほうはあるでしょうか?
0486デフォルトの名無しさんNGNG
>>485
ユーグリッドの互除法を4つでやれば?
0487デフォルトの名無しさんNGNG
>>485
小さい方のふたつの公約数のうち、残りのふたつを割り切れるヤツってのは?
0488デフォルトの名無しさんNGNG
  ┏━┻━┓
┏┻┓  ┏┻┓
0489デフォルトの名無しさんNGNG
maximum(a,b,c,d)=max(max(a,b),max(c,d))
と同等。
似たスレあったっけ?
0490デフォルトの名無しさんNGNG
>>485
たった4つぐらいならどうやってもいいような、
いや、(2つ,3つではなく)4つだからこそ難しいのか。

gcd(a,b) の計算時間は log(min(a,b)) に依存するし
maxやminと違って下限も決まってるから、
ソートされていれば小さいほうから順に
gcd(..gcd(gcd(gcd(n_1,n_2),n_3),n_4),...) が一番速いかと。
>>488は入力される個数が増えると遅くなりそう。なんとなくだけど。

ソートされてなければ、入力される数の性質を吟味して
そのままやるかソートしてやるか選ぶのが吉。

後出しじゃんけんみたいな特異な例をあげると

(240^10000 , 3^10000 , 160^10000 , 5^10000)
これだと488が一番遅くて

(240^10000 , 160^10000 , 5^10000 , 3^10000)
これだとそのままやるのが一番遅い
0491デフォルトの名無しさんNGNG
ある数字の平方根を小数点以下切り捨てで求める
最速だと思われるアルゴリズムをおしえてください
0492デフォルトの名無しさんNGNG
n^2のテーブルを用意しる。
0493デフォルトの名無しさんNGNG
>>491
下から2桁づつ区切っていく。
それと0〜99の平方根・・・というか、0〜10の平方をテーブルに
0494デフォルトの名無しさんNGNG
点と平面があって、点から平面への交点の座標を求めるにはどうすればいいですか?
0495デフォルトの名無しさんNGNG
ミスりました。正しくは、

点と平面があって、「点から平面への垂線」と「平面」交点の座標を求めるにはどうすればいいですか?
0496デフォルトの名無しさんNGNG
>>495
まずはその点が原点になるように全体を平行移動させましょう。
平面をx-y平面と水平になるよう原点を中心に回転させましょう。

その後、平面のz軸座標に今の逆変換を行って下さい
0497デフォルトの名無しさんNGNG

ここで語ってるやつは、どのプログラミング言語を使ってれば
自分が生き残れるかしか頭に無いだろ。

技術なんてあるわけないじゃん。
「使えねぇ〜OX」スレだって、自分の事だろ。やけに心情的に詳しいしさ。
0498デフォルトの名無しさんNGNG
問題募集
0499デフォルトの名無しさんNGNG
ICPCの過去門でもやったら?
0500デフォルトの名無しさんNGNG
例えば大量の千円〜9千円ぐらいの領収書が大量にあったとして、
その中の組み合わせで3万円に
一番近い数字になるように計算して一番近い順にならべていく方法が
あったら教えてください。
一応、考えている言語はC言語です。
0501デフォルトの名無しさんNGNG
あげ忘れた
0502デフォルトの名無しさんNGNG
>>500
典型的なナップザック問題だと思うので、それで検索してみたら?

http://www.google.co.jp/search?q=%E3%83%8A%E3%83%83%E3%83%97%E3%82%B6%E3%83%83%E3%82%AF%E5%95%8F%E9%A1%8C
0503デフォルトの名無しさんNGNG
>>502
ありがとうございます。調べてみます。
0504デフォルトの名無しさんNGNG
C言語による最新アルゴリズム事典
http://www.amazon.co.jp/exec/obidos/ASIN/4874084141/qid=1047620985/sr=1-2/ref=sr_1_2_2/249-5951926-2649155

これって買いですか?
0505デフォルトの名無しさんNGNG
>>504
 みんな持ってると思うよ
0506デフォルトの名無しさんNGNG
>505
そんなことないよ。
てか、それの全ソースってWebで公開されてなかった?
他の書籍だっけか
0507デフォルトの名無しさんNGNG
>>506
『C言語による最新アルゴリズム事典』サポートページ
http://www.matsusaka-u.ac.jp/%7Eokumura/algo/

でも本は持っていたほうがよい
つか、俺の周りでは、もっていないやつがいない(15人ほどだが)
0508デフォルトの名無しさんNGNG
アメリカのクイズ番組で実際にあったコーナーだ!
最後に勝ち残った者が3枚のドアから1枚だけ選ぶ!
どれか1枚の後ろに賞品があって、当たればもらえるということだ!
番組の司会者はどのドアの向こうに賞品があるか知っている!
参加者が選んだところで、司会者が残りの2枚のうちはずれを1枚開けて、
『良かったらドアを変えてもいいですよ』と言う!
では、ここで参加者は自分の選んだドアを開けるべきか?!
それとも変えるべきか?!あるいは変えても、そのままでも関係ないのか?!
0509デフォルトの名無しさんNGNG
>>508
関係ない。
0510デフォルトの名無しさんNGNG
>>508
変えたほうが確率的には得。
0511デフォルトの名無しさんNGNG
一見すると>>510のように考えるかもしれないが、
結局参加者が選んだドアが正解かどうかわからないのであれば、
選択肢が3つ(正解―はずれ―はずれ)から2つ(正解―はずれ)になっただけ。
よってそのままでも関係ない。
0512デフォルトの名無しさんNGNG
>>511
いまだにこんなこと言う人がいるのか。
結構、有名な問題だけどな。
めんどくさいので、数学板から転載。

参加者が最初に選んだ一枚があたりである確率は1/3なので、
司会者側にあたりがある確率は2/3になる。
司会者がはずれを1枚あけたとしても、司会者側にあたりがある確率は
2/3のままだから、変えたほうが得。

511は、ドアが100枚になっても同じ事を言うのかな。
参加者が1枚引き、司会者が残りのドアからはずれを98枚開いて、
参加者と司会者の2枚が残ったとき、あたる確率は同じといえるのか。
0513デフォルトの名無しさんNGNG
>>511
そんなことはない。

最初に自分が当たりを引く可能性は 1/3
 この時は、司会者が残りのどちらをあけても最終的に残ったドアははずれだだから...
  ・変えた時ははずれ
  ・変えない時は当たり

最初に自分がはずれを引く可能性は 2/3
 この時は、司会者ははずれを開けて最終的に残るのは当たりだから...
  ・変えた時は当たり
  ・変えない時ははずれ

つまり変えない時の確率は 1/3 の確率でしか当たらないが、変えた時は 2/3 の確率で当たることになる。
0514デフォルトの名無しさんNGNG
>>512-513
説明を読んでもわからない。
ネットの説明でもわからない。
0515デフォルトの名無しさんNGNG
さぁ、みんなで考えよ〜〜う
○●◎
0516511NGNG
あれ?1枚目をめくったとき、自分が正解したかどうかわかるの?
それなら話しは変わるのだが、そうでなければ結局同じじゃないのか?
0517デフォルトの名無しさんNGNG
>>516
> あれ?1枚目をめくったとき、自分が正解したかどうかわかるの?
それがわかったら、100% 正解できるだろうが。
0518デフォルトの名無しさんNGNG
以下、 >>511 は放置の方向で。
0519511NGNG
そりゃそうだな。

ごめん、図示してようやくわかったよ。
Aを正解、B、Cを不正解として書く。
自分は「一番最初に引いたもの」であり、司会者は「その残りの選択肢」
残りは「司会者がその中の1つの不正解を外したもの」として考える。

自分 − 司会者 − 残り 
A ― BC − B(またはC)
B ― AB − A
C ― BC − A

よって、最初で正解する確率は1/3、残りで正解する確率は2/3である。
もっと簡単に言えば「司会者が誤答を減らすので、残りのほうが有利」ということか。
0520511NGNG
C−AB − A

やね…… (恥
0521デフォルトの名無しさんNGNG
清書せい清書を B(ry
0522デフォルトの名無しさんNGNG
問題設定自体があいまいで数学的でないような。。
0523デフォルトの名無しさんNGNG
Aを正解、B、Cを不正解として書く。
自分は「一番最初に引いたもの」であり、司会者は「その残りの選択肢」
残りは「司会者がその中の1つの不正解を外したもの」として考える。

自分 ― 司会者 − 残り 
A  ― BC  − B(またはC)
B  ― AC  − A
C  ― AB  − A

よって、最初で正解する確率は1/3、残りで正解する確率は2/3である。
もっと簡単に言えば「司会者が誤答を減らすので、残りのほうが有利」である。
0524デフォルトの名無しさんNGNG
条件付確率の典型問題

最終的には、2枚の扉が残る。
どちらかひとつが当たりで、もう一方が外れ。

回答者はそれを選びなおすだけ。確率 1/2 。
先ほどまでに選んでいたものも、新しく選びなおすのも同じ確率。
0525謎だNGNG
最初から当たっていて、替えずに当たる確率=1/3*1/2
最初当たっていたのに、替えてはずれる確率=1/3*1/2
最初はずれていて、替えずにはずれる確率=2/3*1/2
最初はずれていたのに、替えて当たる確率=2/3*1/2
0526デフォルトの名無しさんNGNG
>>524
紛らわしいのは、問題の意味。
選択肢は「変える/変えない」であって「どのドアを選ぶか」ではない。

自分が正解を選んでいても、外れを選んでいても
司会者が外れを減らしてから選んだほうが正解率は上がる。
0527デフォルトの名無しさんNGNG
>>525
最初から当たっていて、替えずに当たる確率=1/3*1/2
最初当たっていたのに、替えてはずれる確率=1/3*1/2
最初はずれていて、替えずにはずれる確率=2/3*1/2
最初はずれていたのに、替えて当たる確率=2/3*1/2

以上より、
変えることで得する確率 2/3*1/2 = 1/3 , 損をする確率 1-1/3 = 2/3
よって「変えないほうが得」である。

>>526
>司会者が外れを減らしてから選んだほうが正解率は上がる。

それが条件付。
条件をつけられた以降は、その時点ですべてをリセットしないといけない。
したがって、司会者がドアを2枚に減らした時点で、
自分が選んだドア、と、選んでいないドア、の二つしかない。
だから、変更するかしないかであたる確率は 1/2 である。


...さて、どちらが正しい?
0528デフォルトの名無しさんNGNG
ジョーカーを除いたトランプ52枚の中から1枚のカードを抜き出し、
表を見ないで箱の中にしまった。
そして、残りのカードをよく切ってから3枚抜き出したところ、
3枚ともダイヤであった。

このとき、箱の中のカードがダイヤである確率はいくらか。

http://academy2.2ch.net/test/read.cgi/gengo/1014986922/530-
549のコメントに注目。
0529デフォルトの名無しさんNGNG
>>527
どっちも間違ってる。

> 最初から当たっていて、替えずに当たる確率=1/3*1/2

1/2 ってどう言うこと ?
最初から当たってる確率は 1/3 だ、絶対変えないと信念持ってる人は 1/3 の確率で当たることができる。

> >>526
> 条件をつけられた以降は、その時点ですべてをリセットしないといけない。

アホチャうん ?
0530デフォルトの名無しさんNGNG
>>527
> >>525
> 最初から当たっていて、替えずに当たる確率=1/3*1/2
> 最初当たっていたのに、替えてはずれる確率=1/3*1/2
> 最初はずれていて、替えずにはずれる確率=2/3*1/2
> 最初はずれていたのに、替えて当たる確率=2/3*1/2
>
> 以上より、
> 変えることで得する確率 2/3*1/2 = 1/3 , 損をする確率 1-1/3 = 2/3
> よって「変えないほうが得」である。
以上より、
変える事で損をする確率1/3*1/2 = 1/6,得する確率 1-1/6 = 5/6
よって「変えるほうが得」である。
+激しく矛盾+
0531デフォルトの名無しさんNGNG
>>529
条件付確率についてはそれで正しいと思うが?
確率の和が常に1になるようにしなければならないので。
0532デフォルトの名無しさんNGNG
プログラマなら、プログラムを作って勝負しる!
0533デフォルトの名無しさんNGNG
>>532
禿同
0534デフォルトの名無しさんNGNG
自分が当たりを選んだ時、司会者は残り2つのうち、どちらを選んでもよい。
自分がはずれを選んだ時、司会者は残り2つのうち、必ずはずれを引かなければならない。

1回目 司会者 2回目
--------------------------------------------
 A   B   A  = 1/3 * 1/2 * 1/2
     B   C  = 1/3 * 1/2 * 1/2
     C   C  = 1/3 * 1/2 * 1/2
     C   A  = 1/3 * 1/2 * 1/2
 B   C   B  = 1/3 * 1/2
     C   A  = 1/3 * 1/2
 C   B   C  = 1/3 * 1/2
     B   A  = 1/3 * 1/2

選択を変えない場合……(1+1+2+2)/12=6/12
選択を変えた場合………(1+1+2+2)/12=6/12

結論:1/3のクジが1/2のクジになっただけで、変更に有利不利はない。
0535デフォルトの名無しさんNGNG
100枚のドアから1枚だけ選ぶ!
司会者は 参加者が1枚選んだところで、司会者が残りの99枚のうちはずれを98枚開けてくれる。

つまり、参加者が選んだドアが外れなら(外れる確率は99/100) とてもお得だよね。
さあ、変えた方が得かどうか
0536デフォルトの名無しさんNGNG
100枚のドアから99枚選んでいい確率と同じになる?

0537デフォルトの名無しさんNGNG
>>534
あんたの論理だと、選択変えない人が当たりを引く確率は...

A-B-A: 1/3 * 1/2 * 1/2
A-C-A: 1/3 * 1/2 * 1/2

の2つのパターンだから、2 * (1/3 * 1/2 * 1/2) = 1/6
になっちゃうんだけど、そこで既におかしいと思わない ?
0538デフォルトの名無しさんNGNG
>>537
B-C-B や C-B-C も入るのでは?
0539デフォルトの名無しさんNGNG
>>538
>>534 は、A が当たりと仮定しての話だろ ?
0540デフォルトの名無しさんNGNG
>>539
あ、そうか(汗)。

0541デフォルトの名無しさんNGNG
>>537
当たりを選んでから、選択を変える人が当たる確率は1/6、
はずれる確率も1/6。
当たりを選んでない場合は、選択を変えても変えなくても同じで、
その確率が2/3。

上のほうで、余事象で計算してる人が2人いたけど、
損も得もしない確率を忘れてるね。
0542530NGNG
>>541
一応530だけど
> 余事象で計算
してたので返してみました

・・・ってこのレスって意味間違えてないよね・・・?
0543デフォルトの名無しさんNGNG
>>541
意味わからん。

> 当たりを選んでから、選択を変える人が当たる確率は1/6、

当たりを選んでから、選択変えたら「必ず」外れるんじゃ ?
0544デフォルトの名無しさんNGNG
… >>512 がでてるのにどうして議論が続くかな…
選択を変えた時に当たる確率は、最初の選択が間違ってる確率と同じ。
ドアが 3枚なら 2/3 だし、 100枚なら 99/100 。

# モンテカルロなら書いて確認したけど、読みたい?
0545544NGNG
ぐあ…モンテカルロって、円周率とかのやつだった…
普通に random にやってみて調べる program 、でした。
0546デフォルトの名無しさんNGNG
>>545
ん ? 別にモンテカルロ法って円周率だけじゃないと思うが ?
説明とプログラムは円周率が簡単だし、結果の検証もしやすいから例に良く取り上げられるだけだよ。
0547デフォルトの名無しさんNGNG
>>546
確率論経由じゃないの?
0548デフォルトの名無しさんNGNG
通常は
モンテカルロ法=普通にrandomにやってみて調べるprogram
0549デフォルトの名無しさんNGNG
>>544
2ch では、正答を即答すればするほど、その後に(間違った)反論が続きます。
2ch での正しいレスの返し方は、多少のネタや誤答を待ってから行うことです。
0550デフォルトの名無しさんNGNG
俺がもし511だったら、
  ドアが100枚だったら、
  「参加者が1枚引き、司会者が残りのドアからはずれを【1枚】開いて、
  参加者の1枚と司会者の98枚が残ったとき、あたる確率は同じか?」
  のような例え/解説だってありえる。この場合結論は自明でないだろう。
  つまり例えを用いるなら、その例えの妥当性も添えないと駄目。
とかゴネ煽って議論を混乱させるな。

俺は511じゃないからゴネないよ(w
  
0551デフォルトの名無しさんNGNG
>>550
まぁその場合「入れ替える」とは言わないけどナー
0552544NGNG
>>546-551
…もう少し調べて、考えてから書くようにします。
ごめんなさい。
0553デフォルトの名無しさんNGNG
で、ソースはまだですか?
0554デフォルトの名無しさんNGNG
>>508- からのレスをよく読んでから考えてくれ。

参加者の前にはA,B,Cの3枚のドアがある。どれか1枚の後ろには賞品が隠されている。
参加者はAのドアを選ぼうと、心の中で決めていた。司会者がはずれのドアを開けた後
ドアを変えれば、2/3の確率で賞品をゲットできることも知っていた。
ところが今日の司会者は、参加者がドアを選ぶ前にBのドアを開けた。
『このドアははずれです、さてドアを選んで下さい』

ここで問題。今、参加者の前にはAとCの2枚のドアがある。
参加者がCのドアを開けたとき賞品を獲得する確率はいくらか。

解答を書く時は、>>508の問題でドアを変えた時の、賞品獲得確率も書いてほしい。
0555デフォルトの名無しさんNGNG
最初から一枚少ない状態と変わりなくない?確率
0556デフォルトの名無しさんNGNG
>>554
お前アフォちゃう ?
そんなん 1/2 に決まっとるがな。
0557554NGNG
>>555,556

>>508の問題でドアを変えた時の賞品獲得確率は、
どうなると思うか、教えて下さい。
0558デフォルトの名無しさんNGNG
>557
...どうなるかって、答えはもう出てるじゃないか。
0559554NGNG
いきなり出題ちゅうのは礼を欠いたかも、気分を害されたらスマソです。

>>508の問題とその解答を読んで楽しませてもらいました。(レスは付けてませんが)
「ドアを変えたほうが2/3の確率で有利」という意見が大勢のように見えましたが
どうも、すっきりしない気分なので上のような問題を作ってみました。

(1)司会者が参加者の選択を見てから、他のはずれドアを開けた場合(>>508)
(2)司会者が参加者の選択を知らずに、たまたま他のはずれドアを開けた場合(>>554)

で、どう条件が違うのか 2/3派の方たちの意見もとむ。
0560デフォルトの名無しさんNGNG
変更前の確率 変更後の確率
1) 1/3 + 2/3 = 1
2) 1/2 + 1/2 = 1
0561デフォルトの名無しさんNGNG
>>554
この問題は、次のように書き直すことができる。

司会者の前にはA,B,Cの3枚のドアがある。どれか1枚の後ろには賞品が隠されている。
ところが参加者は遅刻をしてしまった。先に司会者がはずれのドアであるBを開けてしまった。
そのあと参加者はやってきたのだが……

ここで問題。今、参加者の前にはAとCの2枚のドアがある。
参加者がCのドアを開けたとき賞品を獲得する確率はいくらか。

************************************************************
ということで1/2。
参加者がどれを選択しても、それを司会者に伝えなければ影響はないので。
0562561NGNG
523じゃダメなのか?
0563デフォルトの名無しさんNGNG
数学板にスレあるの?
もしあったら教えて!
わからなかったので。
0564デフォルトの名無しさんNGNG
>>562
523は「Aを正解、B、Cを不正解として書く」という前提が誤り。
Aが不正解のケースを加味すれば1/2となる。
0565564NGNG
間違った

自分A 残りBC 司会者B 最終的な残りC
自分A 残りBC 司会者C 最終的な残りB
自分B 残りAC 司会者C 最終的な残りA
自分C 残りAB 司会者B 最終的な残りA

だから1/2だ
0566デフォルトの名無しさんNGNG
今自分でプログラム作ってみたけど
選択を変えた方が有利になってしまいますね。
うあー,納得したくない・・1/2 だと信じて疑わなかったのに・・
0567デフォルトの名無しさんNGNG
あー,今 >>512 を冷静に見直してやっと納得できたです。。。
0568デフォルトの名無しさんNGNG
プログラムいじってると,また混乱してきたかも(笑い

10000 回の試行で,
 ドアを選ぶ→司会者がドアを開ける→そのまま派 .. 3333 回正解

同じく 10000 回の試行で,
 ドアを選ぶ→司会者がドアを開ける→選択を変える派 .. 6666 回正解

ちょっと考え方を変えて
 ドアを選ぶ→司会者がドアを開ける→
   「残ったドアのうち,どちらを選ぼうか」と考え直す派 .. 5000 回正解

まぁ大体こんな感じになりますた。むちゃくちゃ面白いー。
これってゲーム理論と通じるところがあるですか? ゲーム理論は昔から興味があったけど。
0569デフォルトの名無しさんNGNG
>>565
どうして最初の選択で、AがBやCの2倍?
確率というのは単純な場合分けじゃないよ。

>>568
ソースきぼん
0570デフォルトの名無しさんNGNG
よく分からないので、
 ABCの内、最初にAを選んだとする。
 Aが当たる確率は1/3。Aが外れる確率(BCの内どちらかが当たる確率)
 は2/3。
 この場合はBCのどちらかに当たりが含まれる場合100%当てることができ
 る(司会者がはずれを教えてくれるから)。
 よって変えた場合は確率2/3で当てることができる。
という認識でいいの?
0571デフォルトの名無しさんNGNG
>>570
いいよん。
「選択を変える」という戦略をとると、最初に当たりを選んでいた場合は
自動的に外れ、最初に外れを選んでいた場合は自動的に当たりになる。
だから、当たる確率は最初に外れを選ぶ確率に等しい。
0572デフォルトの名無しさんNGNG
>>567

>>512は「番組の司会者はどのドアの向こうに賞品があるか知っている!」
という前提条件に違反しているので誤り。

各ドアに当りが有る確率は1/3、司会者がドアを1つ開けたとしてもそれは
100%ハズレのドアに決まっているので、残りのドアは選択肢が1つ減ったことにより
それぞれ当る確率が1/2に繰り上がる。

この問題は以下のように書きかえる事ができる。

「ドアが三つある。当りは1つ。ドアが1つ開けられ、それはハズレだった。
 さて残りのドアの当る確率はそれぞれどれほどか?」

参加者が最初に選んだドアか否かは、当る確率に何ら影響を与えていない。
0573デフォルトの名無しさんNGNG
>>572
そこに条件付確率を入れると、問題の性質が変わるよね、ってことを言っているわけで。

>>572 そのものと、

最初に選んだドアが当たりだった場合、はずれだった場合に基づいて、
それぞれの選択変更による当たり・はずれの確率を求めること、と。
0574デフォルトの名無しさんNGNG
>>573
ん?「司会者が当りを知らないという前提」って事?
それならば残りの箱が当りの確率が2/3ってのは分かる。
0575568NGNG
// リクエストがあったのでソース。恣意的な部分はないと思いますが,ツッコミ希望
// 1 of 3
#include <iostream>
#include <stdlib.h>
#include <time.h>

int answer, panelists_selection, hint_door;

// ドアと賞品を準備
void prepare_3_doors_and_prize() { answer = rand() % 3; }

// 解答者はドアを適当に決める
void panelist_decides_door() { panelists_selection = rand() % 3; }

// 司会者は一度ドアを開ける
void master_decides_which_door_to_open() {
  for ( int i = 0; i < 3; ++i )
    if ( i != panelists_selection && i != answer ) {
      hint_door = i;
      return;
    }

  throw "やべぇ";
}
0576デフォルトの名無しさんNGNG
自分が最初に選んだ扉が当たりの確率は、司会者が何をしようと1/3のまま。
あたりまえだろ。
0577デフォルトの名無しさんNGNG
>>572
ちゃんとすべてのパターンで検証した?
自分がはじめから当たりの場合と外れの場合で確率がことなるでしょ。
0578デフォルトの名無しさんNGNG
// 2 of 3
// 選択は変えない派
void panelist_does_nothing() { /* noop */ }
// もう一方のドアへ選択を変える派
void panelist_changes_door() {
  for ( int i = 0; i < 3; ++i )
    if ( i != hint_door && i != panelists_selection ) {
      panelists_selection = i;
      return;
    }
  throw "やべぇ";
}
// 「2つのドアのうち,どちらを選ぼうか?」と改めて考え直す派
void panelist_decides_again() {
  int which = rand() & 1;
  if (hint_door == 0) {
    if (which == 0) panelists_selection = 1;
    else panelists_selection = 2;
  }
  else if (hint_door == 1) {
    if (which == 0) panelists_selection = 2;
    else panelists_selection = 0;
  }
  else {
    if (which == 0) panelists_selection = 0;
    else panelists_selection = 1;
  }
}
0579デフォルトの名無しさんNGNG
// 3 of 3
int main( int ac, const char *av[]) {
  typedef void (*strategy_t)();

  strategy_t panelist_final_answer[] = {
    panelist_does_nothing, // 戦略 0
    panelist_changes_door, // 戦略 1
    panelist_decides_again // 戦略 2
  };

  srand( time(0) );

  for (int strategy = 0; strategy < 3; ++strategy) {
    int right = 0; // 正解の数
    for (int i=0; i<10000; ++i) {
      prepare_3_doors_and_prize();
      panelist_decides_door();
      master_decides_which_door_to_open();

      // 解答者は何をするか?
      panelist_final_answer[ strategy ]();

      if (answer == panelists_selection)
        ++right;
    }
    std::cout << "戦略 " << strategy << " 正解数 : " << right << std::endl;
  }
  return 0;
}
0580デフォルトの名無しさんNGNG
>>572
>>>512は「番組の司会者はどのドアの向こうに賞品があるか知っている!」
>という前提条件に違反しているので誤り。

どこがどう違反してるのかわからん。

まさか、>>512の
>司会者側にあたりがある確率は2/3
を「司会者があたりをあける確率が2/3」と誤解してるのか?
0581デフォルトの名無しさんNGNG
全パターンを網羅するとこうなる
○:変えないで当りになる
△:変えて当りになる
×:今回は考えなくて良いケース

■当りがAのケース
自分A 司会者B 残りC○
自分A 司会者C 残りB○
自分B 司会者A 残りC×
自分B 司会者C 残りA△
自分C 司会者A 残りB×
自分C 司会者B 残りA△

■当りがBのケース
自分A 司会者B 残りC×
自分A 司会者C 残りB△
自分B 司会者A 残りC○
自分B 司会者C 残りA○
自分C 司会者A 残りB△
自分C 司会者B 残りA×

■当りがCのケース
自分A 司会者B 残りC△
自分A 司会者C 残りB×
自分B 司会者A 残りC△
自分B 司会者C 残りA×
自分C 司会者A 残りB○
自分C 司会者B 残りA○

よって1/2
0582デフォルトの名無しさんNGNG
>>580
>どこがどう違反してるのかわからん。

司会者は当りのドアを絶対に開けないので、選択肢が減った事による
確率の増加を残りのドアだけに与える理由が無い。
故に

>司会者がはずれを1枚あけたとしても、司会者側にあたりがある確率は
>2/3のままだから

は前提に違反している。
0583デフォルトの名無しさんNGNG
ドアが始めnあり、司会者がn-2の(はずれの)ドアをあけた場合に、
参加者がドアを変更することであたりを得る確率は、1-1/(n-1) ってことでよい?

n=3, 1-1/2 = 1/2
n=100, 1-1/99 = 98/99
0584デフォルトの名無しさんNGNG
1/3が外れであることが確定した場合に残り2つのドアを選択する1/2の確率の
条件付確率だから、1/3 割る 1/2 で 2/3

だろ?
0585デフォルトの名無しさんNGNG
>1/3 割る 1/2 で

だから、それが間違いだっつーの!(笑
0586デフォルトの名無しさんNGNG
A を選んだ時「あなたは 2/3 の確率でハズレですよー」と示唆されているわけで,
じゃあ残りの 2/3 の可能性も検討してみようかとふと脇を見ると,
なんと何時の間にか C のドアが開いているではないか! しかもハズレだっ!
という事で,B が当たりの確率は 2/3 になります。

これと似たような雰囲気で頭を悩ませる問題は技術者なんたら試験にも出て来ますよね?
「システムが上手く稼動する確率は 0.9 だ」とか値が示されているけど,
実際に計算する場合は 1 - 0.9 = 0.1 みたいに「上手く動かない確率」を
求めておくってのがポインツだったり・・・詳しくは忘れたけど・・・
0587デフォルトの名無しさんNGNG
>>582
よく考えろよ。

「残り2枚に当たりがある確率は2/3」
↓
「司会者が外れを1枚除く」
↓
「残り1枚に当たりがある確率は2/3」

これの、どこにおかしい点があるんだ?

それと、
>確率の増加
なんて意味不明な言葉を使うのはヤメロ
最初に選んだ扉が当たりの確率は常に1/3。
減ったりも増えたりもしない。
0588デフォルトの名無しさんNGNG
>>586
>なんと何時の間にか C のドアが開いているではないか! しかもハズレだっ!
>という事で,B が当たりの確率は 2/3 になります。

偶然にCが空き、かつそれがたまたまハズレならばその通り。
しかしそれは「司会者はどれが当りか知っている」という前提に違反するので誤り。
0589デフォルトの名無しさんNGNG
戯れに作ってみた。
http://www.geocities.co.jp/SiliconValley-Oakland/9797/door.lzh
http://www.geocities.co.jp/SiliconValley-Oakland/9797/door_src.lzh
0590デフォルトの名無しさんNGNG
>「残り2枚に当たりがある確率は2/3」
>↓
>「司会者が外れを1枚除く」
>↓
>「残り1枚に当たりがある確率は2/3」
>
>これの、どこにおかしい点があるんだ?

司会者は100%ハズレのドアを開けるので、それは最初から存在しないドアであるのと同じ。
だから残りのドアの確立だけ1/3から2/3に上げる根拠は無いのに上げているのがおかしい。
参加者が選んだドアも、選ばなかったドアも、当りの確率は1/3、分母が1つ減って1/2。

なんで、残りのドアを特別扱いするのか不思議


0591デフォルトの名無しさんNGNG
>>590
司会者は自分が最初に選んだ扉を空けられないからだよ。

つか、自分が最初に選んだ扉が当たりの確率は1/3のままなんだってば。
「司会者が外れを空けたから確率は1/2に増えた」なんて言うのは、
偶然当たったあとで「俺が選んだ扉は100%当たり」って逝ってるのと同じ。
ただの結果論。
0592デフォルトの名無しさんNGNG
レベル低〜
0593デフォルトの名無しさんNGNG
解ればもう一気に鼻の通りがよくなる程の快感なんだが
解らない時のもどかしさと言ったら…
とにかくがんがれ>まだ解ってない人
0594デフォルトの名無しさんNGNG
『眠れる夜のグーゴル』に載ってるネタじゃな。
分からん人は読んでミソ。
0595ぬるぽ男爵 ◆7jriffTro. NGNG
わからない人にヒントじゃ。
司会者は、当たりを知らないとしよう。
Aが当たりとすると、パターンは6通りじゃ。

自司残
ABC
 CB
BAC
 CA
CAB
 BA

しかし司会者が当たりを知っていると・・・
0596デフォルトの名無しさんNGNG
100枚の場合でいうと。

ドアを変えない場合は100枚のドアから一枚を選ぶ権利しか与えられないのと同じ。
ドアを必ず変える場合は100枚のドアから99枚選ぶ権利を与えられたのと同じ。

残り2枚になって運を天に任せコインを投げて変更するかしないか決めた場合は確率1/2。
0597デフォルトの名無しさんNGNG
>>596
「変えない」という決断をした時点で、2回目の選択をしたことになる。
結果的に同じものを選んだからといって、最初の確率と同じではない。
0598デフォルトの名無しさんNGNG
    _,,...,_
  /_~,,..::: ~"'ヽ
 (,,"ヾ  ii /^',)
    :i    i"
    |(,,゚Д゚) < http://www.k-514.com/
    |(ノ  |)  
    |    |  
    ヽ _ノ
     U"U
0599デフォルトの名無しさんNGNG
100枚のカードがあります。
左の扉にはそのうち1枚だけを 右の扉には残りの99枚を入れました。
あたりがどのカードかは判りません。

さて、A君は 1:99 である事を知っていましたが、
B君はその事を知らず、どちらかに当たりが入っているとしか知りません。

A君とB君の当てられる確率はそれぞれいくらでしょうか?
0600デフォルトの名無しさんNGNG
当たりが1枚しかない宝くじが300万1枚発行されました。
あなたは1枚買いました。でも残りの300万枚を買い占めた大富豪が
あなたの1枚と大富豪の300万枚を交換してもいいといいました。
あなたならどうしますか?
0601デフォルトの名無しさんNGNG
大富豪「お前が当たるか俺が当たるかの二つに一つだから
どのみち確率は1/2だな、がっはっは!」
0602デフォルトの名無しさんNGNG
日本語では二つに一つだが
それと確立とは違うぞ
0603デフォルトの名無しさんNGNG
Establish?
0604デフォルトの名無しさんNGNG
y
0605596=600=601NGNG
>602
目の前に扉が2つ残されて、「どちらを選んでも確率1/2だな」
と思ってしまう状況を大富豪の台詞にしてみたんですが。
ちょっと強引すぎですかね。
>596, >600, >601書いたのは私です。
0606596=600=601NGNG
・日本国民の中から無作為に選ばれたA君。
・残りの国民の中で最も足の速い人間B君。
このふたりが100m走をした場合、勝つのはどちらでしょう。

ってもういいですね。
0607デフォルトの名無しさんNGNG
N+N=NN
0608デフォルトの名無しさんNGNG
A=正解、BC=不正解

選択A(1/3)
 司会者の持ってるカード:ABC−A=BC
 不正解を1つ外した残り:BorC(どちらを選んでも結果は一緒)=不正解

選択B、C(2/3)
 司会者の持ってるカード:ABC−(BorC)=A(BorC)
 不正解を1つ外した残り:A=正解

選択を変えた場合
 正解:不正解=2:1

これはもういいんだろ?
0609デフォルトの名無しさんNGNG
まだ2/3とか言っている人がいるんですか。

いいですか?司会者はハズレのドアを知っているので

・参加者が選んだドアと、はずれのドア
・残りのドア

とドアを分類する事が可能です。それぞれ当たる確立は1/2です。
はずれのドアを開けてもやはり1/2であることに変化は無いのです。
0610デフォルトの名無しさんNGNG
おいおいおいおい…… 書いている意味がぜんぜん解らないよ……

自分が最初にハズレのドアを選択する確率は、最初2/3だろ?
そして司会者が色々やって残った奴が正解する確率は(その中で)1/1だろ?
2/3 * 1/1 = 2/3じゃないのか?
0611デフォルトの名無しさんNGNG
>>609
では次の問題なら?

3つのカードがあり、あたりは一つです。
これを2つの箱に入れました。 片方は1枚、片方は2枚入っています。

最初に箱を選択した後、 司会者はその箱にはカードは1枚しか入っていないと教えました。

その後、選択しなおしてもいいと言いました。

さあ、最初の箱のままにした場合の当たる確率はいくつ?
変更した場合の確率は?
0612デフォルトの名無しさんNGNG
> 司会者はその箱にはカードは1枚しか入っていないと教えました。

って選ぶ人も箱にカードを入れるところを見てりゃわかるじゃん。
「その箱」って、選択された箱、の意味だよね?
それとも「正解のカードが入っている箱」の意味?
箱を選択することで、あたりが決まるの?
箱を選んだあと、カードを選ぶの?

選ぶ人にとって何が明らかで何がわからないことなのか、
文章から読み取れません。プログラミングのための国語と文章表現
スレを立てて、ほかの皆さんに教えを乞うてください。
0613610 NGNG
611じゃないんだけどさ、はぁ〜〜 やれやれっていう感じだね。

まあ612の意味がわからないという指摘も最もだが、後ろの1行半は見苦しいだけ。
っていうか611が何を言いたいのか漏れもわからん。
0614デフォルトの名無しさんNGNG
ム板なんだし、ソースまで晒してくれたんだから>>568を評価してやれよ(w
特に1/2派の人。
0615デフォルトの名無しさんNGNG
つーか司会者イラネ
0616デフォルトの名無しさんNGNG
誰かババ抜きで実験してくれない?
当たりが1/10か1/13なら、各条件20回ずつぐらいでも有意な差が出ると思う。
0617デフォルトの名無しさんNGNG
ネットで調べたら、ruby用のソースがあったので、TCに移植してみた。
0618617NGNG
/* TurboC++用のソース */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SELECT 3 // 選択肢
#define MAX 10000 // 試行回数
int win; // 選択を変えて当たった回数
void monty(void) {
  int i, hit, choice, door, decide;
  hit=rand()%SELECT; choice=rand()%SELECT; // 当たりと最初の選択
  for (i=0; i<SELECT; i++) {
    if((i!=hit) && (i!=choice)) { // 司会者が開けるのは、
      door=i; break; // 当たりでも挑戦者の選択でもないドア
    }
  }
  for (i=0; i<SELECT; i++) {
    if((i!=choice) && (i!=door)) { // 挑戦者が選択を変えて選べるのは、
      decide=i; break; // 最初の選択でも司会者が開けたドアでもないドア
    }
  }
  if(decide==hit) win++;
}
void main(void) {
  int i;
  win=0; randomize();
  for(i=0; i<MAX; i++) monty();
  printf("%5d / %5d\n", win, MAX);
  getch();
}
0619デフォルトの名無しさんNGNG
代数学
0620デフォルトの名無しさんNGNG
幾何学
0621デフォルトの名無しさんNGNG
>>607
(あ)極限が1進数になるので不可能。
(い)ローマ数字なら出来るともいえる。
  i + i = ii (1 + 1 = 2)
  X + X = XX (10 + 10 = 20)
0622デフォルトの名無しさんNGNG
この問題はモンティホール・ジレンマと呼ばれ、
過去に数学・経済学界で大論争を引き起こした問題だ。
答えは「変えた方が得」なのだが、
その答えに納得がいかなくても恥じることはない。
http://www.google.co.jp/search?hl=ja&inlang=ja&ie=Shift_JIS&q=%83%82%83%93%83e%83B%83z%81%5B%83%8B+%83W%83%8C%83%93%83%7D&btnG=Google+%8C%9F%8D%F5&lr=

だから、そろそろ話題変えんか?
0623デフォルトの名無しさんNGNG
>>622
いや、十分恥じるべきだと思うが・・・
中学受験にも出たことのある問題だよ。
0624デフォルトの名無しさんNGNG
今現在1/2派の人って何人いるんだろ?
1人だけ?
0625デフォルトの名無しさんNGNG
しょうがねえなあ、わかりやすく611を書き直してやるか。
これで納得いかない1/2派には、どうしようもないので。

司会者は3つのボールと大きさの異なる2つの箱を参加者に見せた。
「この3つのボールのうち、1つは当たり、残り2つは外れです。」
参加者は、その中から1つを選んだ。
司会者は参加者が選んだボールを小さいほうの箱に入れ、
残り2つのボールを大きいほうの箱に入れた。
司会者は参加者に尋ねた「さあ、どっちの箱に当たりが入っていると思う?」

当然、大きい箱のほうが正解する確率は高いだろう?
大きい箱からボールを1つ取り出すなんていう行為は、何にも関係ない。
むしろ、回答者を混乱させる罠。

     <<<< 話題を変えるために、ネタ募集中 >>>>
0626デフォルトの名無しさんNGNG
ボケが居ないように補足するが、ボールは外から見ても当たりか外れかは解らないからな。
0627デフォルトの名無しさんNGNG
今日の参加者はモナーとギコの二人だ。
モナーはAのドアを選び、ギコはCのドアを選んだ。
ここで、司会者は残ったBのドアを開ける。はずれだ。
『ドアを変えても良いですよ。』

モナーはCのドアに変えれば2/3の確率で賞品獲得、
ギコはAのドアに変えれば2/3の確率で賞品を獲得できる。

これであってるの? >>2/3派の人
0628デフォルトの名無しさんNGNG
>>627
 残念だけど、交換しても確率は1/2だ。

A) 最初の問題は、必ずハズレを除いた場合にどうなるか
  これは 1:1+1 になる

B) 新しい問題は、たまたまハズレの場合にどうなるか

  1/3の確率でBには当たりが入っていた。だから、
  1:1:1 となる。
  蓋をあけた時点でゲームが終る確率が1/3あったという事

0629625NGNG
問題がすり変わってるし……

いいか、もちついてよく聞け。

2人以上参加するのであれば、
 1.他人が選択したものが何であるのか解らない
 2.司会者は各人別々に選択肢を1つずつ外す
必要がある。

そうでなければ前提条件が変わってしまうので、確率も変わって当然。
0630625NGNG
っていうかそもそも残ったドアが正解だったらどうなるのさ(笑)
0631デフォルトの名無しさんNGNG
箱の中に玉が5つ入っています。
赤い玉が2つ。白い玉が2つ。黒い玉が1つです。
箱の外から中の玉を見る事はできません。

貴方は箱に開けられている穴から両手を入れ、
左手と右手に玉を1つずつつかんで取り出しました。

左手につかんでいる玉を見てみると赤い玉でした。

その時に、右手も赤い玉をつかんでいる可能性はどのくらい有るでしょうか?
0632デフォルトの名無しさんNGNG
1/4
0633デフォルトの名無しさんNGNG
いい加減やめろよ。
これ以上この手の問題やりたいなら

「論理思考力トレーニング法:気がつかなかった数字の罠」
マリリン.サヴァント著、東方雅美訳訳、中央経済社

を読め。
モンティホールジレンマをはじめにコラムに出したマリリン嬢の書いた本で
その問題をはじめ色々な問題がのってる。
0634デフォルトの名無しさんNGNG
つーか出題する前に日本語をもっと勉強しる
0635デフォルトの名無しさんNGNG
天才数学者でもわからなかったくらいの難問。
気にするな。
0636デフォルトの名無しさんNGNG
つーか元ネタを間違って解釈した上に機械翻訳を256回かけたような日本語に辟易としているだけと思われ
0637デフォルトの名無しさんNGNG
とりあえず事実は認めるべきだと思う。
>>544 氏もモンテカルロ法で確かめた事があると言うし
>>575-579 >>589 >>618 にはソースコードもある。
コード内で恣意的に確率をコントロールしている部分が
あると主張したいなら、その部分を指摘するべきだし、
そうでないなら次は "なぜこれが正しいのか" を考えるのが建設的。
0638デフォルトの名無しさんNGNG
3日止めた(´ー`)y-~~
0639デフォルトの名無しさんNGNG
みんな読書中・・・??
0640デフォルトの名無しさんNGNG
>633や637に同意したと思われ。

というか次にageるときは、何か問題書いてくれ!
0641山崎渉NGNG
(^^)
0642山崎渉NGNG
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0643デフォルトの名無しさんNGNG
保守age

問題募集中
0644デフォルトの名無しさんNGNG
問題

直径rの円の円周の長さを2πとする。
また、円の面積を円周によって囲われる内側の領域の大きさとする。

この時、円の面積Sをrとπを用いてあらわしなさい。
(当然のことながら公式そのまま書くだけってのはなしね)
0645デフォルトの名無しさんNGNG
πもってきたら公式しか書きようがないと思うが
0646デフォルトの名無しさんNGNG
>>644
直径rの円の円周の長さを2πとする。
 ↓
直径rの円の円周の長さを2πrとする。
0647644NGNG
>>645
それじゃ面白くない。
もっと笑えるネタキボン
0648644NGNG
>>647
人の名前使わないように・・。
公式の証明というか導出問題のつもり。

積分使えば一発(0からrまでのxでの円周長の定積分∫2πx=πr^2)なのかな。
できれば小学生か中学生レベルの回答を見てみたい。
0649デフォルトの名無しさんNGNG
人の名前を勝手に使わないようにだって?
644と名乗ったのはこのスレでは>>647が初めてだと思うが。ログ読んでいないがな。
0650デフォルトの名無しさんNGNG
中学生なら
 3角形の面積は 底辺*高さ/2
 円を3角形でN分割すると 
  一つの3角形の底辺はおよそ 2πr/N 高さは r 面積=πr^2/N
  N個分の面積は πr^2
0651デフォルトの名無しさんNGNG
printf("π\n");
0652デフォルトの名無しさんNGNG
(微小面積) = (円周) X (微小半径) 
dS = 2πrdr
0-rで積分して
s = πr~2
0653デフォルトの名無しさんNGNG
>>649
>>644 のカキコと共に暗黙に 644 の一時コテハンが定義される。
このコテハンのスコープは当該スレのみとする。
0654:NGNG

☆^〜^★ 50音順で探せて楽して得する
http://sagatoku.fc2web.com/
   あなたの探し物きっとみつかるよ☆^〜^★
0655デフォルトの名無しさんNGNG
統計的熱力学方程式における
ボーズアインシュタインの法則を
示せ。(東大82)

(答え)
 アインシュタインにボーズという接頭語が付くことによって
それによるアインシュタインのカツラである可能性を示唆している。
逆にアインシュタインという接尾語が付くことにより
それに伴うボーズのアインシュタイン性も問われてくる問題。
落ち着けば解ける本問は合否を分けるポイントといっても
いいだろう。

 解き方だがまずボーズについて解き、リサイクリックな3変数関数g(x)
して仮定し、かつ真性包茎条件と、童貞条件より
     e- >= 2/3*(yzu+アイーン)+シュタイナー;
と同値変形できる。
だがこれでは実測の値と大きく異なってしまうので
アインシュタインが修正を加え、不確定要素としてSを右辺に加えた。
     e- >= 2/3*(yzu+アイーン)+シュタイナー+S;
これがボーズアインシュタインの法則である。

物理学的にはただしいのだが、この式を工学的に実用に耐えうるものに
するには微分係数をkと置きそれ導く。
g(x)+Sのグラフを書くと右図のようになり(ry)
見事にアインシュタインの髪の形になって、カツラをここに見出せた。
g'(x)のグラフの場合も同様にボーズのアインシュタイン性を示すものとなる。
0656デフォルトの名無しさんNGNG
わらいどころがまったくわかりません。
0657デフォルトの名無しさんNGNG
本当のボーズアインシュタインってどんなんだっけや?
0658デフォルトの名無しさんNGNG
偶数 奇数の問題でしょ。 偶数は2つに別けられる数 奇数は真ん中がいる数ね


偶数だと ボーズアインシュタイン統計に従う。
この場合、同じものを置換すると対称になる。
奇数だと、置換操作で反対称になる。

同じものを置換して反対称になるという事は、
もし、2つが同じ状態にあると置換すると反対称になる事になり、矛盾する。
だから、この場合、同じ状態になれない。

ボーズアインシュタイン統計は全てが同じ状態を取る事が出来る。
0659デフォルトの名無しさんNGNG
なんかちがくない?
0660デフォルトの名無しさんNGNG
>>659
じゃ、解説
0661デフォルトの名無しさんNGNG
>>512
そうだね
この場合、究めて高い確率で司会者の方にあるのだから。
その圧縮された解を選択するほうが得ですな。
0662デフォルトの名無しさんNGNG
うーん、だから例えば 級数展開 a0+a1*x+a2*x^2+.... で
偶数次以外の係数がゼロなら、偶関数と呼ばれてるよね
たとえば cos は 遇関数

で、f(x)が偶関数だと、f(x)=f(-x) 奇関数だとf(x)=-f(-x) ね

二つに別けられるかどうかの単純な性質が、凝縮するかどうかにまで影響するって面白いよねって話でしょ
0663デフォルトの名無しさんNGNG
プログラミングに必要な数学の分野というのは
具体的にどのへんなんですか?
0664デフォルトの名無しさんNGNG
>>663
プログラミングを何の為にするかの問題で、
 例えば、GUIを使ったCAD とか ゲームを作りたいならベクトルとか行列は必要だしね
でも、プログラミング全般の為に必要な数学は無いと言ってもいい。

ただし、概念に名前を付ける事、そして帰納的な思考は共通するものがあるよね。
0665デフォルトの名無しさんNGNG
10進数の数字を32ビット実数型に変換する方法教えて下さい
0666デフォルトの名無しさんNGNG
10進数は Σan*10^n の形で表現されています ですんで、その通りに計算すれば良いです。

逐次計算に変換するなら、
例えば123なら 
1、先頭の 1 を代入 
2、次に2を見て 前の1を10倍して 2を足す 結果12
3、次に3を見て 前の12を10倍して 3を足す。 結果123です

0667デフォルトの名無しさんNGNG
自分頭悪いんでよくわからないんですが

10進数  32ビット実数型
75    → 00009642
100   → 0000C842

例でいうと↑になるらしいんです
どうやれば32ビット実数型になるのか知りたいんです
0668デフォルトの名無しさんNGNG
>>667
それは10進数->実数変換じゃなくて 整数->実数変換が知りたいという事?

10進数->実数変換は、四則演算が定義済(作成済)なら四則演算から>>666のように作成すればいい
0669デフォルトの名無しさんNGNG
で、 整数->実数変換 が知りたいなら両方の内部表現を知らないといけない

例えば
ttp://www.ne.jp/asahi/license/ikawa17/info_fe/p_lesson/f_syou.html

で、具体的には
1、整数値のMSBを符号ビットに
2、整数値の絶対値を
3、2^23 より大なら右シフト 小なら左シフトを繰返して 2^23 に収める
4、シフト回数から指数部を
0670デフォルトの名無しさんNGNG
>>668
すみません 整数->実数変換 の方です

両方の内部表現を知らないといけないんですか
かなり難しそうですね ちょっと勉強してきます
簡単に変換してくれるツールみたいな物でもあればいいですが
その辺はスレ違いっぽいのでそろそろ消えます
答えて頂いてありがとうございました
0671デフォルトの名無しさんNGNG
川合堂ライセンス(´_ゝ`)
0672デフォルトの名無しさんNGNG
>>657
ボーズ・アインシュタイン統計

ボーズ粒子の従う統計。
ボーズ粒子は粒子の交換に対し波動関数が不変な粒子である。
粒子が同じ状態にいくつも存在する事ができ、
その事を考慮した統計になっている。

波動関数の符号が変わる粒子をフェルミ粒子と呼び、
この場合は同じ状態には1個までしか粒子が入れない。
これを考慮した統計をフェルミ・ディラック統計と呼ぶ。

これらは粒子数を多くしていくと
古典的なマクスウェル・ボルツマン統計に近似的に等しくなる。


しかし、「ボーズ・アインシュタインの法則」なんて言い方
今まで聞いた事無いんだが、東大、大丈夫か?
0673デフォルトの名無しさんNGNG
全然、このスレを読んでもわからん
小学生には難しい・・
0674デフォルトの名無しさんNGNG
毛生えたか?
0675デフォルトの名無しさんNGNG
673はほんとに小学生なのか?
35だろ。
0676デフォルトの名無しさんNGNG
小生の間違いか?
0677デフォルトの名無しさんNGNG
小学6年生でつ
毛生えてますよ
0678デフォルトの名無しさんNGNG
>>672

> これらは粒子数を多くしていくと
> 古典的なマクスウェル・ボルツマン統計に近似的に等しくなる。

「温度が高くなると」かも。
0679デフォルトの名無しさんNGNG
>>677
いいなぁ。俺、中学に上がってからだよ。
0680デフォルトの名無しさんNGNG
>>678
ごめん。
0681デフォルトの名無しさんNGNG
C言語スレで見つけた問題

 ピタゴラス数 a^2=b^2+c^2 を満たす 整数 a,b,c が共通の約数を1以外持たない時 a,b,cのいずれかは素数である。 これは真か?


どうも、a=a1*a2 b=b1*b2 c=1c*c2  となる場合もありそうな気がするのだが
0682bloomNGNG
http://homepage.mac.com/ayaya16/
0683デフォルトの名無しさんNGNG
>>681
65 16 63
この場合どれも素数でないけど共通の約数はないよね?
間違ってるかも。
0684デフォルトの名無しさんNGNG
>>683

65=5*13
16=2^8
63=3^2*7

ですね。 という事で、
http://pc2.2ch.net/test/read.cgi/tech/1051528386/686 さん
素数かどうかの判定では見逃す可能性が出て来ます。

共通の約数があるかどうかユークリッドの互助法で求めるしかないでしょう。
0685デフォルトの名無しさんNGNG
1-sqrt(1-x)においてabs(x)<<1のときに誤差が大きくなる原因と
その解決方法を探しています。
スレ立てるまでもない質問スレで級数展開を教えていただきましたが
その他の方法はありませんでしょうか?級数展開はわかんないんです。
0686デフォルトの名無しさんNGNG
誤差が大きくなる原因は、 電卓ででも、
a =1-a;
a =1-a;
とこの計算を2度やってみましょう。
数学的には元に戻る筈ですが、aが小さい程誤差が大きくなります。

浮動小数点数は c*2^d という方式で表現します。c,dのビット幅は固定です。
その為、1-a の段階で aの下位ビット情報が捨てられてしまう事になります。
ただし 1-a という計算結果ちゃんと 実数部の精度があります。

級数展開は 質問スレで書いたとおり
x/2 + x^2/8 + x^3/16+5*x^4/128+.. です。 x^4 が無視出来る程度に小さい時に 3次までの結果を使うといいでしょう.
0687デフォルトの名無しさんNGNG
他の方法が無いかという件ですが、
y=1-√(1-x) として (1-y)^2-(1-x)=0 と変形、ニュートン法で解くのが速そうです
0688デフォルトの名無しさんNGNG
>>686
一部私の理解力の限界を超えましたが
取り敢えず3次の級数展開をやってみます。

ちなみにsqrt(1-x)=x/2 + x^2/8 + x^3/16+5*x^4/128+.. 
なのでしょうか?
どこを級数に展開するのかも・・・
0689デフォルトの名無しさんNGNG
その級数展開は 1-sqrt(1-x) です sqrt(1-x) は 1-x/2-x^2/8 ・・・・ となります。
0690デフォルトの名無しさんNGNG
ある整数 x を N 進数表現したいとき、どうすれば効率よく、かつシンプルに出来ますか?

いまは
N, N^2, N^3 と累乗していって、割ったときに0 になるまで増やしていって、
例えば、 25 を 3 真数でやるなら、
25 = 2 * 3^2 + 7
7 = 2 * 3^1 + 1
1 = 1 * 3^0
という感じでループを使っているのですが、もっと効果的な方法があるのではないかと思いまして。
0691デフォルトの名無しさんNGNG
ttp://markun.cs.shinshu-u.ac.jp/learn/biseki/no_9/cont09_4.html
次数が落ちるたびに符号変わるから
3項目プラスと違います?
0692デフォルトの名無しさんNGNG
ニュートン法で精度を上げる方法
準備
  z=(1-y)^2-(1-x)=y^2-2*y+x これをyで微分
  z'=2(y-1)

手順
1、y =1-sqrt(1-x)でyの初期値を求める
2、y =y-(y^2-2*y+x)/(2y-2) を2〜3度繰返す

>>691 sqrt(1+x) ならその通りですが、1-sqrt(1-x) なので全項が+です
0693デフォルトの名無しさんNGNG
>>690
 普通はシフト演算とビットを見る事で行います。
 msbを見るなら 16ビットなら $8000 と and して 左シフトしてゆきます
 lsbを見るなら 1とand して右シフトしてゆきます
0694685NGNG
>>686 687 689 692
取り敢えず級数で教えていただいたものを
用いたら正しいものができました。ありがとうございます。
ニュートン法の方も試してみます。
なんか感動しました。
ありがとうございました。
0695685NGNG
ニュートン法挫折・・・д
だめだ・・・
0696デフォルトの名無しさんNGNG
>>690
ごめんなさい、N進法を聞いてるんでしたね。
  除算命令があるCPUなら 除算命令は割算結果と剰余が同時に出るので

25を変換する場合 3で割っては剰余を求めていけばOKです
25 = 8*3+1
  8 = 2*3+2
  2 = 0*3+2

という事で3進法 221 が求まります。

0697デフォルトの名無しさんNGNG
除算が高速でないCPUの場合、テーブル検索を使います。

16bitの場合、上位H と 下位L に別けると H*256+Lとなります。
それぞれ 8ビット分のテーブルを用意しておきます。
3進法だと11桁分必要です。
11桁分のバッファを用意しておいて、3進加算をするわけです。

下位桁から3^5+3^2+3+1 から計算してもいいのですが
0698デフォルトの名無しさんNGNG
>>692
では
ttp://www2s.biglobe.ne.jp/~hatena/products.html#6
からめも電卓を落として下さい。
x=1E-10
y =1-sqr(1-x)
y*y-2*y+x
y =y-(y*y-2*y+x)/(2*y-2)
y*y-2*y+x

の5行を1行づつコピペしては改行して下さい
1回目のy*y-2*y+x では誤差が大きいことが判りますが、2回目でゼロになってるでしょ?

ニュートン法は一般的には1回実行すると精度が倍になる手法です。
0699692NGNG
>>698
y*y-2*y+xが誤差を表しているんですね
ということは、cでは、何らかの命令文を
使用して、その誤差が一定値いかに収まるように
その計算を繰り返す方法をとればよいと?
取り敢えずやってきます。
do whileでいけるのかな・・・
c超初心者なんでがんばります
0700デフォルトの名無しさんNGNG
>>699
 ループしなくても
 y =1-sqr(1-x) は十分良い近似値なんで
double の精度範囲なら
 y =y-(y*y-2*y+x)/(2*y-2)
を無条件で2回実行すれば十分です。
0701699NGNG
>>699
メモ電卓で計算すると確かに2回で十分ですね。
一応プログラムとして提出しなければならないので
形にしておきました。
誤差のy*y-2*y+xが-方向から0に近づくことを
忘れていて誤差範囲の指定をプラスにしてしまった
ため途中死にそうになりましたが、
なんとか、なりました。
ありがとうございました。m(_ _)m
0702デフォルトの名無しさんNGNG
697の続き

もっと一般的には n 進数加算を作っておき
 2倍しながら2進数変換と同じように変換してゆきます

つまり n 進数で 1 2 4 8 16 32 64 256 516・・・を作って はデータのLSBを見ては加算しデータを右シフトするわけです
0703山崎渉NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0704デフォルトの名無しさんNGNG
あげ
0705デフォルトの名無しさんNGNG
保守
0706デフォルトの名無しさんNGNG
2進、10進、16進の相互変換を脳内でスパッとできるようになりたいのですがどのような訓練をすればいいですか?
0707デフォルトの名無しさんNGNG
実際に脳内で毎日相互変換したら?
0708デフォルトの名無しさんNGNG
>>706
インドの算数の教科書を読みなさい。
0709デフォルトの名無しさんNGNG
>>706
まず、次の数列を空で言えるまで練習しる。

2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536

ひとつずつ指を折りながら、4番目が16、8番目が256、12番目が4096、
16番目が65536だ。
0710デフォルトの名無しさんNGNG
指でやってる人が他にもいるとは・・・
「それなにやってるの?」と言われてからあまり人前でやらないように
してる。
0711デフォルトの名無しさんNGNG
>>76
ダンプリストを毎日眺める。
ファイルフォーマットの解析をしたりすると覚えられるかも。
0712デフォルトの名無しさんNGNG
  
0713デフォルトの名無しさんNGNG
保守的になにか質問ありますか? と聞いてみる
0714山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0715デフォルトの名無しさんNGNG
>>713
PerlでCGI組むだけのおしごとしてるんですが、
知っておくと便利な数学知識ってありますか?

つーても数学得意なのに文系の大学言ってたので、
高校数学まではばっちし、大学の数学はわからん。
(雑誌「大学への数学」の元、学コンマンですた・・・
つーても、しらんか)
0716デフォルトの名無しさんNGNG
>>715
ない、CSSでも覚えとけ。
0717715NGNG
>>716
そっすか。CSSは知ってるさー
0718デフォルトの名無しさんNGNG
プログラミングするなら、言語に関わらず
ブール代数ぐらいは知っといた方がいいような…
0719デフォルトの名無しさんNGNG
>>718
まぁ、当たり前だな。結局、そう言う言語非依存のところが武器になってくるわけで。
でも、わざわざ勉強するほどのことかとも思う。特に1ビットな演算なら。
0720デフォルトの名無しさんNGNG
>>719
で、そういう基礎がすこんと抜け落ちてる椰子多くね?
日本語もそうなんだが。

0721デフォルトの名無しさんNGNG
あー、画像処理や図形描くのにすら数学的知識が必要なようだ。
三角関数以来数学を投げ出した(赤点回避以上の勉学をしてない)俺が
プログラマとして大成するのは無理というものだろう。

709のような小技というか小手先の鍛錬は文系向きだと思った。
0722デフォルトの名無しさんNGNG
とりあえず2^nは麻雀で覚えた訳だが
0723デフォルトの名無しさんNGNG
coeciffientの決定はどうなってるの?
0724山崎 渉NGNG
(^^)
0725デフォルトの名無しさんNGNG
1 2 4 8 16 32 64 128 256 512
1024 2048 4096 8192 16384 32768 65536
0726デフォルトの名無しさんNGNG
>>723
スペルあってる?
0727デフォルトの名無しさんNGNG
coefficient
0728山崎 渉NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0729デフォルトの名無しさんNGNG
っていうかそもそも残ったドアが正解だったらどうなるのさ(笑)
0730デフォルトの名無しさんNGNG
問題

ある点をクリックされました。
その点がある四点で囲まれた図形の範囲内に
あるかどうかを求めなさい。
ある点とある四点はすべて違う位置にあるものとします。
0731デフォルトの名無しさんNGNG
ある4点のうち、3点が直線に並んでたりすると極めてめんどくさかったりするんだよね。
その手の問題って。
0732デフォルトの名無しさんNGNG
>>730
まず二次元なのか三次元なのかはっきりさせろ。

(クリックとか言ってるから、二次元だろうと思うけど...。)
0733デフォルトの名無しさんNGNG
>>730
内積を求める
0734デフォルトの名無しさんNGNG
内積というのはなんですか?
0735デフォルトの名無しさんNGNG
>>733 ほんとに内積か?

4点をA, B, C, D として、クリックされた点をPとする。
P が ベクトルAB,ベクトルBC,ベクトルCD,ベクトルDAのすべてに対して同じ側にあればよい。
PがベクトルABに対してどちら側にあるかは
ベクトル AP を p, ベクトル AB を q として
p.x * q.y - p.y * q.x が 正か負かで判断できる。

四角形 ABCDが凸多角形でない場合は、二つの三角形に分割して、
どちらかの三角形に含まれるという条件で判定する。
0736デフォルトの名無しさんNGNG
706じゃないけど、漏れも暗算できるようになっときたい。

709の数列は言えるけど、それだと2進と10進の変換だよね?
2進と16進の脳内変換方法も教えて
0737デフォルトの名無しさんNGNG
>>730
三角形の頂点3つと、中の点1つを考えて見ましょう。この4点が囲む
図形は一意に定義できません。凸でない図形3つがありえる。
さらには、外側の三角形も対象に含む場合もあるでしょう。

「4点が張る凸包内に」と問題を与えれば適当だったことでしょう。

>>735
正負で判断できるのは、ABCDが(辺が互いに交わらない)多角形の
頂点順に整列している場合のみで、4点に辺をつけたとき鼓の形に
なる場合うまくいきません。よって、一般の場合を考えて奇偶(パリティ)
を使ってください。
0738737NGNG
>>730
あるいは凸包がいやなら、四辺形の頂点になるよう4点に順番をつけて
問題を与えるとか。
0739デフォルトの名無しさんNGNG
「凸包」ってなんて読むの?
とつほう/おうほうでいいのかな?
0740デフォルトの名無しさんNGNG
「おうほう」なんて言葉はたぶんない。
0741デフォルトの名無しさんNGNG
>737
質問! パリティをどんなふうに使ったら解決しますか?
0742デフォルトの名無しさんNGNG
凹面で囲まれた図形だから、凸閉包の余事象(あるいは凸閉包=凹閉包?)か。

>>730 >>737-738
4点を、適当な解釈によって、それらを包含する凸閉包に拡張する考えもあるようです。
そのものずばりは見つからなかったけど、手順(生成物)が同じページを発見
http://www.biwako.ne.jp/~hidekazu/advanced/spmech.htm
0743デフォルトの名無しさんNGNG
2進→16進なんて、2進数を読めるかどうかしかないと思うが。
4ケタずつに区切ったら後はパターン認識だろ。2進→10進よりかずっと楽。

0744デフォルトの名無しさんNGNG
>>735
733ではないが
4点をA, B, C, D として、クリックされた点をPとして、
A, B, C, D がPの周りを時計回り、または反時計回りの順番に並んでいる場合は
APB, BPC, CPD, DPA のなす角の合計が2πまたは-2πになることで
判断できることが言いたかったんでないの
この場合だと、凹でもOK
0745730NGNG
わるい。問題出しておいて答えを出すのを忘れていた。
数学苦手なので、これで実装したとだけ書いておきます。

http://www.geocities.co.jp/SiliconValley-Bay/4543/Rubic/SelectFace/SelectFace-1.html
0746デフォルトの名無しさんNGNG
3点から角度を取るにはどうすればいいっけ?
0747デフォルトの名無しさんNGNG
余弦定理
0748デフォルトの名無しさんNGNG
double dx1 = p1.x - p0.x;
double dx2 = p2.x - p0.x;
double dy1 = p1.y - p0.y;
double dy2 = p2.y - p0.y;
double a = atan2(dx1 * dy2 - dx2 * dy1, dx1 * dx2 + dy1 * dy2);
0749デフォルトの名無しさんNGNG
>>747
>>748
ちょうさん助かりました。
精進します。
0750デフォルトの名無しさんNGNG
ある点の回転

// 回転する角度(radian)
// M_PI == 3.1415...
double s = 90*M_PI/180;

// 回転させる点
double x = 1;
double y = 0;

// 支点
double fx = 0;
double fy = 0;

// 支点からの距離 x-fx y-fy
double xx = ((x-fx)*cos(s)-(y-fy)*sin(s))+fx;
double yy = ((x-fx)*sin(s)+(y-fy)*cos(s))+fy;

結果
xx6.1230317691118863e-017
yy1.0000000000000000

yyはOKなんですがxxがふっとぶのはなぜなんでしょう。。。
0751デフォルトの名無しさんNGNG
ふっとんでるようには見えませんが?
0752デフォルトの名無しさんNGNG
あれれ。。
0を90度回転しても0なんじゃ(+_+
高校の教科書開いてきます
0753デフォルトの名無しさんNGNG
あ、浮動小数点についてわかっていなかった。ごめんなさい。& thx!
0754デフォルトの名無しさんNGNG
齢27にして、数Iの参考書買ってきました。とほほ。
ちょっと複雑な式見るたびに丸1日考え込むのには飽きた。基礎から叩き直す。
0755デフォルトの名無しさんNGNG
誰か、ある1点から均一に放射される線を乱数で生成する方法教えてくれ。
昔、2chの数値計算かどっかのスレで見た記憶があるんだが忘れてしまった。。。
0756デフォルトの名無しさんNGNG
0〜2πまでの乱数を作って(0.0) 〜 (sin(r),cos(r) )の直線を引く
0757デフォルトの名無しさんNGNG
>>756
あ、すまん。重要なこと書き忘れた。
「空間内で」です(汗
0758デフォルトの名無しさんNGNG
0〜2πまでの乱数を2つ作ればいいでしょ?
0759デフォルトの名無しさんNGNG
こういう時の「均一」ってwell definedな中でuniqueに定まるの?
自明な一つは想像付くけど、自明でない奴もあったりしない?
0760755NGNG
>>758
極座標のthetaとphiに一様乱数を振ると北極と南極に偏るっス。
>>759
uniqueとかどうかとかの議論は良いので、
とりあえずその自明な1つを教えてplease
0761755NGNG
>>759
すまん。読み間違えた。
解法がuniqueかどうかってレスしてるのかと思った。
ある球面に一様に分布する乱数点の生成がやりたいんです。
これでuniqueですよな?
0762デフォルトの名無しさんNGNG
>>760
一様乱数なのに、どうして極に隔たるのですか?
0763デフォルトの名無しさんNGNG
球じゃなくて円筒なら偏らないのにね。
0764デフォルトの名無しさんNGNG
ああ、なるほど 緯度経度方式にしちゃったんですね?

そうじゃなくて2度直行する方向い回転させてはダメ?
0765デフォルトの名無しさん NGNG
3次元空間の場合、回転軸が一定な限り
極に分布が偏ると思う。

クォータニオン使えば回転軸に縛られないから
できるかも・・・
0766デフォルトの名無しさんNGNG
X,Y,Zの3軸で0〜2πの回転させればいいじゃないの?
0767755NGNG
>>764
おっしゃるように緯度経度でやってました。
2度直行する方向に回転させるつーのは、具体的には何やるんですか?
>>765
できるかもっていうか初めて聞いた言葉なんですが。。。
0768デフォルトの名無しさんNGNG
球面上の一様分布って、Knuthの本に載っていたような気がするけど、
手元に本がない
0769デフォルトの名無しさんNGNG
(-1,-1,-1)〜(+1,+1,+1)の乱数を発生させて、原点からの距離が1より大きいのは破棄するとか。
0770デフォルトの名無しさんNGNG
>>769
それだと、球「面」じゃなくて、球体の中になるぞ
0771755NGNG
>>768
探してみます。
>>769
それで、球体内の点を球面上に移せば一見良さそうですが、
やはり捨てる分の点の偏りが出る気がします。
0772デフォルトの名無しさんNGNG
>>767
クォータニオン(四元数)っていうのは簡単に言っちゃうと、
一般の複素数を拡張したような概念で、a+bi+cj+dk(a,b,c,dは実数、i,j,kは虚数)
っていうふうに記述されたりする。
これを使うと3次元でのあらゆる回転を4つだけの値で表現できる・・・
っとまぁ、詳しいことは興味があれば自分でしらべてもらって、

で難しい話抜きにしてクォータニオン使った場合の、
一様分布な球面座標値の計算手順は次のようなかんじです
(実際に確認してないのであまり自身ないです)

1.4つの値、a,b,c,dを乱数により生成
2.a,b,c,d各値の2乗の和が1になるように、それぞれの値を正規化する。
3.次の式より、x,y,zの値を求める

x = 1 - 2 * (b * b + c * c)
y = 2 * (a * b + c * d)
z = 2 * (a * c - b * d)

これで求めた(x,y,z)が半径1の球体上の
球面に位置する任意の座標値となるはず。

でも、こんな小難しいことしなくても
766の方法でシンプルにいけるかもしれませんね。
0773770NGNG
>>771
> それで、球体内の点を球面上に移せば一見良さそうですが、
> やはり捨てる分の点の偏りが出る気がします。

あ、そうか、それでうまく行くかも知れない。

球体内に均等分布するから、各点の座標を、中心からの距離で割ってやれば、
偏りはない。

(乱数そのもの質が悪くて、3次均等分布しないなら別だけど、まさかそんな
粗悪品をライブラリに入れているやつはおるまい)
0774755NGNG
>>772
実装してみましたが、偏ってました。
でも、面白そうなので勉強してみます。
>>773
球面内は確かに一様ですが、球外の捨てる分の点の分布は
球面に対して一様ではないと思うのでまずい気がします。
>>766
の方法は具体的にどうやるんでしょうか?
0775772NGNG
774>>
すいません、補足です。

2.の手順で正規化された値を求めるとき、
とりうる範囲が-1.0〜+1.0なので
乱数だすとき、負の値も考慮する必要があります。

偏ってしまったのは正の値のみの乱数で計算してしまった
ためかと思われます。
0776デフォルトの名無しさんNGNG
>>774
> 球外の捨てる分の点の分布は
> 球面に対して一様ではないと思うのでまずい気がします。

捨ててしまったものについては、考えなくていいと思う。

と、いうより、一様分布に悪影響を与えるものを捨てているのだ。と、
解釈したほうがいいんじゃない?

つまり、

「x,y,z が -1から1の範囲だというだけだと、立方体の中で
均等分布するから、これを中心からの距離で割って球面上に
移しても、球面上に均等分布はしない。立方体の頂点付近の
密度が高くなる)。
だから、球の外にある点は捨てる。」

と、いうこと。
0777デフォルトの名無しさんNGNG
777なら明日阪神優勝
0778デフォルトの名無しさんNGNG
>>755
1. φを[0, 2π)の一様乱数で作る。
2. tを[-1, 1)の一様乱数で作る。
3. θ=arccos(t)
4. x=sin(θ)cos(φ)
5. y=sin(θ)sin(φ)
6. z=cos(θ)
7. パンにはやっぱりネオソフト
8. (゚д゚)ウマー?
0779デフォルトの名無しさんNGNG
>>778
極地方を引き伸ばせばいいのだとは思ったけど、そっか、arccos なのか・・・
0780デフォルトの名無しさんNGNG
れれ?>>778
z=cos(θ)=cos(arccos(t))=t だから、これは高さ(z)に関して
点の密度を一様にしようという戦略といえるよね。

でも、赤道付近で1周まわした幅1センチの帯と、
極付近の幅1センチの帯では、赤道付近の方が
面積大きいじゃん。だから778だと、球の面積あたりの
点の密度は違ってしまう気がするけど。
0781755NGNG
>>775
確かに、0~1.0にしてました。
-1.0~1.0にすると、確かにそれらしいものができました。不思議だ。
>>776
勘違いしてました。確かに、これでできますね。
>>778
これも実装してみるとうまくいっているみたいですが、、、
この式はどうやって出てきたんだろう?

こうやって振り返って見ると結構解法あったんですねぇ。
直観的には776が一番分かりやすいかな。
みなさんどうもありがとうっス。
0782デフォルトの名無しさんNGNG
>>781
> この式はどうやって出てきたんだろう?
2次元の単位球面だよ。
0783780NGNG
778でうまくいくのか。
プ>疑った俺
もっと勉強するか。
0784776NGNG
>>781
計算量という点でも、三角関数を使わないので776に書いたやり方が
お勧めではないかと。

ところで、Knuth の本を押入れから探し出して読んでみたら、おそるべき
回答が載っていた。

『平均ゼロ分散1の正規分布乱数』をN個用意して、
(x1,x2, ... XN) を作り、これを中心からの距離 sqrt(x1*x1 + x2*x2 + ... xN*xN)
で割ると、N次元空間の球面に一様分布する。

と、いうことなんだそうな。

776と似ているけど、一様分布の乱数ではなく正規分布の乱数を使うと、
*何も捨てていない* のに、球対称に分布するというのがポイント。

本には詳しい説明はなかったけど、考えてみると確かにそうだ。

単純に考えると、一様分布の時と同じで、立方体の頂点に近い場所の密度が
高くなりそうだけど、x,y,z はそれぞれ正規分布しているので、x,y,zの3成分が
同時に大きくなる確率は低いということで、うまく辻褄があう。

正規分布乱数同士の和は正規分布するので、座標軸を回転させても、
新しい座標軸で見た各成分は、やっぱり平均ゼロ分散1の正規分布乱数になる。
結局、この球状に広がる点々たちは中心からの距離にのみ依存する密度関数を
持つから、各点の座標値を中心からの距離で割ってやれば球面上に均等分布すると。

3次元だったら、776のほうが単純でいいと思うけど、高次元の空間については、
捨てる場合が増えてくるから、こちらのほうがいいかも。
0785755NGNG
>>782
極座標なのは分かるんですが、arccos使ってるあたりが謎なんです。
>>785
うーん、xyzの独立した正規分布合わせると
軸の方向によらずに一定の正規分布になるってことですかね?
本当なんですかね、、、Knuth疑うわけじゃないんだけど。
なんか考えると熱出そう。。。
ところで、正規分布の乱数はボックスミュラー法とやらで作るのかな?
(さっきググった)
0786デフォルトの名無しさんNGNG
>>780
「高さに対する密度」であることに注目だね。
赤道付近で1周回した高さ1センチの帯と、
極付近の高さ1センチの帯は
極付近だと半径が短い分、幅が広くなっているので、
面積は実は等しくなるってことで。

>>785
z=cosθな部分の円周の長さは2πsinθになるから、
θの確率密度が sinθ/2 になるようにすれば、球面上での分布が一様になる。
-1〜1の一様乱数(確率密度=1/2)である t との変換を考えると、
∫(-1〜t) (1/2) dx = ∫(0〜θ) (sin(x)/2)dx
になればいい(確率密度を積分したもの = 確率 が等しくなるようにする)。
これを解くと t = -cosθになる。
てなわけで、θ=arccos(t)
0787デフォルトの名無しさんNGNG
もまえらクォータニオンって言うなよ。
Hamiltonの四元数(しげんすう)って和名がちゃんとあるんだ。まあ別にいいけどさ。
# octonion (ケイリーの八元数)もあるぞ

んで、やっぱKnuthのTAoCPって持っているべき?
上で驚異的な解法がもたらされたりしているようだが。
0788デフォルトの名無しさんNGNG
>>787
ハミルトンの四元数は四元数の一部だぞ?
わかってるか?
0789デフォルトの名無しさんNGNG
四元数って実際には使わないモノだと昔教わったものだが……
3D関連で利用されてるんだね。
0790デフォルトの名無しさんNGNG
>>789
射影空間の方が良く使うがな。
0791デフォルトの名無しさんNGNG
>>789
クォータニオンによる回転表現はジンバルロックが起きないのが便利です。
アフィン変換と違って、クォータニオンでは移動や拡大縮小が表現できないので、
アフィン変換行列を作る下請けに使うことが多いけど。
0792デフォルトの名無しさんNGNG
そろそろ表現論ヲタが口を挟みそうな予感。
0793デフォルトの名無しさんNGNG
ご相談です。

16bit マシンでaに 0〜0xffff の値を設定し、実際に使う時bはスムーズに変更させたいとします。

そこで、毎サイクル b := b+(a-b)/256 のような計算をさせる事にしました。
が、これを整数演算ですると不感帯が出来てしまいます。

32bit中間レジスタ w(wh+wl) を用意して
w := a*256L+ b*256L
   if w>0 then wh:=wh+1
else if w<0 then wh:=wh-1
b := b+wh

とすればいけるのですが、分岐を使わず、上手い計算手法はないでしょうか?
0794793NGNG
用途は組込で、実際はアセンブラで書いています。
毎サイクル±1ならCFを使って上手く書けるのですが、それでは今度は時間がかかりすぎる為
b=b+(a-b)/256付近の変化量にしたいのです。
0795793NGNG
あ w := a*256L- b*256L です

今考えているのは 16bitレジスタ w
w := (a - b) して
if ボロー then begin //負数
 w-> キャリーを含めた右シフトx1
 w-> 算術右シフトx7
 b:=b+w;
end else begin
  ( w+$FFFF) して CFを残す
 w-> 算術右シフトx8
 b:=b+w+CF
end;

これでもまだ分岐が一つ入るので、なんとかこの分岐を減らせないかなと
使うCPUの特性は バレルシフト可能・ 分岐は4サイクルと重いのです
0796デフォルトの名無しさんNGNG
単純に

long w =(long) ((unsigned long)a - (unsigned long)b);
int pls=-((-w)>>16L); //1以上ならなら 1
b = b+(w >> 8L);
b = b+pls; //算術右シフトで失った 0〜255 をカバーする

これでいいんじゃないの?
0797793NGNG
>>796
あ! そのせんで考えてみます。ありがとうございました。
079827才♀NGNG
数学板に書き込もうか迷ったんですけど…

論理回路の問題で
「全加算回路の真理値表から直接論理式を構成してみなさい」
っていう問題でつまづいています。

  真理値表
a b c | s c'
-------------
0 0 0 | 0 0
0 0 1 | 1 0
0 1 0 | 1 0
0 1 1 | 0 1
1 0 0 | 1 0
1 0 1 | 0 1
1 1 0 | 0 1
1 1 1 | 1 1

うまく表になったかな?
入力a,bと下からの桁上げcが与えられて、
その和sと上への桁上げc’を出力する回路です。
ブール代数の流れから来てる問題なんですけど、
ググっても理解できなかったのです(-_-;)
数才のない女に知恵を貸してください(m__m)
0799デフォルトの名無しさんNGNG
>>798
結婚してくれ
0800デフォルトの名無しさんNGNG
>>798
まず結果が1になるもの全てについて成り立つ式を考える
それから簡略できるところを簡略するって感じで行くのが良いかと。
bool s,a,b,c,c_dash;
s = ( !a && !b && c ) || (!a && b && c) || etc.....
c_dash = ( !a && b && c ) || (a && !b &&c ) || etc....
ってな感じで
0801デフォルトの名無しさんNGNG
>>798
27にもなって
なんでそんなことやってんの?
080227才♀NGNG
>>800さん
レスありがとうございます!
記号の意味(&&とか!)を他の教科書を参考にして解読してみます!
>>799
できればしたいです。
>>801
このまま行くとケコーンできないかもしれないという焦りから、
高校の教員免許を取る為に通信制の大学に入学したのです。
必修科目のレポートの為なのです(汗
0803デフォルトの名無しさんNGNG
>>802
&&はAND、||はOR、!はNOT相当。
×:s = ( !a && !b && c ) || (!a && b && c) || etc.....
○:s = ( !a && !b && c ) || (!a && b && !c) || etc.....
だった。スマソ
0804デフォルトの名無しさんNGNG
カルノー図を描いてみたけど、sは
>>800のより簡単にはならないみたいだな。

c' の方は、少しは簡略化できる。
0805デフォルトの名無しさんNGNG
>>800
xorが使えるなら、
s = a^b^c なんだが。。
あとは、
c_dash = (!a && b && c) || (a && (b || c))
ってのどう? お前ら確かめて下さい。
0806805NGNG
ageスマソ..
あと、s/800/798/g スマソ..
0807805NGNG
c_dash = (b && c) || (a && (b || c))
になった。
080827才♀NGNG
みなさんありがとうございました!
c_dashの簡略化がわかるまで時間がかかりましたが、
なんとかできました。
おかげさまで、違う問題まで解けました。
プログラミングは必修なので、逃れられないけど、
この板を参考にがんばります!
0809デフォルトの名無しさんNGNG
数学というより統計なのだけど、時々見かける erf は何の略ですか?
0810デフォルトの名無しさんNGNG
Error function の略じゃないですか? 正規分布・ガウス分布

googleで検索したら

誤差関数 erf(X) は、ガウス分布関数を 0 から x まで積分したもの

とか出てくるよ。
0811デフォルトの名無しさんNGNG
和田秀男先生の『コンピュータと素因子分解』
http://www2.odn.ne.jp/yuseisha/daiki/comp.htm

これに近いようなことをもう少し高度な話題まで書いてある本はありますか?
0812デフォルトの名無しさんNGNG
>>811
とりあえず判らないけど あげよう
0813デフォルトの名無しさんNGNG
直接関係あるかわからないけど、GIMPSってのが素数を探し続けてるよ。
http://www.mersenne.org/
って知ってるよね。
暗号理論に関する本ならいくつか知ってるけど、
なんのために素因数分解するの?
0814デフォルトの名無しさんNGNG
直接関係あるかわからないけど、GIMPSってのが素数を探し続けてるよ。
http://www.mersenne.org/
って知ってるよね。
暗号理論に関する本ならいくつか知ってるけど、
なんのために素因数分解するの?
0815デフォルトの名無しさんNGNG
>>813-814
そこに合成数があるから
0816デフォルトの名無しさんNGNG
既出かもなんですが、時間間引きFFTでまず順番を偶奇に並び替えて
fftsample/2のfftを二回再帰で呼び出していって、fftsampleが2に
なったら2sampleのdftを計算してretしたcodeをかいたんですがなんか
間違ってますでしょうか??
諸先輩方の御意見賜りたく候。
みたいな。。。
http://ea.uuhp.com/~rifkw/fftk.c
なんかうまくいかないんです。。


0817素人NGNG
排他論理和を教えて下さい
0818デフォルトの名無しさんNGNG
>>817

入力1 入力2  出力
偽    偽    偽
偽    真    真
真    偽    真
真    真    偽

排他的論理和についてこれ以上何が知りたいというのだ…
0819デフォルトの名無しさんNGNG
入力1 入力2  出力
偽    偽    偽
真    真    偽
この二つは理解しがたい。
偽を1、真を-1とすれば理解できるけど。ってそりゃ積か。
0820デフォルトの名無しさんNGNG
「排他」論理和ですよ。
一人しか通れない穴みたいなものを想像して理解しよう。
0821デフォルトの名無しさんNGNG
>>817
主に特定のビットを反転する時に使う。
>>818 を見れば分かるが、
入力2が真の時には入力1が逆の結果になり、
偽の時には入力1がそのまま返される。
つまり、反転したいビットのみ1にしたものを入力2にしてやれば
入力1の特定のビットだけを反転する事が出来る。

>>819
ベン図書けばよく分かるぞ。
ttp://www4.ocn.ne.jp/~p-mayuge/kaisetsu/ronrienzan.html
0822デフォルトの名無しさんNGNG
>>819
排他的論理和は a != b のときに真になる演算。

和と付くのは、
真…1、偽…0で、
a XOR b = a + b を2で割ったあまり
という風にも考えられるからかな?
0823デフォルトの名無しさんNGNG
>>822
だからベン図書けば名前の由来もすぐ分かるんだって。
0824デフォルトの名無しさんNGNG
論理を数字で考えるから混乱するんだって!

a^b
↓
(a & !b) | (!a & b)
0825デフォルトの名無しさんNGNG
>>819
なんていうか、排他的論理和はそういうものって納得するしかないだろう。

2入力1出力の論理関数は全部で16種類あるが、入力1と入力2について対称なのはそのうち8種類
そのすべてに名前を付けてるだけだな。

入力それぞれのパターンに対する出力を並べてみると、
両方偽 真と偽 両方真 関数名
  偽   偽   偽   恒偽
  偽   偽   真   論理積(AND)
  偽   真   偽   排他的論理和(XOR)
  偽   真   真   論理和(OR)
  真   偽   偽   否定論理和(NOR)
  真   偽   真   排他的論理和の否定(XNOR)
  真   真   偽   否定論理積(NAND)
  真   真   真   恒真
と、これだけの関数があることになる。
恒真関数や恒偽関数は意味がないし、NAND/NOR/XNOR はそれぞれ AND/OR/XORの否定だから省くと、

論理和(OR, |)/論理積(AND, &)/排他的論理和(XOR, ^) の3種類が残る。

XORをなぜ「排他的論理和」と呼ぶのかは、>>823 の言うとおり。
0826デフォルトの名無しさんNGNG
XNORって、どこの方言よ?
普通は EQUIV とか EQUIVALENT とかいわねえか?
0827デフォルトの名無しさんNGNG
>826
キーワード意味を理解して使用するなら何でもよろし。
0828デフォルトの名無しさんNGNG
ぐぐってみたらXNORって結構たくさん見つかった。反省。
0829デフォルトの名無しさんNGNG
どうでもいいが、
XNOR: exclusive negated OR
より、
NXOR: negated exclusive OR
の方がいいんじゃないか?
0830デフォルトの名無しさんNGNG
pとqは排他的論理和
= p ≠ q
= (p ∨ q)∧-(p ∧ q)
0831デフォルトの名無しさんNGNG
  ∧_∧   ∧_∧
=( ´V`)∧-( ´∧`)
0832デフォルトの名無しさんNGNG
p∀q
0833デフォルトの名無しさんNGNG
>>829
入力側でNOTしても出力側でNOTしても同じだから意味的にはOK
0834デフォルトの名無しさんNGNG
MSX-BASICにはIMPがあったけど、外のBASICはどうだったんだろ
0835デフォルトの名無しさんNGNG
  ∧_∧
  (゚Д゚ ,,)    {age)
  (u u_)〜
0836デフォルトの名無しさんNGNG
>>833
ウソをかくな

>>839
VBにはあるみたい
0837836NGNG
間違えた
>>839 じゃなく >>834

Imp 演算子
2 つの式の論理包含演算を行います。
0838833NGNG
>>836
(!a ^ !b) == !(a ^ b)

どこか間違ってるか?
0839833NGNG
完全に間違ってるな。
ごめんなさい。
0840デフォルトの名無しさんNGNG
ワロタ。ドンマイ
ド・モルガンの法則だな。
あれ、ド・モアブルってのもあったな
0841833NGNG
>>840
a || b == !(!a && !b)

これのことだよな。
今度は間違ってないよな?
0842デフォルトの名無しさんNGNG
>>838
こうか?

・ (!a ^ !b) ==(a ^ b)

・ (!a ^ b) == !(a ^ b) == (a ^ !b)
0843デフォルトの名無しさんNGNG
>>837
Impって小悪魔のことだよね。
小悪魔演算子?
0844デフォルトの名無しさんNGNG
MATLABで線形計画を解くのですが
定式化をお願いします!

5種類の合金を混合して、40%がスズ、
35%が亜鉛、25%が鉛から出来ている
新しい合金を作る。
   |スズ|亜鉛|鉛 |価格
__________________________________
合金1|60|10|30|22
合金2|25|15|60|20
合金3|45|45|10|25
合金4|20|50|30|24
合金5|50|40|10|27

最小の購入費用で目的の合金を
作るために各合金はどれだけ
購入すればよいか、定式化せよ
Min 22*x1 + 20*x2 + 25*x3 + 24*x4 +27*x5
s.t.

という感じでお願いします
0845デフォルトの名無しさんNGNG
60*x1 + 25*x2 + 45*x3 + 20*x4 + 50*x5 ≧ 40
10*x1 + 15*x2 + 45*x3 + 50*x4 + 40*x5 ≧ 35
30*x1 + 60*x2 + 10*x3 + 30*x4 + 10*x5 ≧ 25
0846844NGNG
>>845 さん
ありがとうございます
0847844NGNG
もう一問お願いします。
3つの工場でそれぞれ缶詰を製造し、
4つの問屋に販売している。
輸送費を最小にする輸送計画を求める
線形計画問題として定式化せよ。

各工場から問屋への輸送費は次の通り
    問屋A |問屋B |問屋C|問屋D|
工場1|464 |513|654|867
工場2|352 |416|690|791
工場3|995 |682|388|685

各工場の生産の上限
工場1|75
工場2|125
工場3|100

各問屋の需要
問屋A|80
問屋B|65
問屋C|70
問屋D|85

Min ???
s.t. ???
お願いします
0848デフォルトの名無しさんNGNG
>>874
二匹目の泥鰌は居ない

という事じゃなかろうか(藁
1つで御の字と我慢しつつ自力で頑張ってみろと言うのが正解かと(藁
0849デフォルトの名無しさんNGNG
文字列から(32bit)整数へのハッシングで計算負荷の軽いヤツ、
って言われたら皆さんどんなの使いますか?
0850デフォルトの名無しさんNGNG
>>849
*(unsigned long int *)string;

三文字以下だとゴミが入るから注意してくれ。
0851デフォルトの名無しさんNGNG
>>850
それだと三文字以下のを考慮しても 32bit 整数全体を舐めれない。
0x00 が途中に入ってくる数値を表せないし、
0x01-0x1F (\r, \t, \n を除く), 0xFD-0xFF とか
普通入ってこないし。

((unsigned long*)str)[0] + ((unsigned long*)str)[1]
の七文字以下を考慮したものとかどうかな?
0852つーか、ネタにマジレスするなよ。NGNG
>>851
> 32bit 整数全体を舐めれない。

そんな要件は書いてないけど ?

> 計算負荷の軽いヤツ

が最優先だろ。
0853849NGNG
>>852
すいません.
ハッシングという言葉で32bit全部なめるという意図を含められると思っていました.
できれば32bit全部をなめられるほうが良いです.

>>850,851
すいません.よく分からないのですが,他のメモリ空間の値をハッシュとして使う
という発想だと理解してよいでしょうか?
0854デフォルトの名無しさんNGNG
>>853
> ハッシングという言葉で32bit全部なめるという意図を含められると思っていました.

ハッシュにそんな意味はない。
ただ、32bit 全て使うほうが衝突が減るので効率的になるため、通常は 32bit 全て使うようにする場合が多い。

> すいません.よく分からないのですが,他のメモリ空間の値をハッシュとして使う
> という発想だと理解してよいでしょうか?

ぜんぜん間違ってる。つーか、「他のメモリ空間」ってどっから出てきた ?

C 言語を知らないと言うことか ?
だったら使う予定の言語書いてくれ。
0855デフォルトの名無しさんNGNG
極端な例なら、0とか0xffffffffとか0xdeadbeafとか決め打ちでも
hashはhashなわけかも。常に衝突するから意味ないけど最速。

それに比べれば>>850は結構いけると感じた。a-zしか現れないと
大胆に仮定しても、26^4(ほぼ2^19)ものhash key値を取りうるやん。
リアルな英文だったりすると相当偏るかもね。

>>850ほど速度を追求しないなら、32bit単位で全体をxorするのが
普通に考え付く汎用で速いhaskじゃないかな。実際よく見るでしょ。
0856849NGNG
>>854
ようやく理解しました.Cは知っているつもりだったのですが・・・_| ̄|○
K&Rの角に頭ぶつけて逝ってきます・・・

>>850
これだと4文字以上の同じprefix持っている文字列に
同じhashが割り振られるのが気持ち悪いんですよね.
0857849NGNG
>>855

l = strlen(str);
hash = 0;
for(i = 0; i < l / 4; ++i){
hash ^= ((unsigned long int *)str)[i];
}
a = (l / 4) * 4;
for(i = a; i < l; ++i){
hash ^= ((unsigned long int)str[i] << ((i - a) * 8));
}

こういうことですよね?
これは"veryverylong"と"long"に同じhashが割り当てられるのが気持ち悪いんですよね.
そんな細かいこというなら「計算負荷が軽いもの」とか書くな!って言われそうですが・・・
結局,計算負荷とhashの一様性・予測不可能性がtrade offなんで
そこらへんの兼ね合いを皆さんどこで折り合いつけるのかなと思って聞いた次第です.
もちろん,hashの用途にもよるんですが・・・
って,最初からこう書けば良かったんですね.すいません.
0858デフォルトの名無しさんNGNG
>>856
> これだと4文字以上の同じprefix持っている文字列に
> 同じhashが割り振られるのが気持ち悪いんですよね.

違う。
気持ち悪いとかの問題じゃなくて、きちんと動作しない。

--- test.c ---
#include <stdio.h>

unsigned long int hash(const char *const key){ return *(unsigned long int *)key; }

char A[] = "AAAA";
char B[] = "BBBB";

int main(){
 char *Key = "X";
 strcpy(A, Key);
 strcpy(B, Key);
 printf("hash(\"%s\") -> %lx\n", A, hash(A));
 printf("hash(\"%s\") -> %lx\n", B, hash(B));
 return 0;
}

$ cc test.c
$ ./a.out
hash("X") -> 41410058
hash("X") -> 42420058
$

同じキーに対して違うハッシュ値が帰ってきたらまずいだろ。
0859デフォルトの名無しさんNGNG
>>858
はぁ?4文字要ると>>850に書いてあるだろう?
0860デフォルトの名無しさんNGNG
>>859
はぁ ?

俺が、>>850 = >>858 なんだけど。

>>856 が勘違いしてそうだから、>>850 の「三文字以下だとゴミが入るから注意してくれ。」のサンプルを書いただけだ。

もう少し落ち着いて書き込めよ。
0861デフォルトの名無しさんNGNG
>>860
>>858で自分が引用した文章を100辺読み直して、
「>>865はなにが気持ち悪いといっているのか?」
「>>858はなにが違うと考えているのか?」
という設問に答えられる程度の日本語力を身に着けてから出直してください。
0862デフォルトの名無しさんNGNG
>>861
> 「>>865はなにが気持ち悪いといっているのか?」

さあ ? 俺、予言者じゃねーからなぁ...。(藁
0863デフォルトの名無しさんNGNG
>>862
s/>>865/>>856/
0864デフォルトの名無しさんNGNG
ププッ。
0865デフォルトの名無しさんNGNG
>>861 に決まってるだろ。
0866デフォルトの名無しさんNGNG
>>849
自分はPerlかなんかからぶっこぬいて使ってる。
倫理的にはまずいだろうな…叩きレス付きそうな予感
0867デフォルトの名無しさんNGNG
>>857
それなら シフトや掛け算を追加するとかすりゃいいじゃない。

for(i = 0; i < l / 4; ++i){
hash *= 2689 ;
hash ^= ((unsigned long int *)str)[i];
}

>>860 >>857のコードはゴミは入らないと思うが?
ただ、高速にしたいなら、switchで別けて一度にやればいいのにと思うけど、
まあ、そうするとインディアン依存になってしまうしな。
0868849NGNG
なんか出張から帰ってきたら変な方向に・・・すいません.

850の意図もちゃんと理解したつもりです.
私が856で気持ち悪いといっているのは,850の方法では
たとえば"aaaabcde・・・"と"aaaazyxw・・・"に同じhashが振られるように,
先頭4文字でhashの値が決まるのが
気持ち悪い(用途によってはダメダメなhashになる)ということです.

850のような方法を知らない,あるいは一見してその意味を理解できなかったのは
まだまだ私の修行不足ってことでしょうね.がんばります.

>>867
そうですね.そんな感じに落ち着けるのが無難でしょうね.
最後2行に書いてあることがよく理解できないんですが,
こういう「詰めた実装」をやるための細かい工夫が勉強できるスレってないですかね?
0869デフォルトの名無しさんNGNG
最後だけ
hash ^= ((unsigned long int *)str)[l>>2] & tbl[ l & 3]

みたいに処理すれば速いよ って話だよ。
0870デフォルトの名無しさんNGNG
エクセルのファイルの中身を取り出したいんだけど、
エクセルのファイルを解説しているホームページとか本とか知らない?
英語のページなら見つけたんだけど、英語苦手で。
スレ違いなら無視してくれ。
0871デフォルトの名無しさんNGNG
素万。
誤爆だ。
0872デフォルトの名無しさんNGNG
2つの直線が交差する座標を知りたいのですが、
やり方を教えていただけませんか?
0873デフォルトの名無しさんNGNG
中学校の教科書を見直してください
0874デフォルトの名無しさんNGNG
>>872
直線は平面座標上では関数 y = ax + b だわな。
交点は2つの一次関数を方程式の形に置き
換えたときの、それぞれの連立方程式の解。
これは直線に限らない話。
0875デフォルトの名無しさんNGNG
>>874

x = a+td = A+TD
y = b+te = B+TE
という 状態からどう導けばよいのかわかりません。






0876デフォルトの名無しさんNGNG
多分何かを誤解してます。
平面上を十字に区切ったものが座標で y = ax+b のxは
水平な座標を、yは垂直な座標を指すのが慣例ですし、
その式だと x と y はどっちも同じ軸上の座標値を表してます。

まず a+td = b+te を変形して t = (a-b)/(e-d) です。
もう一度 x = a+td か y = b+te に、さっき出たt軸の値を
代入するともう片方の軸の座標値が帰ってくる、と。
0877デフォルトの名無しさんNGNG
>>875
普通の解釈では、tによる媒介変数表現で、交点も何も、1本の線しか描けない。

tが横軸、x,yが縦軸あるいは直線の式を表しているとするなら、
>>876 のように解けばよい。

もう一度、問題を見直すことをおすすめする。
0878デフォルトの名無しさんNGNG
>>875
ここ馬鹿ばっかりだな :-)

その方程式を解けばいい。
t d - T D = A - a
t e - T E = B - b
だから行列、
d (-D)
e (-E)
の逆行列
(1/(- Ed + De)) {{-E, D},{-e, d}}
を
A - a
B - b
に掛けると(t, T)がわかるので代入。
0879デフォルトの名無しさんNGNG
>>878
すみません、厨なのでまだ行列は習ってないとおもいます。

>>877
現在やりたいことは
A:321.801, 238.908
B:421.388, 229.832

C:266.647, 308.221
D:327.560, 228.913

点A,Bを通過する直線1と
点C,Dを通過する直線2が交差する座標を知りたいのです。
0880デフォルトの名無しさんNGNG
>>879
とてもレベルが低そうなので説明するのがだるい。
親切な数学系の掲示板で聞いたほうがいい。
0881デフォルトの名無しさんNGNG
>>879
まだ学校で習ってないからと言って逃げる奴はプログラマには向かない。
高校の教科書でも買ってきて読むくらいの事しろ。
とりあえず、ベクトルとか行列で調べてみろ。
ネットでもそこそこ解説してるところがあるはず。
0882デフォルトの名無しさんNGNG
緊張するなあ〜
0883デフォルトの名無しさんNGNG
>>879
大学生向けの中等数学(高校生が習う
レベルの数学)指導書でも買いなされ。
参考書はジャンル分けがいびつなので
高校生以外の人にとっては検索性が悪い。
0884デフォルトの名無しさんNGNG
べつに行列使う必要ないような
連立方程式解くだけでしょ
漏れがアフォなのかもしれんが、わざわざ媒介変数表示にしてる意味も良くワカラン
0885デフォルトの名無しさんNGNG
連立方程式を3回使えば中学生でも解けるけど、
パラメータとして4点の座標点を貰って計算する方法が
わからないぽ。誰か教えてぽ。
0886デフォルトの名無しさんNGNG
だめぽだな。高校数学からやり直そう。これ買うしかないな。
松坂和夫先生の『数学読本』 その2
http://science2.2ch.net/test/read.cgi/math/1068504263/76-83
0887デフォルトの名無しさんNGNG
http://www.iwanami.co.jp/.BOOKS/00/3/007781+.html
在庫切れになる前に買うしかないかのかな。しかし全部買うと16000円。
貧しい漏れにはつらひ。
0888デフォルトの名無しさんNGNG
松坂和夫先生の本はそんなにわかりやすいのですか?
細野真宏先生が良いという話も聞いたことがあるのですが、
両方知っていたら感想聞かせてください。

とりあえず、明日本屋に行ってみますが・・・
0889デフォルトの名無しさんNGNG
結局>878氏と同じ式になるのだが

 x = a+td = A+TD (1)
 y = b+te = B+TE (2)

この式からtをくくり出して2つのt=の式(3),(4)を作る。
(3) = t = (4)なので(3) = (4)という式(5)を作る。
式(5)からTをくくり出せばT=の式(6)が得られる。
これで終わり。
式(6)の分母が0かどうかを最初にチェックするのを忘れずに。
分母の値が0の場合、2直線は平行。
(6)の式で求めたTを使ってx,yを求めればよい。
0890デフォルトの名無しさんNGNG
ttp://www.f-team.org/setagaya/techmemo.html
の方が2001/04/23に書いておられるような
「凹な空間を凸な空間に分割する方法」を知りたい。
0891デフォルトの名無しさんNGNG
へこんだところを見つけたら、そこで分割してけばいいんじゃないの?
0892デフォルトの名無しさんNGNG
では、まずどうやって凹んでいるのかの判定から
0893デフォルトの名無しさんNGNG
角度で判定できるだろ。
0894デフォルトの名無しさんNGNG
輪ゴムを巻きつけて出来る図形上に無い点がへこんでる点さ
0895デフォルトの名無しさんNGNG
凹凸は二次微分で判定するんじゃないの?
0896デフォルトの名無しさんNGNG
2次元なら、三角形分割で凸な空間に分割できるよね。
3次元以上でも同じ考えで四面体に分割でいけるんじゃないの?
有限要素法方面調べれば、そんなの沢山みつかりそうだけど。

もっとも、三角形や四面体は、それなら「十分」という条件。
細かすぎるかも。計算量考えるともっと少ない分割にしたいわな。


0897デフォルトの名無しさんNGNG
ていうかPVSクリッピングの技術資料あされば出てきそうだが。
0898デフォルトの名無しさんNGNG
そのPVSとやらについて知らないのですが
「割と簡単に分割できることに気がついてがっかり。なんで今まで気がつかなかったんだろう...。
」
といえる程簡単なの?それとも彼は天才?
0899デフォルトの名無しさんNGNG
とにかく凹で分割してけばいいんだから凹見つけたら、
 その周辺で一番底を見つけて、
  底から一番遠い頂点を結んで、
   その線と垂直方向にいちばん近い頂点の3点で分割する

みたいな分割を繰り返してけば大丈夫じゃないの?
0900デフォルトの名無しさんNGNG
西暦y年1月1日が所属している週を第0週とした場合、
西暦y年m月d日が所属している週は、いったい第x週でしょうか?
ただし、週は日曜日から始まり土曜日で終わるとします

たとえば、西暦2004年がうるう年で1月1日が木曜日なら、
西暦2004年1月10日は第1週であり、
西暦2004年3月1日は第9週となることを
指を折って数えました

x = f(y,m,d) となるような計算式はどうなりますか?
0901デフォルトの名無しさんNGNG
どこの学校の宿題か教えてくれれば回答しないでもない
0902デフォルトの名無しさんNGNG
>>900
とりあえず Zeller の公式を引っ張ってくれば後は簡単。
0903デフォルトの名無しさんNGNG
ところで x→a  ってなんて読むの?


0904デフォルトの名無しさんNGNG
メルセンヌツイスターを誰か解説してください。
0905デフォルトの名無しさんNGNG
>903
x implies a
0906デフォルトの名無しさんNGNG
>>904
知ってると思いますけれど一応
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html

解説しろっていっても純粋数学を基礎としているので,ここに居る誰も解説できないだろうし
もし仮に解説されてもあなたも恐らく理解できないと思います.
Cに標準でくっついてくるrandより長周期でかつ一様性(特に高次元での一様性)の高い
乱数ルーチンとしか言いようが無いです.

ついでに質問投げておきますが,今現在sineあるいはcosineの数値計算をする上で
一番使われている(連分数)展開公式ってどれですか?
0907デフォルトの名無しさんNGNG
>905
 レス、サンクス。
 連休を利用して、数学をやり直してます。
 細野とはじめからていねいにシリーズを使ってる。
 記号の読み方ってわからないのが多いな。難しい・・・。
0908デフォルトの名無しさんNGNG
>>904
ホームページにのってる簡単な解説だ。とりあえず読んでみれ。
http://www.math.sci.hiroshima-u.ac.jp/%7Em-mat/MT/math.html
0909デフォルトの名無しさんNGNG
>>907
細野なつかしいな。大学受験でおせわになったよ。
0910デフォルトの名無しさんNGNG
pc関係詳しい方!
ぜひこの暗号解けないものでしょうか!?

325argf493rdtr521styh075artg625agfa113ller041fsre.2122ffj7343qer7813fda
0911デフォルトの名無しさんNGNG
>>910
マルチ氏ね。
0912デフォルトの名無しさんNGNG
>>910
#include<MMR.h>
#include<iostream.h>
int main(void){
  cout<<MMR("325argf493rdtr521styh075artg625agfa113ller041fsre.2122ffj7343qer7813fda");
  return(0);
}
MMRライブラリが必要だから落としてこい。
0913デフォルトの名無しさんNGNG
なんだそのMMRライブラリってのは
ちょっとほしくなってきたぞ
0914デフォルトの名無しさんNGNG
きっと出力は「なんだってー!ΩΩΩ」だぞ
0915デフォルトの名無しさんNGNG
http://pc5.2ch.net/test/read.cgi/tech/1045224980/570-572
あったな
0916デフォルトの名無しさんNGNG
保守
0917デフォルトの名無しさんNGNG
フーリエ変換によってバンドパスフィルタを作りたいのですが、変換した複素数
の扱いかたがわかりません。
高校の数学でアップアップなので、参考書が難しいのです。
たとえば、ある波形をフーリエ変換して、その結果が
struct {
double *x;
double *yi;
} cmprx;
のような構造体に入ったとして、500Hzから1000Hzのバンドパスフィルタを作る
にはどのような計算をすればいいのでしょうか?
0918デフォルトの名無しさんNGNG
有向ハミルトン経路のアルゴリズムがわかりません
0919デフォルトの名無しさんNGNG
引き算がわかりません
0920デフォルトの名無しさんNGNG
>>918
知識をひけらかすために書き込みすんな。
http://www5.ocn.ne.jp/~report/news/dnacom.htm
0921デフォルトの名無しさんNGNG
>>917
フーリエ変換でという事になると、データ全体が収まっているのですよね?
でしたら、フーリエ変換した周波数軸上で、500〜1000以外の全部の値をゼロ(複素数なので実も虚も)にしてしまえば良いのです。

もし、データーをブロック処理したいなら、そればFIRフィルタを理解しなければなりません。
0922デフォルトの名無しさんNGNG
 
0923デフォルトの名無しさんNGNG
923
0924デフォルトの名無しさんNGNG
10^(-2.0+0.4*x)
=(10^-2.0)*(10^0.4*x)
=0.01*{10^(4/10)*x}
=0.01*(10^4)*(10^1/10)*(10^x)

でいいんですか?
0925デフォルトの名無しさんNGNG
>924 ('A`)イクナイ
0926デフォルトの名無しさんNGNG
>>924
マルチ?
0927デフォルトの名無しさんNGNG
>926
セリオ?
0928デフォルトの名無しさんNGNG
素因数分解のアルゴリズム(特に数体ふるい)を比較的分かりやすく
説明しているサイトを教えてください>_<;
0929デフォルトの名無しさんNGNG
素因数分解とエラストテネスでググル以上の情報源がある?
0930デフォルトの名無しさんNGNG
「3次の平滑化スプライン」と「3次式に適用する最小2乗法」は、
同じことなのですか?
(ごめんageさせて)
0931デフォルトの名無しさんNGNG
違います
0932930NGNG
はぁ、やっぱそうか。勉強するか...
0933デフォルトの名無しさんNGNG
エラトステネスの呪い
0934デフォルトの名無しさんNGNG
((;゚Д゚)
0935デフォルトの名無しさんNGNG
>930
同じです
0936930NGNG
ごめん、再びageさせて。
>>931
>>935
んんんー、どっちなの?
同じに思えてしかたがないんです。
0937930NGNG
ついでに質問なんですけど、
ttp://eritokyo.jp/system/spline/
にあるような2次元スプライン補間システムって、
横にスプライン補間かけてから、縦にスプライン補間かければいいのですか?
(またはその逆で縦にかけてから、横にかける)
0938デフォルトの名無しさんNGNG
どちらも、細分された区間毎に3次式で内挿するものなので、
必要とされる手法・知識はほぼ共通ですねー。
ただ、「平滑化スプライン」の方は、区間の境界をなめらかにする
ために、微分係数を調整することが違うといえば違うかな。
微分係数というと難しく聞こえるけど、ただの連立2次式だから
最小二乗法を知ってる人なら楽勝よ。
0939デフォルトの名無しさんNGNG
z=ax**3+bx**2+cx+dy**3+ey**2+fy+gを最小自乗ですねー。
実際には直交のポリラインにする事が多いからf(x),g(y)で使う。
弱点は、上への関数しか扱えないこと(山腹にある洞窟は不可)。
0940930NGNG
>>938 >>939 どうもレスありがとうございます、ちょっとホッとしました。
0941デフォルトの名無しさんNGNG
cosθ= a・b / |a| |b| でなす角を求められる訳ですが、
0°<=θ<=360°の範囲で求めたい。
外積使おうとしても同じ結果だし、
どんな方法が有りますか。
0942デフォルトの名無しさんNGNG
atan2(y,x)使えば解決しそう。
0943デフォルトの名無しさんNGNG
高校生の教科書読めよ。
0944デフォルトの名無しさんNGNG
>941
http://pc5.2ch.net/test/read.cgi/tech/1090227743/246-
まさにその話題。
0945デフォルトの名無しさんNGNG
950越えると一定日数で落ちてしまうので、新スレ必要なら >>950建てて下さい。
0946デフォルトの名無しさんNGNG
そうなの?
ふつうにacos(a・b / |a| |b|)かと思ったが
0947デフォルトの名無しさんNGNG
>>941
向きも考慮したい(a と b の位置関係が逆になったら角度も逆にしたい)ってこと?

a, b を複素数とみなして、
a' = a / |a|, b' = b / |b|
c = b' / a'
θ = atan2(Im(c), Re(c))

で、-180<θ≦180 の範囲で角度が出る。

>>946
それだけと、角度向きが分からない。
0948デフォルトの名無しさんNGNG
>>947
c = a / b で十分。余計な乗除算は時間の無駄。
しかも範囲は -2π<θ≦2π になる。ラジアンだから。
0949デフォルトの名無しさんNGNG
>>948
細かいこというなら
a = ax + i ay, b = bx + i by として、
c = a / b * |b| = (ax bx + ay * by) + i(ax * by - ay * bx)
とした方が計算コスト低いけどな。
0950デフォルトの名無しさんNGNG
レスありがとうございました
ベクトルを1つずつ0度からの角度をatan2で求めてその差から
求めました。
c = b/a って何を意味するものなんでしょう?
割る事による図形的な意味が分からない。。。
949さんの仰る計算コストという点で自分のしたやり方は無駄が多そうな。というか、絶対そう。
0951デフォルトの名無しさんNGNG
ん、二次元でいいわけね。

>950
複素平面上で考えるといい。
複素数の割り算が極座標形式でどうなるかということ
0952デフォルトの名無しさんNGNG
>>950
次スレたてて
0953デフォルトの名無しさんNGNG
>>950
複素数勉強しる。

一応、複素数の知識無しで説明しとくと、
a = (ax, ay), b = (bx, by)、θ = ∠AOB とすると、
ax * bx + ay * by = |a| |b| cosθ
ax * by - ay * bx = |a| |b| sinθ

θ = atan2(sinθ, cosθ)
  = atan2(|a| |b| sinθ, |a| |b| cosθ)
  = atan2(ax * by - ay * bx, ax * bx + ay * by)
0954デフォルトの名無しさんNGNG
3Dプログラミングとか見てると
行列とかベクトルってのが出てくるのですが
これらは何なのでしょうか?
0955デフォルトの名無しさんNGNG
>>954
行列:集合
ベクトル:行列の向き
0956デフォルトの名無しさんNGNG
>954
大体の感じだが、

ベクトルというのは、空間座標の点
っで、ベクトルに行列を掛けた結果は、
その点の移動(ある平面に関する対象点や、回転、平面への射影など)後の
点の座標を表していると考えればいいんじゃないかな?
0957デフォルトの名無しさんNGNG
>>951 >>953
わかりやすい解説ありがとうございました。m(_ _)m
みなさんのやってたやり方って3Dの計算だったんだ。
2D前提で勝手に思い込んでました。
>>952
スレの立て方がわからない〜。
役立たずですみません。ぐはっ。
0958デフォルトの名無しさんNGNG
新スレ立ちました。
プログラミングの為の数学と算数 vol.2
http://pc5.2ch.net/test/read.cgi/tech/1094368921/l50
0959デフォルトの名無しさんNGNG
>>957
貴様関連の話は全部2Dだっつーの。
0960デフォルトの名無しさんNGNG
960
0961デフォルトの名無しさんNGNG
天寿をまっとうさせる為にあげます。
0962デフォルトの名無しさんNGNG
962
0963デフォルトの名無しさんNGNG
963
0964デフォルトの名無しさんNGNG
964
0965デフォルトの名無しさんNGNG
おまえら、いくら算数スレだからって、数字書くだけで満足なのか?
0966デフォルトの名無しさんNGNG
>>965
まあ、所詮は埋立て作業だし。
0967デフォルトの名無しさんNGNG
埋めるだけのためのレスを40も使うスレが良スレなのかと(ry
0968デフォルトの名無しさんNGNG
数学板行ったら>>962-964みたいなレスがいっぱいだよ。
0969デフォルトの名無しさんNGNG
>>968
その前後に()とか�@とか√とか+-×÷とか記号が並んでなかったかえ?
0970デフォルトの名無しさんNGNG
970
0971デフォルトの名無しさんNGNG
>>970
うれしそうだな
0972デフォルトの名無しさんNGNG
>>969
いや、それは違うと思うがな。
0973デフォルトの名無しさんNGNG
973
0974デフォルトの名無しさんNGNG
スレが可愛想。
0975デフォルトの名無しさんNGNG
厨房率高い板だと、950以降は無意味なAAばかりで埋まってくもんなんだけど。
この板って結構1000レス近くまでまともに利用されることが多いよな。
0976デフォルトの名無しさんNGNG
975
0977デフォルトの名無しさんNGNG
977
0978デフォルトの名無しさんNGNG
978
0979デフォルトの名無しさんNGNG
979
0980デフォルトの名無しさんNGNG
980
0981デフォルトの名無しさんNGNG
>>975
この板も厨房率高いけど、厨房とそうでない香具師の棲み分けが
一応成り立ってるのが大きいかも。
0982デフォルトの名無しさんNGNG
数学板の過疎スレってこんなんだろ。
http://science3.2ch.net/test/read.cgi/math/1076139772/100-
0983デフォルトの名無しさんNGNG
気付けばこのスレ2001年から立ってるね。乙
0984デフォルトの名無しさんNGNG
984。
0985デフォルトの名無しさんNGNG
985。
0986デフォルトの名無しさんNGNG
986。
0987デフォルトの名無しさんNGNG
987。
0988988NGNG
無意味にカウントアップするスレはここですか?
0989デフォルトの名無しさんNGNG
poooooooooooooooooooo!!
0990デフォルトの名無しさんNGNG
残り10だ。さっさと埋めろ。
0991デフォルトの名無しさんNGNG
991
0992デフォルトの名無しさんNGNG
992
0993993NGNG
993
0994デフォルトの名無しさんNGNG
994
0995デフォルトの名無しさんNGNG
995
0996デフォルトの名無しさんNGNG
996
0997デフォルトの名無しさんNGNG
997
0998デフォルトの名無しさんNGNG
998
0999デフォルトの名無しさんNGNG
999
1000デフォルトの名無しさんNGNG
1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。