回答編集履歴

1

一部説明追加

2019/10/12 23:55

投稿

thkana
thkana

スコア7652

test CHANGED
@@ -30,7 +30,11 @@
30
30
 
31
31
  標準で提供されるような関数は十分に「揉まれて」いて、特別な条件下でなければ小手先の対策で高速になったりはなかなかしません...それで計算が簡単になるかというとちょっと疑問な点がありますが、とにかくその方針で計算するなら、
32
32
 
33
- 途中のwは整数の範囲に収まらない可能性があります(aの1/2乗が出てくるので)。wを浮動小数点型にする必要があるでしょう。
33
+ 途中のwは整数の範囲に収まらない可能性があります(aの1/2乗が出てくるので)。wを浮動小数点型にする必要があるでしょう。そうすると、関数の戻りの型がintでここが同様の不整合になりますから、戻す時に
34
+
35
+ `return (int)(w*w);`
36
+
37
+ などと明示的にintに変換してやる必要がでてきます。
34
38
 
35
39
 
36
40