計算速度をはやくするには
問題 a^5 + b^5 + c^5 + d^5 = e^5 が成立する場合のa,b,c,d,eを計算するプログラムを作成したのですが、処理速度が30秒もかかってしまいます。
どこを変更、または何を追加すれば速くなるか教えてください。
条件は a < b < c < d < e
a,b,c,d,e, < 200 です。
どうかご教授お願いします。
#include <stdio.h>
int main (void)
{
int a,b,c,d,e ;
double A5,B5,C5,D5,E5;
for(a = 1; a <= 195 ; a++ )
{
A5 = a * a * a * a * (double)a ;
for(b = a+1; b <= 196 ; b++ )
{
B5 = b * b * b * b * (double)b ;
for(c = b+1; c <= 197 ; c++ )
{
C5 = c * c * c * c * (double)c ;
for(d = c+1; d <= 198 ; d++ )
{
D5 = d * d * d * d * (double)d ;
for(e = d+1; e <= 199 ; e++ )
{
E5 = e * e * e * e * (double)e ;
if((A5 + B5 + C5 + D5 ) == E5)
{
printf("a=%d,b=%d,c=%d,d=%d,e=%d\n",a,b,c,d,e);
printf("a^5=%.0lf,b^5=%.0lf,c^5=%.0lf,d^5=%.0lf,e^5=%.0lf\n",A5,B5,C5,D5,E5);
}
}
}
}
}
}
return 0;
}
お礼
早速ありがとうございました!やっとどこで間違えてたか分かりました!