一週間で身につくc#の勉強中18

久しぶりにc#の勉強。以前のコードは全て手探り状態でどうにか仕上げたのでもう一度チャレンジ。

独習 c# 第3版 という ハーバート・シルト さんの書いた本で勉強したので少しはきれいなコードが書けるのではないかな。分厚い本でまだまだ途中だけどここまで奥深くc#言語を理解している人はいないかも、と思える内容です。難しくて理解できないところも沢山あって抜かしながら読んでいるのですが、何となく真似して書いていたコードの意味がはっきりわかるようになってきました。

ということで、

prob8-1.(ピタゴラス数)

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

using System;

namespace prob8_1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a, b, c,goukei;
            for(a = 1; a < 101; a++)
            {
                for (b = 1; b < 101; b++)
                {
                    goukei = a * a + b * b;
                    for (c = 1; c < 101; c++)
                    {
                        if (goukei / c == c & goukei % c == 0)
                        {
                            Console.WriteLine($"a={a},b={b},c={c}");
                        }
                    }
                    
                }
            }
        }
    }
}

19行目の書き方は Console.WriteLine("a={0},b={2},c={3}",a,b,c)と同じですが $ を付けると{}の中に直接変数を入れることができます。