動機
AtCoderというところで合っているはずなのに不正解と言われていた。
そう、表示させる桁数が足らなかったのである。(実際のところはコードミス)
なので、表示できる桁数を増やそう。
コード
コードを書く上で参考にしたサイトは以下の通りです。
EZ-NET: std::cout で出力する書式を指定する - C++ プログラミング
【C++】小数点の桁数を指定する方法と注意点【cout/iostream】 | MaryCore
ちなみに「C++ マニピュレータ 桁数」で検索すれば、欲しい情報がいろいろ出てきます。
#include <iostream>
int main()
{
int N = 0;
std::cin >> N;
float fN = N;
std::cout.setf(std::ios::fixed, std::ios::floatfield);
std::cout.precision(16);
float answer = fN * fN * fN / 27.0f;
std::cout << answer << "\n";
return 0;
}
#include <iostream>
#include <iomanip>
int main()
{
int N = 0;
std::cin >> N;
float fN = N;
float answer = fN * fN * fN / 27.0f;
std::cout << std::fixed;
std::cout << std::setprecision(16) << answer << "\n";
return 0;
}
ちなみにC言語の場合
std::coutではなくprintfでやる場合はこんな感じで出来ると思います。
#include <iostream>
int main()
{
int N = 0;
std::cin >> N;
float fN = N;
float answer = fN * fN * fN / 27.0f;
printf("%.32f", answer);
return 0;
}