読者です 読者をやめる 読者になる 読者になる

メモ

yukicoderで遊んでいる競プロゆるふわ勢

yukicoder No.89 どんどんドーナツどーんといこう!

問題はこちら
No.89 どんどんドーナツどーんといこう! - yukicoder

パップス=ギュルダンの定理 - Wikipedia
これによれば、回転体の体積は、「動いたものの面積」×「重心の移動距離」で求まる

ドーナツ型は、円を、その円を通らず同一平面上にある直線で回転させたもの
元の円の半径はr:=(Rout-Rin)/2
回転半径はRin+r
なので求める体積は
(r*r*π)*2*π*(Rin+r)
=(Rout-Rin)^2*(Rout+Rin)*π^2/4
で、πの値はたしかacos(1)*…なんだっけ?
ええい定数は埋め込んでしまえ

int main(){
	int a,b,c;
	scanf("%d%d%d",&c,&a,&b);
	printf("%f",c*(b*b-a*a)*(b-a)*2.46740110027);
	return 0;
}

要求誤差がゆるいので、定数は適当な桁数でやめる

a,b;main(c){a=scanf("%d%d%d",&c,&a,&b)>printf("%f",c*(b*b-a*a)*(b-a)*2.4674);}