トップページに戻る    次のC++のサンプルへ    前のC++のサンプルへ

Problem9 a+b+c=1000となるピタゴラス数

問題

ピタゴラスの3つ組(ピタゴラスの定理を満たす自然数)とはa<b<cで
a*a + b*b = c*c を満たす数の組である

例えば 3*3+4*4 = 9+16 = 25 = 5*5である

a+b+c=1000となるピタゴラスの3つ組が1つだけ存在する。このa,b,cの積を計算しなさい


ソース

#include <stdio.h>

void main()
{
    for(int a=1; a<=1000; a++){
        for(int b=a; b<=1000; b++) {
            int c = 1000 - a - b;
            if (a * a + b * b == c * c) {
                printf("%d * %d + %d * %d = %d * %d = %d\n",a,a,b,b,c,c,c*c);
                return;
            }
        }
    }
}


実行結果

200*200 + 375*375 = 425*425 = 180625


解説

for文で全ての組み合わせを調べてます。