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

prob8-1

a,b,cを、いずれも1以上100以下の整数とするとき、aa+bb=c*cを満たす、全てのa,b,cの組み合わせ全てと、その数を求め、画面に表示しなさい。ただし、a,bの数値の組み合わせが同じものも別のものとしてもかまわない。具体的には、a=3,b=4,c=5と、a=4,b=3,c=5は別の組み合わせとする。

考え方のポイント

  1. aが1、bが1、cが1~100の時
  2. aが1、bが1~100、cが1~100の時
  3. aが1~100、bが1~100、cが1~100の時
  4. 三重のforを使って解きます

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

namespace prob8_1 { 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 * i + j * j == k * k) { Console.WriteLine("a={0},b={1},c={2}", i, j, k); kazu++; } } } } Console.WriteLine("数は{0}個", kazu); } } }

このプログラムの答えは長いので書けませんが、数は104個 となりました。