C言語なら俺に聞け(入門篇) Part 19
■ このスレッドは過去ログ倉庫に格納されています
0691デフォルトの名無しさん
2007/10/09(火) 22:01:588の平方根として2√2を出したい場合もあると思います。
8ならば
x[2]={1,8};
for(i=2; i*i <= x[1]; i++)
if(!x[1]%(i*i)){
x[0] *= i;
x[1] /= i*i;
}
printf("square root of 8 = %d",x[0]);
if(x[1]!=1) printf("√%d",x[1]);
これでいいとは思いますが、
例えば√0.02=0.1√2だとか、√1.6=0.4√10などの式変形をしたい場合、
どのようにすればよいのでしょうか。
変形が一意的に定まらない場合もありますが(0.4√10=4√0.1とか)、
とりあえずはルートの中身が平方数でない整数、という条件でお願いします。
(もしくは他の規則でも構いませんが)
■ このスレッドは過去ログ倉庫に格納されています