どーも、みつおです。
問題
ピタゴラス数(ピタゴラスの定理を満たす自然数)とは a < b < c で以下の式を満たす数の組である.
a^2 + b^2 = c^2例えば, 32 + 42 = 9 + 16 = 25 = 52 である.
a + b + c = 1000 となるピタゴラスの三つ組が一つだけ存在する.
これらの積 abc を計算しなさい.出典:Problem9
解答
using System; namespace Problem9 { class Program { static void Main(string[] args) { Console.WriteLine(Solve()); Console.ReadLine(); } static double Solve() { //aのループ for (int a = 0; a < 1000; a++) { //bのループ for (int b = 0; b < 1000; b++) { //a^2+b^2の計算 double product = a * a + b * b; //c^2 = a^2 + b^2から√cの値を求める double c = Math.Sqrt(product); // a < b < c かつ a + b + c == 1000を判定 マッチすれば、積 abc を返す if (a < b && b < c && (a + b + c == 1000)) return a * b * c; } } return 0; } } }
出力
31875000