どーも、みつおです。
問題
ピタゴラス数(ピタゴラスの定理を満たす自然数)とは 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


コメント