优化前:
for(a=1;a<=100;a++)
for(b=a+1;b<=100;b++)
for(c=b+1;c<=100;c++)
if(c*c=a*a+b*b)
优化后:
for(a=1;a<=100;a++)
for(b=a+1;b<=100;b++)
{
c=(int)sqrt(a*a+b*b);
if(c*c=a*a+b*b&&a+b>c&&a+c>b&&b+c>a&&c<=100)
}
问题拓展:
第一套路:
当a为大于一的奇数2n+1,b=2n^2+2n,c=2n^2+2n+1。
第二套路:
当a为大于4的偶数2n时,b=n^2-1,c=n^2+1。