マツケンのマインド

とある理系大学生のブログです。基本は勉強とつぶやきとまとめです。

プロジェクトオイラー 問題9

久しぶりです!先週分に関しては、大学が始まって一週目ということもあり、バリ忙しかったです...

遅れましたが、書きます!

今回の問題↓
Problem 9 - PukiWiki

<アルゴリズム>
・素直に問題通りにプログラムを組んでいく。
・計算量を減らすためにa、b、cのとりうる値で制限する。
・<ソースコード>

#include <stdio.h>
#include <time.h>

int main(void){
	int a, b, c;//問題中の三つの変数
	clock_t start_clock, end_clock;

	start_clock = clock();
	for(a = 1; a < 333; a++)//条件からaは333より小さいことが考えられる
		for(b = a + 1; b < 500; b++){//条件より、bは500よりも小さいことが考えられる
		    c = 1000 - a - b;
		    if (c > b && a * a + b * b == c * c) printf("求める解は %d \n", a * b * c);
		}

	end_clock = clock();
    printf("かかった時間%f秒\n", (double)(end_clock - start_clock) / CLOCKS_PER_SEC);
	return 0;
}

<実行結果>

求める解は 31875000 
かかった時間0.001000秒

クリア!