一週間で身につくC# の勉強中2

prob8-2.

a,b,cを、いずれも1以上100以下の整数とするとき、aa+bb=c*cを満たす、重複を取り除いたa,b,c組み合わせと、その数を表示するプログラムを作りなさい。具体的には、a=3,b=4,c=5と、a=4,b=3,c=5は同じものとみなす。

考え方のポイント

aa+bb=c*cにおいてa<bの時とb>aの時で重複が起こるのでa<bの場合だけ書き出す

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

namespace prob8_2 { class Program { static void Main(string[] args) { int kazu = 0; for (int i = 1; i < 101; i++) { for (int j = 1; j < 101; j++) { for (int k = 1; k < 101; k++) { if (i < j) { if (i * i + j * j == k * k) { Console.WriteLine("a={0},b={1},c={2}", i, j, k); kazu++; } } } } } Console.WriteLine("数は{0}個", kazu); } } }

実行結果は長いので省略しますが 数は52個になりました。